Activity(1-2)

Android四大基本组件

1:Activity

2:Service

3:BroadcastReceiver

4:Content Provider

 

1:Activity概念:窗体、可以与用户进行交互的基本呈现单元,activity没有最小化的概念,没有调整大小的概念,例如打电话,主界面都是一个个Activity。一个新的activity一共有三个状态:运行、暂停、停止。

2:Activity的生命周期可以用一张图来概述



1.     启动activity:系统将首先调用onCreat 方法,然后调用onStart ()然后调用onResume(),使系统处于当前状态.

2.     当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。

3.     当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。

4.     当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。

5.     5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。

6.     6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。

7.     7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。

8.     但是知道这些还不够,我们必须亲自试验一下才能深刻体会,融会贯通。

 

在一个activity中打开另一个activity方法:

1.    在src文件包下创建另一个类,是你要启动的activity类。因此这个类继承于activity,重写他的onCreate()方法。添加相关控件。

2.    在res/layout文件下创建xml文件,这个文件就是你要呈现下一个activity类的布局,

3.    在manifest文件下对activity进行绑定注册,方法: 添加activity,然后找到你的activity.java


在mainactivity中添加按钮监控,

aty1_btn.setOnClickListener(new View.OnClickListener() {
       
        @Override
        public void onClick(View v) {
           Intent intent=new Intent(MainActivity.this, Aty1.class);
           startActivity(intent);
        }
      });


 

传递数据与返回数据的两种方法:

Mainactivity:

	public void onClick(View v) {
				Intent intent=new Intent(MainActivity.this, Aty1.class);
			//	intent.putExtra("txt","hello aty1" );//传递数据
				
				Bundle data = new Bundle();
				data.putString("txt", "hello aty1");
				intent.putExtras(data);
				
			//	startActivity(intent);//启动另一个activity
				startActivityForResult(intent,0);//运用这种方法取得第二个activity传回的值
			}
		});

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		//被启动的activity有返回值
		String resultString = data.getStringExtra("return");//取得返回数据
		tvOut.setText(resultString);//设置文本
		super.onActivityResult(requestCode, resultCode, data);
		
		
		
	}
OtherActivity:

protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.aty1);//通过与layout连接将该类与activity绑定在一起
		finiButton=(Button) findViewById(R.id.finish_btn);
		finiButton.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent i = new Intent();
				i.putExtra("return", "hello main");//放置数据
				
				setResult(0, i);//传递返回值 
				finish();
			
				
			}
		});
		tvOut=(TextView)findViewById(R.id.tvOut);
		//tvOut.setText(getIntent().getStringExtra("txt"));//取得mainactivity中传来的数据
		
		Bundle data=getIntent().getExtras();//取得传来的数据
		String txt=data.getString("txt");
		tvOut.setText(txt);
		
	}






 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值