首先学会手动创建一个活动:
首先在包下面创建一个活动类,让它继承自Activity类,项目中的任何活动都应该重写 Activity 的 onCreate()方法。
创建和加载布局:在res/layout目录下,新建Android XML File。然后可以在XML文件下添加一些组件,比如按钮,菜单
在onCreate()方法中调用setContentView(R.layout.first_layout)加载布局
在 AndroidManifest 文件中注册:所有的活动都要在 AndroidManifest.xml 中进行注册才能生效
注册的声明要放在<application>内,通过<activity>标签来对活动进行注册。android::name来指定具体注册哪一个活动
android::label指定活动中标题栏的内空,然后通过intent-filter将其设为主活动。
总结一下整个过程:首先定义一个活动类,在XML文件中定义这个活动的布局,并在onCreate()方法中加载进来,然后在AndroidManifest中
中对这个活动进行注册。
然后学会使用toast:是 Android 系统提供的一种非常好的提醒方式, 在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失, 并且不会占用任何屏幕空间
Toast 的用法非常简单, 通过静态方法 makeText()创建出一个 Toast 对象, 然后调用 show()将 Toast 显示出来就可以了
在活动中使用 Menu:可以让菜单都能得到展示的同时,还能不占用任何屏幕的空间
首先在 res 目录下新建一个 menu 文件夹,右击 res 目录→New→Folder,输入文件夹名
menu,点击 Finish。接着在这个文件夹下再新建一个名叫 main 的菜单文件,右击 menu 文件
夹→New→Android XML File
在 main.xml 中创建菜单项,其中<item>标签就是用来创建具体的某一个菜单项,然后通
过 android:id给这个菜单项指定一个唯一标识符, 通过 android:title给这个菜单项指定一个名称
重写 onCreateOptionsMenu()方法:
通过 getMenuInflater()方法能够得到 MenuInflater 对象,再调用它的 inflate()方法就可以给
当前活动创建菜单了
仅仅让菜单显示出来是不够的,我们定义菜单不仅是为了看的,关键是要菜单真
正可用才行,因此还要再定义菜单响应事件:重写 onOptionsItemSelected()方法
使用 Intent 在活动之间穿梭:
Intent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组
件想要执行的动作,还可以在不同组件之间传递数据。Intent 一般可被用于启动活动、启动
服务、以及发送广播等场景
Intent 的用法大致可以分为两种,显式 Intent 和隐式 Intent。先看显式的。
Intent 有多个构造函数的重载,其中一个是 Intent(Context packageContext, Class<?> cls)。
这个构造函数接收两个参数,第一个参数 Context 要求提供一个启动活动的上下文,第二个
参数 Class 则是指定想要启动的目标活动, 通过这个构造函数就可以构建出 Intent 的 “意图” 。
Activity 类中提供了一个 startActivity()方法, 这个方法
是专门用于启动活动的, 它接收一个 Intent参数
相比于显式 Intent,隐式 Intent 则含蓄了许多(不好理解),它并不明确指出我们想要启动哪一个活
动, 而是指定了一系列更为抽象的 action 和 category 等信息, 然后交由系统去分析这个 Intent,
并帮我们找出合适的活动去启动
通过在<activity>标签下配置<intent-filter>的内容,可以指定当前活动能够响应的 action
和 category
隐式调用可以不直接指定活动,而是指定可以响应这个活动的action来间接调用活动。
action和category要完全匹配才能够响应。
更多隐式 Intent 的用法: 通过一个活动来展示一个网页、调用系统拨号界面
向下活动传递数据:通过 putExtra()方法传递
返回数据给上一个活动:startActivityForResult()方法也是用于启动活动的,
但这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。