在activity之間通過靜態變數傳遞數據 一、簡介 主要作用:解決intent不能傳遞非序列化的對象 評價:簡單方便,但是容易發生記憶體泄露,所以要及時回收記憶體 二、具體操作 1、在傳輸數據的頁面弄好數據,傳遞給接收數據的頁面 Obj1 obj=new Obj1("fry",22); Activit ...
在activity之間通過靜態變數傳遞數據
一、簡介
主要作用:解決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 }