Activity間數據傳遞之Bundle和SharedPreferences

1.介紹

   對於初學者android不同activity間的數據傳輸一直是一個難題,主要的解決方法主要有兩種一種是用Bundle傳輸數據,一種是用SharedPreferences。兩者的區別,一般來講SharedPreferences用來存儲輕型數據,保存在xml裡,可以持久保存。反觀Bundle可以傳輸很多中數據,但是不持久。

2.具體實現方法

  Bundle

   在發送方class A

[java]  

Bundle bundle = new Bundle();  

  

 //保存輸入的信息  

   bundle.putString("string名", "傳輸的string");  

   Intent intent=new Intent(A.this,B.class);  

  intent.putExtras(bundle);  

   在接收方class B

[java]  

Bundle b=getIntent().getExtras();  

  //獲取Bundle的信息  

  String info=b.getString("string名");  

 

註意:string名要一樣

 SharedPreferences

 

  SharedPreferences 用法很簡單,如果你想要編輯SharedPreferences中的內容就需要用到editor對象。

 在發出方A中

[java]  

haredPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext());    

                        Editor editor = sp.edit();  

                        editor.putInt("string變量名","發出的string內容");  

                        editor.commit();  

 

接收方B

[java]  

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(B.this);  

            string grade = sp.getString("string變量名",“默認值”);  

 

 

發佈留言