阅读(174) (9)

IntelliJ IDEA使应用程序交互

2018-03-27 09:09:22 更新

应用程序交互

上一节内容中,我们介绍了一个 IntelliJ IDEA 示例 HelloDroid 应用程序,虽然我们的示例应用程序在这一点上功能完整,但它不支持任何形式的交互。要使应用程序支持点击事件,您需要编辑 src 文件夹中定义的 HelloDroid 类。

1.打开MyActivity类

在项目(Project)视图中,找到该 src | com.example.HelloDroid 文件夹下的 HelloDroid.java 文件并单击它:

IntelliJ IDEA使应用程序交互

2.添加对视觉元素的引用

在 Android 系统中,您需要明确获取对可视元素的引用,以便以编程方式对它们进行操作。您需要在活动类上定义私有成员以容纳这些引用,然后在从 onCreate 内部调用的新创建的方法中初始化这些成员。

  1. 将以下代码添加到 HelloDroid 类中:
    private TextView message;
    private ImageView droid;
  2. 在 OnCreate 中添加一个称为 InitializeApp 的新方法的调用。IntelliJ IDEA 会立即检测到此方法丢失,并建议为您生成该方法:
    IntelliJ IDEA使应用程序交互
  3. 在该 InitializeApp 方法中,为私有成员分配对可视元素的引用:
    message = (TextView) findViewById(R.id.message);
    droid = (ImageView) findViewById(R.id.imageView);
    该表达式 R.id.xxx 表示自动生成的 R 类的成员。

3.添加一个事件处理程序

在应用程序中,没有事件和事件处理程序,就不可能进行交互。举个例子,让我们添加一个点击处理程序到 droid 图像视图,并在用户每次触摸图像时显示一条消息。

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

private View.OnClickListener droidTapListener;

将该成员添加到 HelloDroid 类中并在该 InitializeApp 方法中对其进行初始化。您的代码现在应该看起来如下所示:

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);
}

这段代码的净效果是,每次用户点击图像时,都会调用该 TapDroid 方法。

4.处理“Click”事件

  1. 该 TapDroid 方法只计算用户触摸图像的时间,并显示一条消息。您需要向 HelloDroid 类添加新的私有成员以统计点击次数:
    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.构建应用程序并在设备上启动它

您的示例应用程序现在已经完成。您可以构建并将其部署到 Android 设备。

  1. 创建运行/调试配置并在目标设备下选择 USB 设备。
  2. 通过 USB 电缆将 Android 设备连接到计算机。如果设备第一次连接,请等到所有驱动程序安装完毕。
  3. 如果这是您第一次在 Android 应用程序存储外部署应用程序,请在您的设备上启用 USB 调试模式。在 Android 4.2 或更高版本上,请执行以下操作:
    • 打开设备的设置。
    • 滚动到“关于手机(About phone)”或“关于平板电脑(About tablet)”,然后点击它。
    • 滚动到底部并点击 Build number 7次,直到您看到“您是开发人员!” 信息。通过这样做,您可以在设备上解锁 USB 调试模式。
    • 现在导航到:设置| 开发人员选项| 调试| USB调试(Settings | Developer Options | Debugging | USB Debugging),让您的手机部署非打包应用程序。
  4. 确保在编辑器右上角的下拉列表中选择了相应的运行/调试配置,然后单击运行图标:
    IntelliJ IDEA使应用程序交互
  5. 当应用程序在设备上成功部署后,点击图像并查看用户界面的更改:
    IntelliJ IDEA使应用程序交互