安卓学习记录之五(手动创建Activity,实现页面跳转)

来源:互联网 发布:网络热搜词 编辑:程序博客网 时间:2024/04/27 23:00

重新认识Activity

手动创建Activity的步骤
1、在src下新建一个Activity的class文件
                继承Activity
                重写onCreate()方法
2、在res--layout下创建一个相对应的布局xml文件,并对其进行布局
3、将xml文件引入当前的Activity中
                在src下新建的那个Activity的class文件中使用setContentView(R.layout.activity的名称)方法
4、在清单文件AndroidManifest.xml中声明Activity,只有声明了才能使用

<span style="font-size:18px;"><span style="font-size:18px;"> <activity            android:name="com.example.second.MainActivity"<!-- 当前Activity所在的包 和名字-->            android:label="@string/app_name" >            <intent-filter>                <Action android:name="android.intent.action.MAIN" />               <!-- 如果当前的Activity是主入口,还要给他设置action和category -->                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity></span></span>

以下的代码是首启动项所特有的:

<intent-filter>
                <action android:name="android.intent.action.MAIN" />
<!-- 如果当前的activity是主入口,还要给他设置action和 category-->
                <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>

Activity的生命周期
Activity的方法:
    onCreate()创建
    onStart()运行
    onResume()获取焦点
    onPause()失去焦点
    onStop()暂停
    onDestroy()销毁
    onRestart()重新开始

Activity的四种状态:
    活动状态(Activity/Running),Activity处于界面顶端,获取焦点
    暂停状态(Pause),Activity失去焦点,但对用户可见
    停止状态(Stopped),Activity被完全遮挡,但保留所有状态和成员信息
    非活动状态(Killed),Activity被停止


1、从创建到销毁的生命周期:onCreate()--> onStart()-->onResume()-->onPause()-->onStop()-->onDestroy()
2、从启动到后台,再到前台的生命周期:onCreate()--> onStart()-->onResume()-->onPause()-->
                                                                  
                                                                   onStop()-->onRestart()-->onStart()-->onResume()

3、从启动到失去焦点,再到获取焦点的生命周期:
                                        onCreate()--> onStart()-->onResume()-->onPause()-->onResume()






无返回结果的页面跳转
startActivity()方法
1、注册点击事件(setOnClickListener方法)
2、在点击事件中实现页面跳转(onClick方法)
          初始化Intent:Intent intent=new ntent(context,cls),context为上下文对象this,即当前的Activity,cls为目                                    标文件
          startActivity(intent);

有返回结果的页面跳转
startActivityForResult(intent,requestCode)
onActivityResult(int requestCode,int resultCode,Intent data)
setResult(resultCode,data)
1、主Activity
bt2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent(MainActivity.this,third.class);startActivityForResult(intent, 1);//第二个参数是请求标志}});
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if(requestCode==1&&resultCode==2){String content=data.getStringExtra("data");//获取}}/*通过这个方法接受数据 * 第一个参数requestCode:请求标志,如果有多个Buton都可以转入这个页面,这个标志可以区分是通过哪个button跳转过来的     *第二个参数resultCode:判断是哪个页面返回的数据     *第三个参数data:第二个页面回传的数据     *     */
第二个页面
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.tactvity);bt=(Button) findViewById(R.id.button3);bt.setOnClickListener(new OnClickListener() {//回传到第一个页面的实际是一个Intent对象@Overridepublic void onClick(View v) {Intent data=new Intent();data.putExtra("data",content);setResult(2,data);/*第一个参数resultCode:表示当前页面 *第二个参数data:表示数据 */finish();//结束当前页面}});
TextView中有setText方法可以设置文本内容






0 0