20172327 2018-2019-1 《第一行代码Android》第二章学习总结

时间:2021-11-21 13:32:22

学号 2017-2018-2 《第一行代码Android》第二章学习总结

教材学习内容总结

- 活动是什么:

活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序可以包含零个或多个活动,但不包含任何活动的应用程序很少见。

- 活动的基本用法:

1.创建活动:

  • 在Android Studio 中只能打开一个项目,所以我们首先要将原来项目关闭,在导航栏File——Close Project。

  • 新建一个项目,但在Add an Activity to Mobile 中选择Add No Activity 而不是 Empty Activity。

    20172327 2018-2019-1 《第一行代码Android》第二章学习总结

  • 新建项目打开后,你会发现com.example.activitytest目录是空的。

    20172327 2018-2019-1 《第一行代码Android》第二章学习总结

  • 手动创建活动需要右击com.example.activitytest包——new——Activity——Empty Activity 会弹出对话框,在勾选中,不要勾选Generate Layout File 和 Launcher Activity两个选项。

    20172327 2018-2019-1 《第一行代码Android》第二章学习总结

勾选Generate Layout File 表示会自动为新创建的活动创建一个对应的布局文件。
勾选Launcher Activity 表示会自动将FirstActivity 设置为当前项目的主活动。
勾选Backwards Compatibility 表示会为项目启用向下兼容的模式。
  • 项目中的每一个活动都应该重写Activity 的 onCreate()方法,目前Android Studio 已近帮我们将这个方法重写。

    20172327 2018-2019-1 《第一行代码Android》第二章学习总结

2.创建和加载布局

  • Android 程序设计讲究逻辑和视图分离,最好每一个活动都能对应一个布局,布局就是用来显示界面内容的,因此我们现在就手动创建一个布局文件。
  • 在App/src/main/res目录——New——Directory,会弹出一个新建的目录的窗口,这里先创建一个名为Layout 的目录。

    20172327 2018-2019-1 《第一行代码Android》第二章学习总结

然后右击目录——New——Layout resource file 会弹出一个新建布局文件窗口。

20172327 2018-2019-1 《第一行代码Android》第二章学习总结

  • 这时,你就可以看到Android Studio 为我们提供的可视化布局编辑器,在底下有两个切换卡,作为Design,右为Text。

    20172327 2018-2019-1 《第一行代码Android》第二章学习总结
Design:是当前的可视化布局编辑器,在这里你不仅可以预览当前的布局,还可以通过拖放的方式编辑布局。
Text:通过XML文件的方式来编辑布局的。
  • 现在我们可以在布局文件中添加一个按钮,可以通过Design直接拖放布局,也可以通过Text文件布局。
拖放布局很简单,在你将按钮拖到位置时,它会自动在Text中生成相应的代码。
Text文件布局你就应该将所需的代码输入进去。
  • 布局完成后,就需要在活动中加载这个布局。

    20172327 2018-2019-1 《第一行代码Android》第二章学习总结

    setContentView(R.layout.first_layout);

    20172327 2018-2019-1 《第一行代码Android》第二章学习总结

3.在AndroidManifest文件中注册

  • 所有的活动都需要在AndroidManifest注册才能生效,而实际上FirstActivity已经在AndroidManifest.xml中注册过了,我们打开app/src/main/AndroidManifest.xml文件可以看到如下代码:

    20172327 2018-2019-1 《第一行代码Android》第二章学习总结

  • 可以看到,活动的注册声明都要放在标签内,这里是通过标签来对活动进行注册的。虽然是Android Studio主动生成,但是我们并没有为程序配置主活动,所以应该在标签内部加入标签。

<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
  • 这样的话,FirstActivity就成为我们这个程序的主活动了,即点击桌面应用程序图标时应首先打开的就是这个活动。另外需要注意,如果你的应用程序中咩有声明任何一个活动作为主活动,这个程序仍然是可以正常安装的,只是你无法再启动中看到或者打开这个程序。这种程序一般都是作为第三方服务供其他应用在内部进行调用的,如支付宝快捷支付服务。

4.在活动中使用Toast

  • Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
  • 首先需要定义一个弹出Toast的触发点,正好之前程序界面上有一个button,我们可以让点击这个按钮的时候弹出一个Toast。在OnCreate()方法中添加如下代码:
  Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "You clicked Button 1",
Toast.LENGTH_SHORT).show();
}
  • 以上代码为例:


    Toast的用法非常简单,通过静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来就可以了。


    这里需要注意的是,makeText()方法需要传入3个参数。


    第一个参数是Context,也就是Toast要求的上下文,由于活动本身就是一个Context对象这里直接传入FirstActivity.this即可。


    第二个参数是Toast显示的文本内容。


    第三个参数是Toast显示的时长,有两个内置常量可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG。