应用程序交互
编辑教程应用程序交互
上一节内容中,我们介绍了 HelloDroid 应用程序 虽然我们的示例应用程序在这一点上功能完整,但它不支持任何形式的交互。要使应用程序支持点击事件,您需要编辑 src 文件夹中定义的 HelloDroid 类。
打开MyActivity类
在项目(Project)视图中,找到该 src | com.example.HelloDroid 文件夹下的 HelloDroid.java 文件并单击它:
添加对视觉元素的引用
在 Android 系统中,您需要明确获取对可视元素的引用,以便以编程方式对它们进行操作。您需要在活动类上定义私有成员以容纳这些引用,然后在从 onCreate 内部调用的新创建的方法中初始化这些成员。
将以下代码添加到 HelloDroid 类中:
private TextView message;
private ImageView droid;
在 OnCreate 中添加一个称为 InitializeApp 的新方法的调用。IntelliJ IDEA 会立即检测到此方法丢失,并建议为您生成该方法:
在该 InitializeApp 方法中,为私有成员分配对可视元素的引用:
message = (TextView) findViewById(R.id.message);
droid = (ImageView) findViewById(R.id.imageView);
该表达式 R.id.xxx 表示自动生成的 R 类的成员。
添加一个事件处理程序
在应用程序中,没有事件和事件处理程序,就不可能进行交互。举个例子,让我们添加一个点击处理程序到 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 方法。
处理“Click”事件
该 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 ...
}
接下来,定义如下所示的 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));
}
构建应用程序并在设备上启动它
您的示例应用程序现在已经完成。您可以构建并将其部署到 Android 设备。
创建运行/调试配置并在目标设备下选择 USB 设备。
通过 USB 电缆将 Android 设备连接到计算机。如果设备第一次连接,请等到所有驱动程序安装完毕。
如果这是您第一次在 Android 应用程序存储外部署应用程序,请在您的设备上启用 USB 调试模式。在 Android 4.2 或更高版本上,请执行以下操作:
打开设备的设置。 | |
---|---|
滚动到“关于手机(About phone)”或“关于平板电脑(About tablet)”,然后点击它。 | |
滚动到底部并点击 Build number 7次,直到您看到“您是开发人员!” 信息。通过这样做,您可以在设备上解锁 USB 调试模式。 | |
现在导航到:设置丨 开发人员选项丨 调试丨 USB调试(Settings 丨 Developer Options 丨 Debugging 丨 USB Debugging),让您的手机部署非打包应用程序。 |
确保在编辑器右上角的下拉列表中选择了相应的运行/调试配置,然后单击运行图标:
当应用程序在设备上成功部署后,点击图像并查看用户界面的更改:
选择支付方式:
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间