android第一行代码学习笔记——activity
1.活动(activity):是一种可以包含用户界面的组件,主要用于和用户进行交互
2.每个活动都必须在AndroidManifest文件中注册,活动注册声明要放在标签内,通过标签来对活动进行注册
3.在标签内加入标签指定响应
< intent-filter>
< action android:name="android.intent.action.MAIN" />
< category android:name="android.intent.category.LAUNCHER" />
< /intent-filter>说明该活动为主活动
4.Toast的使用:Toast.makeText(三个参数),第一个参数为Context,即上下文,第二个参数为要显示的文本内容,第三个参数为显示的时长,Toast.LENGTH.SHORT和Toast.LENGTH.LONG两个内置常量可供选择
5.使用Menu:在res目录下创建menu文件夹,new一个Menu resource file文件,通过item标签来创建具体的菜单项,在要显示改菜单的活动中重写onCreateOptionsMenu()方法
public boolean onCreatOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.文件名, menu);
return true;
}
重写onOptionsItemSelected()方法为菜单定义点击事件
6.显示使用Intent:
//第一个参数为启动活动的上下文,第二个参数为要启动的活动
Intent intent = new Intent(两个参数);
startActivity(intent);
7.隐式使用Intent:
// 在<activity>标签下配置<intent-filter>的内容,指定当前活动能响应的antion和category
//s为要启动的活动的action字符串
//只有当action和category都匹配上时才能启动活动
Intent intent = new Intent(String s);
8.向下一个活动传递信息:
Intent intent = new Intent();
//第一个参数为键,用于后面取值,第二个参数为要传递的内容
intent.putExtra();
Intent intent = getIntent();
Xxx name = intent.getXxxExtra(键);
9.返回数据给上一个活动:
Intent intent = new Intent();
intent.putExtraXxx();
//第一个参数用于向上一个活动返回处理结果,一般只使用RESULT_OK或RESULT_CANCELED这两个值,第二个参数把带有数据的intent传递回去
setResult();
//在删一个活动中重写onActivityResult()方法,来获取传递内容
//该方法带有三哥参数,第一个参数requestCode,即在启动活动时传入的请求码
//第二个参数是resultCode,即在返回数据时传入的处理结果
//第三个参数是data,即带着返回数据的Intent
10.activity的生命周期:
四种状态:
1.运行状态:活动位于返回栈栈顶
2.暂停状态:活动不再处于栈顶,但仍然可见
3.停止状态:活动不再处于栈顶,并完全不可见
4.销毁状态:活动从返回栈中移除
/*
* MainActivity第一次被创建时会依次执行onCreat(),onStart(),onResume()
* 当按下第一个按钮时,因被完全遮挡,因此onPause()和onStop()都会执行
* 当键下返回键时,由于MainActivity已经进入了停止状态,因此执行onReStart(),之后执行onStart()和onResume()
* 当键下第二个按钮,因MainActivity并未被完全遮挡住,所以只是进入了停止状态,因此只执行onPause()
* 当键下返回键时,只执行onResume()
* 当程序退出时,执行onDestory()
*/
活动的生存期:
11.活动被回收后返回时会被重新创建,但是数据不会被保存。解决方法:回东北回首之前一定会调用onSaveInstanceState()方法,该方法带一个Bundle类型的参数,Bundle提供了一系列方法用于保存数据,如putXxx(),此方法有两个参数,第一个参数是键,第二个参数是要保存的内容。在onCreate()方法中进行判断Bundle类型的参数是否为null,若不为null,则进行数据的恢复
12.活动的启动模式:
1.standard:每次启动都会创建一个新的实例
2.singleTop:处于栈顶的活动不会创建新的实例,其余都创建实例
3.singleTask:将栈中存在的活动放置栈顶,弹出其上的所有活动,若栈中不存在则创建实例
4.singleInstance:用于共享活动实例
13.包名命名规范:一般为四级包名,com.x.y.z
x=2级包名=个人/公司名
y=3级包名=应用名
z=4级包名=功能模块名
14.activity命名规范:模块名+Activity
activity的layout命名规范:activity_功能名
下一篇: 解码方法
推荐阅读
-
Android学习笔记--使用剪切板在Activity中传值示例代码
-
Android学习笔记--通过Application传递数据代码示例
-
Android学习笔记--Activity中使用Intent传值示例代码
-
Android学习笔记(一)环境安装及第一个hello world
-
《第一行代码》读书笔记(六):CoordinatorLayout
-
两千行代码的PHP学习笔记汇总
-
Android的activity学习笔记
-
温习Android基础知识——《第一行代码(第三版)》读书笔记 Chapter 14 高级技巧
-
《第一行代码 第2版》中新建Activity时的Backwards Compatibility 选项框,怎么不见了?
-
荐 「「第一行代码(第二版)」」学习笔记 5 碎片(连载中)