IntelliJ IDEA使應(yīng)用程序交互

2018-03-27 09:54 更新

應(yīng)用程序交互

上一節(jié)內(nèi)容中,我們介紹了一個(gè) IntelliJ IDEA 示例 HelloDroid 應(yīng)用程序,雖然我們的示例應(yīng)用程序在這一點(diǎn)上功能完整,但它不支持任何形式的交互。要使應(yīng)用程序支持點(diǎn)擊事件,您需要編輯 src 文件夾中定義的 HelloDroid 類。

1.打開MyActivity類

在項(xiàng)目(Project)視圖中,找到該 src | com.example.HelloDroid 文件夾下的 HelloDroid.java 文件并單擊它:

IntelliJ IDEA使應(yīng)用程序交互

2.添加對視覺元素的引用

在 Android 系統(tǒng)中,您需要明確獲取對可視元素的引用,以便以編程方式對它們進(jìn)行操作。您需要在活動(dòng)類上定義私有成員以容納這些引用,然后在從 onCreate 內(nèi)部調(diào)用的新創(chuàng)建的方法中初始化這些成員。

  1. 將以下代碼添加到 HelloDroid 類中:
    private TextView message;
    private ImageView droid;
  2. 在 OnCreate 中添加一個(gè)稱為 InitializeApp 的新方法的調(diào)用。IntelliJ IDEA 會(huì)立即檢測到此方法丟失,并建議為您生成該方法:
    IntelliJ IDEA使應(yīng)用程序交互
  3. 在該 InitializeApp 方法中,為私有成員分配對可視元素的引用:
    message = (TextView) findViewById(R.id.message);
    droid = (ImageView) findViewById(R.id.imageView);
    該表達(dá)式 R.id.xxx 表示自動(dòng)生成的 R 類的成員。

3.添加一個(gè)事件處理程序

在應(yīng)用程序中,沒有事件和事件處理程序,就不可能進(jìn)行交互。舉個(gè)例子,讓我們添加一個(gè)點(diǎn)擊處理程序到 droid 圖像視圖,并在用戶每次觸摸圖像時(shí)顯示一條消息。

在 Java 中,事件處理程序采用以下形式:

private View.OnClickListener droidTapListener;

將該成員添加到 HelloDroid 類中并在該 InitializeApp 方法中對其進(jìn)行初始化。您的代碼現(xiàn)在應(yīng)該看起來如下所示:

private void InitializeApp() {
message = (TextView) findViewById(R.id.message);
droid = (ImageView) findViewById(R.id.imageView);

// Define and attach listeners
droidTapListener = new View.OnClickListener()  {
public void onClick(View v) {
TapDroid();
}
};
droid.setOnClickListener(droidTapListener);
}

這段代碼的凈效果是,每次用戶點(diǎn)擊圖像時(shí),都會(huì)調(diào)用該 TapDroid 方法。

4.處理“Click”事件

  1. 該 TapDroid 方法只計(jì)算用戶觸摸圖像的時(shí)間,并顯示一條消息。您需要向 HelloDroid 類添加新的私有成員以統(tǒng)計(jì)點(diǎn)擊次數(shù):
    public class MyActivity extends Activity
    {
    private TextView message;
    private ImageView droid;
    private View.OnClickListener droidTapListener;
    private int counter = 0;
    
    // More code goes here ...
    }
  2. 接下來,定義如下所示的 TapDroid 方法:
    private void TapDroid() {
    counter++;
    String temp;
    switch (counter)
    {
    case 1:
    temp = "once";
    break;
    case 2:
    temp = "twice";
    break;
    default:
    temp = String.format("%d times", counter);
    }
    message.setText(String.format("You touched the droid %s", temp));
    }

5.構(gòu)建應(yīng)用程序并在設(shè)備上啟動(dòng)它

您的示例應(yīng)用程序現(xiàn)在已經(jīng)完成。您可以構(gòu)建并將其部署到 Android 設(shè)備。

  1. 創(chuàng)建運(yùn)行/調(diào)試配置并在目標(biāo)設(shè)備下選擇 USB 設(shè)備。
  2. 通過 USB 電纜將 Android 設(shè)備連接到計(jì)算機(jī)。如果設(shè)備第一次連接,請等到所有驅(qū)動(dòng)程序安裝完畢。
  3. 如果這是您第一次在 Android 應(yīng)用程序存儲(chǔ)外部署應(yīng)用程序,請?jiān)谀脑O(shè)備上啟用 USB 調(diào)試模式。在 Android 4.2 或更高版本上,請執(zhí)行以下操作:
    • 打開設(shè)備的設(shè)置。
    • 滾動(dòng)到“關(guān)于手機(jī)(About phone)”或“關(guān)于平板電腦(About tablet)”,然后點(diǎn)擊它。
    • 滾動(dòng)到底部并點(diǎn)擊 Build number 7次,直到您看到“您是開發(fā)人員!” 信息。通過這樣做,您可以在設(shè)備上解鎖 USB 調(diào)試模式。
    • 現(xiàn)在導(dǎo)航到:設(shè)置| 開發(fā)人員選項(xiàng)| 調(diào)試| USB調(diào)試(Settings | Developer Options | Debugging | USB Debugging),讓您的手機(jī)部署非打包應(yīng)用程序。
  4. 確保在編輯器右上角的下拉列表中選擇了相應(yīng)的運(yùn)行/調(diào)試配置,然后單擊運(yùn)行圖標(biāo):
    IntelliJ IDEA使應(yīng)用程序交互
  5. 當(dāng)應(yīng)用程序在設(shè)備上成功部署后,點(diǎn)擊圖像并查看用戶界面的更改:
    IntelliJ IDEA使應(yīng)用程序交互
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號