安卓怎麼看按鈕綁定的函數
A. 瀏覽器怎麼看點擊一個按鈕,執行的哪段函數
使用谷歌瀏覽器,按f12,點擊猜談裂network,點擊按鈕就會顯示你訪問的路侍核徑。如果你點擊不是ajax的話,穗閉在地址欄就能看到
B. android中一組按鈕共用一個點擊按鈕函數,怎麼在這個函數裡面判斷所點擊的是哪個按鈕
按鈕點擊函數中有的參數iew,通過view。findid去找到對應的按鈕。
C. 怎麼知道點一個按鈕後運行了哪個JS函數
你好,比如<html>
<head>
<script language="javascript"友拍>
function a()
{
這裡面就可以寫你想要的效果
}
</script>
</head><body>
<form action="" method="post">
<input type="神告賣button" onclick="a()"/>
</form>
</body>游逗
</html>按鈕buttion 給定了一個a()的單擊事件,在JavaScript代碼只要 寫function a() 就可以找到指定的,以此類推 如果是按鈕2 button2 只需要給定單擊事件 onclick="b()" 然後JavaScript代碼 的function後面跟b()就行了
D. Android中如何在布局文件中為組件綁定點擊事件
在Android中為組件綁定點擊事件的方式可以分為四種,
1、 在xml布局文件中,定義onclick的方式
<!—第一步在XML文件中給對應組件添加Onclick屬性-->
<Button
android:id="@+id/submitbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:onClick="buttonClickHandle"
android:layout_alignParentTop="true"
android:text="提交" />
//第二步在對應的Activity中創建一個與onClick屬性值相同的方法,並傳入一個View參數,當Button被點擊時就會回調這個方法。
public void buttonClickHandle(View view) {
Snackbar.make(coordinatorLayout, "你點擊了Button", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
另外三種綁定點擊事件的方式實際上就是通過組件調用setOnClickListener()的方法,下面我們就來看一下這個方法的源碼。
/**
* Register a callback to be invoked when this view is clicked. If this view is not
* clickable, it becomes clickable.
*
* @param l The callback that will run
*
* @see #setClickable(boolean)
*/
public void setOnClickListener(@Nullable OnClickListener l) {
if (!isClickable()) {
setClickable(true);
}
getListenerInfo().mOnClickListener = l;
}
根據源碼我們可以看到這個方法中需要一個OnClickListener的對象。下面我們就來看看這個OnClickListener對象是個什麼東東。
/**
* Interface definition for a callback to be invoked when a view is clicked.
*/
public interface OnClickListener {
/**
* Called when a view has been clicked.
*
* @param v The view that was clicked.
*/
void onClick(View v);
}
根據源碼我們可以看到實際上這個OnClickListener就是一個介面,這個介面中有一個onClick的抽象方法。所以我們在創建這個OnClickListener對象是還需要實現這個抽象方法。這個onClick的抽象方法實際上就是當我們點擊按鈕後會回調的方法。我們對於點擊事件的響應處理就在這個方法中進行。
現在我們已經了解了設置點擊事件的setOnClickListener方法,根據我們如何創建這個方法中的OnClickListener對象,我們設置點擊事件的方式可以分為如下三種:
1、內部類的形式
a. package com.example.hsport.catalog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private CoordinatorLayout coordinatorLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
// 獲取button對象
Button button = (Button) findViewById(R.id.submitbutton);
//創建內部類的實例
MyListener myListener = new MyListener();
//設置button的點擊事件,將實現OnClickListener介面的內部類實例傳入到setOnClickListener方法中
button.setOnClickListener(myListener);
}
//創建一個內部類實現View.OnClickListener介面,並實現其onClick方法
private class MyListener implements View.OnClickListener {
@Override
public void onClick(View v) {
Snackbar.make(coordinatorLayout, "你點擊了Button", Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
}
}
2、 匿名內部類的方式
package com.example.hsport.catalog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private CoordinatorLayout coordinatorLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
//獲取Button對象
Button button = (Button) findViewById(R.id.submitbutton);
//以創建一個View.OnClickListener的匿名內部類,並實現它的onClick方法
button.setOnClickListener(new View.OnClickListener() {
//在onClick方法中我們就可以設置button的響應代碼了
@Override
public void onClick(View v) {
Snackbar.make(coordinatorLayout, "你點擊了Button",Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
});
}
3、 讓主類實現OnClickListener介面,然後再主類實現未實現的方法
package com.example.hsport.catalog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private CoordinatorLayout coordinatorLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
//獲取Button對象
Button button = (Button) findViewById(R.id.submitbutton);
//因為我們讓MainActivity實現了View.OnClickListener這個介面,所以setOnClickListener方法中的參數直接傳入this即可。
button.setOnClickListener(this);
}
//因為MainActivity實現了View.OnClickListener介面,所以在MainActivity中還有要實現該介面中改的onClick方法來處理點擊事件。
@Override
public void onClick(View v) {
Snackbar.make(coordinatorLayout, "你點擊了Button",Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
}
關於如何給組件綁定點擊事件,是Android中的基礎知識,如果你還想更加詳細的了解,推薦你可以去一個叫做秒秒學的教程網站看看,夯實下基礎。
E. 如何快速定位Android APP中的關鍵函數
需求來源
在逆向分析中,肯定是越快地定位到目標函數越好,那麼有沒有這樣的一種工具可以快速地輔助分析人員定位到目標函數呢?
最早的一個毀野想法是這樣的:
- 通過某種機制讓APP輸出函數調用時候的日誌記錄。
- APP在運行的時候可能會輸出很多條記錄,而目標函數的調用也會被淹沒在日誌的大海里,如何定位出來?
- 打開APP,但是不執行目標功能,得到橡攔日誌記錄A。
- 執行目標功能,這時候得到日誌記錄B。
- 如果把日誌A記錄梁余胡設置為白名單,執行過濾,B過濾A,得到日誌A,那麼F可能會有目標函數的調用記錄。
- 如果F中得不到目標函數,說明在得到記錄A時,目標函數可能已經執行過了(線程的方式)。
- 如果過濾後的F日誌仍然是一個海量數據,那麼重復執行目標功能N次,分別得到B2,B3……Bn,並過濾A日誌,分別得到過濾後的日誌F2,F3……Fn,然後再過濾出被剛好執行了N次的函數。那麼這個結果就很可能會比較小了。
F. Android Studio如何查看資源或者函數在哪些類中被引用
有3種方式可以查看資源或者函數在哪些類中被引用:高核
1、快捷鍵:Ctrl+G,這種方法最簡單,其實這邊這個快捷鍵就是對應Eclipse中的Ctrl+Shift+G
2、快捷鍵: Ctrl+Alt+Shift+F7,這個方法是第一種方法的復雜版,你可以在彈出的對話框中進行一些選擇
3、快捷鍵:Ctrl+H,這唯老個就是就是搜索功能了,Find in path。
註:當然也可以設置成滑鼠操作的快捷鍵,如下圖,選擇第二項,然後在彈出的對話框指念升中選擇即可: