• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            life02

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              197 隨筆 :: 3 文章 :: 37 評論 :: 0 Trackbacks
            http://www.cnblogs.com/salam/archive/2010/10/27/1862730.html

            效果如下:

             

            初始界面

            輸入信息

            “確定”以后

             

            一、API文檔說明

              1.介紹

                用于不同Activity之間的數據傳遞

              1.重要方法

                clear():清除此Bundle映射中的所有保存的數據。

                clone():克隆當前Bundle

                containsKey(String key):返回指定key的值

                getString(String key):返回指定key的字符

                hasFileDescriptors():指示是否包含任何捆綁打包文件描述符

                isEmpty():如果這個捆綁映射為空,則返回true

                putString(String key, String value):插入一個給定key的字符串值

                readFromParcel(Parcel parcel):讀取這個parcel的內容

                remove(String key):移除指定key的值

                writeToParcel(Parcel parcel, int flags):寫入這個parcel的內容

            二、實例

              

            public class BundleDemo extends Activity {
             private EditText etName;
             Button btn;

             /*
              * (non-Javadoc)
              *
              * @see android.app.Activity#onCreate(android.os.Bundle)
              */
             @Override
             protected void onCreate(Bundle savedInstanceState) {
              // TODO Auto-generated method stub
              super.onCreate(savedInstanceState);

              setContentView(R.layout.bundle);

              etName = (EditText) findViewById(R.id.etname);
              btn = (Button) findViewById(R.id.btn);
              btn.setOnClickListener(new OnClickListener() {

               @Override
               public void onClick(View v) {
                String info = etName.getText().toString();
                Bundle bundle = new Bundle();

              //保存輸入的信息
                bundle.putString("name", info);
                Intent intent=new Intent(BundleDemo.this,BundleDemo1.class);
               intent.putExtras(bundle);
               finish();
               startActivity(intent);
               }
              });

             }

            }

             

            public class BundleDemo1 extends Activity {
            private TextView etName;
             /* (non-Javadoc)
              * @see android.app.Activity#onCreate(android.os.Bundle)
              */
             @Override
             protected void onCreate(Bundle savedInstanceState) {
              // TODO Auto-generated method stub
              super.onCreate(savedInstanceState);
              
              setContentView(R.layout.b1);
              
              etName=(TextView)findViewById(R.id.txtname);
              Bundle b=getIntent().getExtras();
              //獲取Bundle的信息
              String info=b.getString("name");
              etName.setText("您的姓名:"+info);
             }

            }

             

            三、與SharedPreferences的區別

              SharedPreferences是簡單的存儲持久化的設置,就像用戶每次打開應用程序時的主頁,它只是一些簡單的鍵值對來操作。它將數據保存在一個xml文件中

              Bundle是將數據傳遞到另一個上下文中或保存或回復你自己狀態的數據存儲方式。它的數據不是持久化狀態。

            標簽: Android2.2

            一、使用Intent

                在 Android 中,不同的 Activity 實例可能運行在一個進程中,也可能運行在不同的進程中。因此我們需要一種特別的機制幫助我們在 Activity 之間傳遞消息。Android 中通過 Intent 對象來表示一條消息,一個 Intent 對象不僅包含有這個消息的目的地,還可以包含消息的內容,這好比一封 Email,其中不僅應該包含收件地址,還可以包含具體的內容。對于一個 Intent 對象,消息“目的地”是必須的,而內容則是可選項。

            在上面的實例中通過 Activity. startActivity(intent)啟動另外一個 Activity 的時候,我們在 Intent 類的構造器中指定了“收件人地址”。

            如果我們想要給“收件人”Activity 說點什么的話,那么可以通過下面這封“e-mail”來將我們消息傳遞出去:

             

            1. Intent intent =new Intent(CurrentActivity.this,OtherActivity.class);  
            2.   // 創建一個帶“收件人地址”的 email    
            3.  Bundle bundle =new Bundle();// 創建 email 內容   
            4.  bundle.putBoolean("boolean_key"true);// 編寫內容   
            5.  bundle.putString("string_key""string_value");   
            6.  intent.putExtra("key", bundle);// 封裝 email    
            7.  startActivity(intent);// 啟動新的 Activity   
             

             

            那么“收件人”該如何收信呢?在 OtherActivity類的 onCreate()或者其它任何地方使用下面的代碼就可以打開這封“e-mail”閱讀其中的信息:

             

            1. Intent intent =getIntent();// 收取 email    
            2.  Bundle bundle =intent.getBundleExtra("key");// 打開 email    
            3.  bundle.getBoolean("boolean_key");// 讀取內容   
            4.  bundle.getString("string_key");  
             

             

            上面我們通過 bundle對象來傳遞信息,bundle維護了一個 HashMap<String, Object>對象,將我們的數據存貯在這個 HashMap 中來進行傳遞。但是像上面這樣的代碼稍顯復雜,因為 Intent 內部為我們準備好了一個 bundle,所以我們也可以使用這種更為簡便的方法:

             

            1. Intent intent =new Intent(EX06.this,OtherActivity.class);   
            2.  intent.putExtra("boolean_key"true);   
            3.  intent.putExtra("string_key""string_value");   
            4.  startActivity(intent);  
             

             

            接收:

             

            1. Intent intent=getIntent();   
            2. intent.getBooleanExtra("boolean_key",false);   
            3. intent.getStringExtra("string_key");   
             

             

            二、使用SharedPreferences 

                SharedPreferences 使用 xml 格式為 Android 應用提供一種永久的數據存貯方式。對于一個 Android 應用,它存貯在文件系統的/data/ data/your_app_package_name/shared_prefs/目錄下,可以被處在同一個應用中的所有 Activity 訪問。Android 提供了相關的 API 來處理這些數據而不需要程序員直接操作這些文件或者考慮數據同步問題。

             

            1. // 寫入 SharedPreferences    
            2.  SharedPreferences preferences = getSharedPreferences("name", MODE_PRIVATE);   
            3.  Editor editor = preferences.edit();   
            4.  editor.putBoolean("boolean_key"true);   
            5.  editor.putString("string_key""string_value");   
            6.  editor.commit();   
            7.           
            8.  // 讀取 SharedPreferences    
            9.  SharedPreferences preferences = getSharedPreferences("name", MODE_PRIVATE);   
            10.  preferences.getBoolean("boolean_key"false);   
            11.  preferences.getString("string_key""default_value");   
             

             

            三、其他方式

            Android 提供了包括 SharedPreferences 在內的很多種數據存貯方式,比如 SQLite,文件等,程序員可以通過這些 API 實現 Activity 之間的數據交換。如果必要,我們還可以使用 IPC 方式。

             

            http://blog.csdn.net/sdlgxxy/article/details/6226127
            posted on 2012-02-22 10:34 life02 閱讀(681) 評論(0)  編輯 收藏 引用 所屬分類: Android開發
            亚洲一区中文字幕久久| 国产V综合V亚洲欧美久久| 精品久久久久中文字幕日本| 欧美精品乱码99久久蜜桃| 要久久爱在线免费观看| 久久无码人妻精品一区二区三区 | 久久国产成人| 久久香蕉国产线看观看乱码| 久久r热这里有精品视频| 久久精品无码一区二区三区| 欧美一区二区精品久久| 国产精品热久久无码av| 久久综合九色欧美综合狠狠| 久久精品一区二区三区中文字幕 | 亚洲AV日韩精品久久久久久久| 久久午夜无码鲁丝片秋霞| 奇米影视7777久久精品| 久久精品国产亚洲欧美| 久久婷婷人人澡人人| 97久久婷婷五月综合色d啪蜜芽| 精品久久久噜噜噜久久久| 精品免费久久久久国产一区| 亚洲精品tv久久久久| 精产国品久久一二三产区区别| 人妻丰满AV无码久久不卡 | 久久精品国产99国产精品| 日本国产精品久久| 影音先锋女人AV鲁色资源网久久 | 精品国产婷婷久久久| 99精品国产免费久久久久久下载 | 一本久久精品一区二区| 1000部精品久久久久久久久| 久久精品国产精品亚洲下载| 新狼窝色AV性久久久久久| 国产精品九九久久免费视频 | 久久毛片免费看一区二区三区| 怡红院日本一道日本久久| 午夜精品久久久久久影视riav| 久久国产乱子伦免费精品| 亚洲第一永久AV网站久久精品男人的天堂AV | 好久久免费视频高清|