您的位置:首页 > 移动开发 > Android开发

android intent 的数据传递两种

2015-09-15 19:35 351 查看
在activity启动时能被人看见时就是启动完了onCreate(),onStart().onResume(),进入中间绿色的Activity running 中间了,点击返回键,就onPause(),onStop(),onDestroy().死亡了
 onCreate() 创建完毕
onStart() 已经显示在屏幕,但没有焦点。
onResume()得到得到显示,可以控制
onPause()被挡住了 界面,
onStop()界面被关闭了,但是在后台还在偷偷运行
stop()后重新回到应用,就调用了onRestart()方法
Pause()后重新回到应用,会调用onResume()方法就可以;

onDestroy()被彻底清除了。

onCreate()来做 Activity创建时需要初始化资源,销毁时需要释放资源;或者播放器应用,在界面进入后台时需要自动暂停
onPause()和onStop()里可以写一些视频,切回桌面时暂停视频,界面不可见,切回来还可以继续播放。
App process killed 用于杀死应用进程的。 内存不足的时候会自动杀死最近打开的进程,保留新的,会杀死onStop
里面的,onStop里面要是没有了,就会杀死onPause暂停里的,一般不杀死前台的,
intent 传递数据:
用intent .putExtra适合传递少量数据,写起来比较方便;
用bundle方法,用于数据种类比较多的话,可以对种类做一个划分,把不同种类数据封装到一个budle对象里。

代码:主界面:第一个MainActivity
Intent intent =new Intent(MainActivity.this,SecondActivity.class);
intent.putString("大雨","lyz");
intent.putString("芙蓉姐姐","qwwq");
startActivity(intent);

第二个界面SecondActivity

private int nextInt;

Intent intent =getIntent();
String boyExtra=intent.getStringExtra("大雨");
String
girlExtra=intent.getStringExtra("芙蓉姐姐");

Random
mrRandom=new Random();
if("lyz".equals(boyExtra)&&"qwwq".equals(girlExtra)){
nextInt=99;
}else{
nextInt=mrRandom.nextInt(100);
}

Text mtv=(TextView)findViewById(R.id.tv_receive);
mtv.setText(boyExtra+"和"+girlExtra+"的姻缘值"+nextInt);

Bundle:
Bundle bd=new Bundle();
bd.putString("大雨", "lyz");
bd.putString("芙蓉姐姐", "qwwq");
intent.putExtras(bd);
startActivity(intent);

第二个界面
Intent intent = getIntent();
Bundle extras=intent.getExtras();//**********
String boyExtra = extras.getString("大雨");
String girlExtra = extras.getString("芙蓉姐姐");
Random mrRandom=new Random();
nextInt = mrRandom.nextInt(100);
TextView  mtv = (TextView) findViewById(R.id.tv_receive);
mtv.setText(boyExtra+"和"+girlExtra+"的姻缘值"+nextInt);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: