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

本文详细介绍了Android中Activity的创建过程及生命周期,包括手动创建Activity的步骤、生命周期回调方法及其状态变化,同时阐述了不同场景下的页面跳转方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重新认识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() {
			@Override
			public 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对象
			@Override
			public void onClick(View v) {
				Intent data=new Intent();
				data.putExtra("data",content);
				setResult(2,data);
				/*第一个参数resultCode:表示当前页面
				 *第二个参数data:表示数据
				 */
				finish();//结束当前页面
			}

			
		});
TextView中有setText方法可以设置文本内容






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值