作业要求
- 搭建Android开发环境
- 建立一个最简单的APP,启动后Activity上显示“Hello Android”,点击按钮后更改文本内容为下一界面所示内容。
- 调试并运行程序,并在作业平台提交该项目工程目录的压缩包和运行效果截图。
注意事项
- Application name统一命名为job1,Company Domain统一命名为“姓名全拼.whut.edu”(如qinposhi.whut.edu)
- 点击按钮后文本中的数据应采用程序读取本机真实数据,建议使用真机进行调试。有关如何读取本机设备信息可参考Android API文档android.os.build类的说明(http://www.android-doc.com/reference/android/os/Build.html)和网上的例子(http://blog.csdn.net/ioiol/article/details/45535601)
- 项目工程目录的压缩包统一命名为“学号姓名作业1.rar”(如100000000_秦珀石_作业1.rar).
- 作业的具体要求和辅助文档可在教学资源中的作业要求目录中去查找(界面原型需安装mockplus,安装包也在目录中)
作业实战
在实战之前,请确保你已经搭建好了开发环境,也就是把Android Studio安装好,并下载相应的SDK和AVD(模拟器)。相应的下载地址如下:Android Studio下载地址,这里我不讲安装步骤,网上一搜一大堆。
创建项目
搭建好安卓开发环境之后,接下来我们要创建自己的项目,步骤如下:
启动Android Studio后,首先会出现项目选择界面(如图9-11),我们可以在次界面选择最近编辑过的项目,也可以新建一个项目。
选择“Start a new Android Studio project”选项,进入项目创建界面。在界面中我们需要填写应用名称(Application name)和公司域名(Company Domain),Android Studio会自动根据这两项生成包名。此外,还需要选择项目的保存路径(Project location)。填写完毕后,点击“Next”进入下一界面。
按照作业上的要求,Application name统一命名为job1,Company Domain统一命名为“姓名全拼.whut.edu”(我这里写的是dragonhaw.whut.edu)。
在运行平台与最低SDK版本设置界面(如图9-13),可选择应用面向的运行平台(可同时选择多个),并为每一个选中的平台设置最低SDK版本。目前支持的设备包括:手机与平板、智能穿戴设备、智能电视、Android Auto和智能眼镜。需要注意的是,最低SDK版本设置的越低,应用可在越多的手机上运行,但同时也意味着越多后续版本中的新特性将无法使用,Android Studio会自动生成并显示所选择版本大概的设备覆盖率。如需使用某些特殊的API,也可以点击“Help me choose”,参考弹出的Android API版本分布图来自己选择。设置完毕后,点击“Next”进入下一界面。
然后进入了我们的Acticity模板选择界面,Android Studio提供了大量的Activity模板,用户可根据需要选择模板,工程中将自动添加一个相应的Activity。在这个例子中,我们选择“Empty Activity”,点击“Next”进入下一界面。
在Activity定制界面,我们需填写Activity名称、对应布局文件名(Layout Name)、标题(Title)和菜单资源文件名(Menu Resource Name)等。设置完毕后,点击“Finish”。
至此一个新的Android工程设置完毕,Android Studio将自动创建该工程,并进入开发界面。
代码编写
首先先来写我们的布局文件,也就是activity_main.xml文件,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="edu.whut.xucheng.job1.MainActivity">
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="显示手机信息" />
</RelativeLayout>
效果如下所示:
这样,我们就把简单的布局完成了。接下来,来完成我们的MainActivity.java代码,代码如下:
package edu.whut.xucheng.job1;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView textView = (TextView) this.findViewById(R.id.textview);
Button button = (Button) this.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textView.setText("手机品牌: " + Build.BRAND +
'\n'+ "手机型号: " + Build.MODEL +
'\n' + "系统版本: " + Build.VERSION.RELEASE +
'\n'+ "设备序列号: " + Build.SERIAL);
}
});
}
}
简单解释一下其中的几个方法,findViewById()方法是通过在布局文件里面定义的id找到相应的控件,比如说,我们在activity_main.xml文件中定义了两个id:android:id=”@+id/textview” 和 android:id=”@+id/button”,然后我们就通过这两个id找到控件TextView(文字)和Button(按钮)。
还有给Button设置点击监听事件,这个我不准备讲,就这样记一下吧,点击监听事件就是当你点击那个控件的时候,系统会帮你自动调用里面的click方法。因为对于刚接触Android的人来说,确实有点难理解,可以找一本入门书,比如说郭神的《第一行代码》。
运行效果:
未点击的时候:
点击之后: