android Bundle的使用__Android

來源:互聯網
上載者:User
bundle的認識:

        一種存放字串和Parcelable類型資料的map類型的容器類,通過存放資料鍵(key)擷取對應的各種類型的值(value),而且必須通過鍵(key)擷取。


bundle的用法:

       Bundle相當於Map類,就是一個映射,用Bundle綁定資料,便於資料處理

        它主要作用於Activity之間的資料傳遞. 

 

//TestBundle.java

Bundle bundle = new Bundle();//建立一個控制代碼

bundle.putString("name", nameinfo);//將nameinfo填充入控制代碼

Intent mIntent = new Intent(TestBundle.this,TestBundle_getvalue.class);

mIntent.putExtras(bundle);

startActivity(mIntent);

 

//TestBundle_getvalue.java

Bundle bundle = getIntent().getExtras();//擷取一個控制代碼

String nameString=bundle.get("name");//通過key為“name”來擷取value即 nameString.

/*

*進行相關操作

*/

 

bundle的執行個體:

      第一個Activity發出參數。 import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.MotionEvent; 

public class TestBundle extends Activity { 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 


public boolean onTouchEvent(MotionEvent event) { 
Intent intent = new Intent(); 
intent.setClass(TestBundle.this, Target.class); 
Bundle mBundle = new Bundle(); 
mBundle.putString("Data", "hello, bear");//壓入資料 
intent.putExtras(mBundle); 
startActivity(intent); 
finish(); 
return super.onTouchEvent(event); 



第二個Activity,接收參數

import android.app.Activity; 
import android.os.Bundle; 

public class Target extends Activity{ 

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
Bundle bundle = getIntent().getExtras(); 
String data=bundle.getString("Data");//讀出資料 
setTitle(data); 

}


另外onCreate(Bundle savedInstanceState) 中的savedInstanceState用於當前activity被切換之前儲存臨時資料,以便在下次返回時顯示之前的資料的。因此在想使用Bundle savedInstanceState儲存臨時資料,就應該在onCreate(Bundle savedInstanceState)方法中提前寫好savedInstanceState。=null時的邏輯。參照理解:http://blog.sina.com.cn/s/blog_652dd96d0100ug6h.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.