Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android程序中Acticity間傳遞數據

Android程序中Acticity間傳遞數據

編輯:關於Android編程

 在Android開發過程中,在不同的Acitivity之間傳遞數據的情況是非常常見的。我花費了一點時間來總結Acitivity之間的數據傳遞,記錄下來。     1、簡單傳遞鍵值對     這種傳遞方式非常簡單,只需要在構造Intent加入相應的鍵值對。     在ActivityA中,調用Intent的代碼如下:   1 Intent i = new Intent(ActivityA.this,ActivityB.class); 2 i.putExtra("name", "Finlay Liu"); 3 i.putExtra("age", "19"); 5 startActivity(i);   在ActivityB中,可以直接更加相應的鍵值對讀取即可。   1 String s = getIntent().getStringExtra("name") + " : " + getIntent().getStringExtra("age"); 4 Toast.makeText(this, s, Toast.LENGTH_SHORT).show();   2、傳遞對象     在不同的Acitivity之間傳遞對象,也是一種非常常見的做法。之前沒有仔細閱讀Android開發文檔,所以之前我在寫Android代碼的時候,不同Acitivity之間對象傳遞是通過靜態類來實現的。起始在Activity間傳遞對象也非常簡單,與上面的傳遞鍵值對方法類似。     首先是對需要傳遞的類加上序列化接口:      1 package com.finlayliu.passingobject;  2   3 import java.io.Serializable;  4   5 public class Person implements Serializable {  6   7     private static final long serialVersionUID = 1L;  8   9     public int getId() { 10         return id; 11     } 12  13     public void setId(int id) { 14         this.id = id; 15     } 16  17     public String getName() { 18         return name; 19     } 20  21     public void setName(String name) { 22         this.name = name; 23     } 24  25     public int getAge() { 26         return age; 27     } 28  29     public void setAge(short age) { 30         this.age = age; 31     } 32  33     private int id; 34     private String name; 35     private int age; 36  37     public Person() { 38  39     } 40  41     public Person(int id, String name, int age) { 42         this.id = id; 43         this.name = name; 44         this.age = age; 45  46     } 47  48     public String toString() { 49         return id + ":" + this.name + ":" + age; 50     } 51 } 復制代碼       在ActivityA中,調用Intent的代碼如下:   1 Intent i = new Intent(MainActivity.this, OtherActivity.class); 2 Person p = new Person(1, "Finaly Liu", 19); 3 i.putExtra("Person", p); 4  5 startActivity(i);   在ActivityB中,讀取相應的對象代碼如下:   1 Person p = (Person) getIntent().getSerializableExtra("Person"); 2 Toast.makeText(getApplicationContext(), p.toString(), Toast.LENGTH_LONG).show();
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved