一、简介
主要作用:解决intent不能传递非序列化的对象
评价:简单方便,但是容易发生内存泄露,所以要及时回收内存
二、具体操作
1、在传输数据的页面弄好数据,传递给接收数据的页面
Obj1 obj=new Obj1("fry",22);
Activity01.obj=obj;
2、在接收数据的页面显示数据
输出obj即可
3、具体代码
传输数据的页面
Intent intent=new Intent();//初始化intent
intent.setClass(MainActivity.this,Activity01.class);//连接
Obj1 obj=new Obj1("fry",22);
Activity01.obj=obj;
startActivity(intent);//打开activity
接收数据的页面
public static Obj1 obj;
setContentView(R.layout.activity01);
textView_ans=(TextView) findViewById(R.id.textView_ans);
textView_ans.setText("obj: "+obj);
4、回收内存
在接收数据的页面
protected void onDestroy() {
super.onDestroy();
obj=null;
}
java会自动回收指向null的对象
三、代码实例
结果图
代码
activityStaticDataSend.MainActivity
1 package activityStaticDataSend;
2
3
4
5
6
7
8 import com.example.activityStaticDataSend.R;
9
10 import android.app.Activity;
11 import android.content.Intent;
12 import android.content.Loader;
13 import android.os.Bundle;
14 import android.view.View;
15 import android.view.View.OnClickListener;
16 import android.widget.Button;
17
18
19
20 public class MainActivity extends Activity{
21 private Button btn_openActivty;//创建一个button对象
22 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);//父类操作
24 setContentView(R.layout.activity_main);//引入名为activity_main的界面
25 btn_openActivty=(Button) findViewById(R.id.btn_openActivity);//找id为btn_openActivity的button
26 btn_openActivty.setOnClickListener(new OnClickListener() {//设置button点击监听
27
28 @Override
29 public void onClick(View v) {//onclick事件
30 // TODO Auto-generated method stub
31 Intent intent=new Intent();//初始化intent
32 intent.setClass(MainActivity.this,Activity01.class);//连接
33 Obj1 obj=new Obj1("fry",22);
34 Activity01.obj=obj;
35 startActivity(intent);//打开activity
36 }
37 });
38 }
39 }
activityStaticDataSend.Activity01
1 package activityStaticDataSend;
2
3
4
5
6 import com.example.activityStaticDataSend.R;
7
8 import android.app.Activity;
9 import android.os.Bundle;
10 import android.util.Log;
11 import android.widget.TextClock;
12 import android.widget.TextView;
13
14 public class Activity01 extends Activity{
15 public static Obj1 obj;
16 private TextView textView_ans;
17 @Override
18 protected void onCreate(Bundle savedInstanceState) {
19 // TODO Auto-generated method stub
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.activity01);
22 textView_ans=(TextView) findViewById(R.id.textView_ans);
23 textView_ans.setText("obj: "+obj);
24 }
25 @Override
26 protected void onDestroy() {
27 // TODO Auto-generated method stub
28 super.onDestroy();
29 obj=null;
30 }
31 }
我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
博主25岁,前端后端算法大数据人工智能都有兴趣。