Android第一行代码——快速入门 Kotlin 编程(3.2 Activity的基本用法)

目录

3.2         Activity 的基本用法

3.2.1        手动创建 Activity

3.2.2        创建和加载布局

3.2.3        在 AndroidManifest 文件中注册

3.2.4        在 Activity 中使用 Toast

3.2.5        在 Activity 中使用 Menu

3.2.6        销毁一个 Activity


3.2         Activity 的基本用法

        到现在为止,你还没有手动创建过 Activity 呢,因为第 1 章中的 MainActivity 是Android Studio 自动帮我们创建的。手动创建 Activity 可以加深我们的理解,因此现在是时候自己动手了。

         我们先将当前的项目关闭,点击导航栏 File→Close Project 。然后再新建一个 Android 项目,新 建项目的步骤你已经在第 1 章学习过了,不过 图1.9 中的那一步需要稍做修改,我们不再选择“Empty Activity”  这个选项,而是选择“Add No Activity” ,如图3.1 所示。

图3.1        选择不添加 Activity

        点击“Next” 进入项目配置界面。

        项目名可以叫作 Activity Test ,包名我们就使用默认值 com.example.activitytest ,其他选项 都和第 1 章创建的项目保持一致。点击“Finish” ,等待 Gradle 构建完成后,项目就创建成功了。

3.2.1        手动创建 Activity

        项目创建成功后,仍然会默认使用Android 模式的项目结构,这里我们手动改成Project 模式, 本书后面的所有项目都要这样修改,以后就不再赘述了。目前Activity Test 项目中虽然还是会自 动生成很多文件,但是app/src/main/java/com.example.activitytest 目录将会是空的,如 图3.2 所示。

图3.2        初始项目结构

        现在右击 com.example.activitytest 包→New→Activity→Empty Activity ,会弹出一个创建 Activity 的对话框,我们将Activity 命名为FirstActivity ,并且不要勾选Generate Layout File 和Launcher Activity 这两个选项,如 图3.3 所示。

图3.3        新建 Activity 对话框

        勾选 Generate Layout File 表示会自动为 FirstActivity 创建一个对应的布局文件,勾选 Launcher Activity 表示会自动将 FirstActivity 设置为当前项目的主 Activity 。由于你是第一次手动创建 Activity ,这些自动生成的东西暂时都不要勾选,下面我们将会一个个手动来完成。勾选Backwards Compatibility 表示会为项目启用向下兼容旧版系统的模式,这个选项要勾上。 点击“Finish” 完成创建。

        你需要知道,项目中的任何 Activity 都应该重写 onCreate() 方法,而目前我们的 FirstActivity 中已经重写了这个方法,这是 Android Studio 自动帮我们完成的,代码如下所示:

class FirstActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }
}

        可以看到,onCreate() 方法非常简单,就是调用了父类的 onCreate() 方法。当然这只是默 认的实现,后面我们还需要在里面加入很多自己的逻辑。

3.2.2        创建和加载布局

        前面我们说过,Android 程序的设计讲究逻辑和视图分离,最好每一个 Activity 都能对应一个布局。布局是用来显示界面内容的,我们现在就来手动创建一个布局文件。

        右击 app/src/main/res 目录 →New→Directory ,会弹出一个新建目录的窗口,这里先创建一个名为 layout 的目录。然后对着 layout 目录右键 →New→Layout resource file ,又会弹出一个新建布局资源文件的窗口,我们将这个布局文件命名为 first_layout ,根元素默认选择为 LinearLayout ,如 图3.4 所示。

图3.4        新建布局资源文件

        点击“OK”完成布局的创建,这时候你会看到如 图3.5 所示的布局编辑器。 

图3.5        布局编辑器

        这是 Android Studio 为我们提供的可视化布局编辑器,你可以在屏幕的中央区域预览当前的布局。在窗口的左下方有两个切换卡:左边是 Design ,右边是 Text。Design 是当前的可视化布局编辑器,在这里你不仅可以预览当前的布局,还可以通过拖放的方式编辑布局。而 Text 则是通 过 XML 文件的方式来编辑布局的,现在点击一下 Text 切换卡,可以看到如下代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</LinearLayout>

        由于我们刚才在创建布局文件时选择了 LinearLayout 作为根元素,因此现在布局文件中已经有 一个 LinearLayout 元素了。我们现在对这个布局稍做编辑,添加一个按钮,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="1"
        />
</LinearLayout>

        这里添加了一个 Button 元素,并在Button 元素的内部增加了几个属性。android:id 是给当前 的元素定义一个唯一的标识符,之后可以在代码中对这个元素进行操作。你可能会对 @+id/button1 这种语法感到陌生,但如果把加号去掉,变成 @id/button1,你就会觉得有些熟悉了吧。这不就是在 XML 中引用资源的语法吗?只不过是把 string 替换成了 id。是的,如果你需要在 XML中引用一个 id,就使用 @id/id_name 这种语法,而如果你需要在 XML中定义一 个 id</

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值