Android 使用全局變量傳遞數據


使用全局變量傳遞數據,所謂的全局變量類似於jee開發中的application變量。申明后,全局調用。只有當內存被清理后,才被銷毀。否則一直可以調用。

還是使用點擊一個button,傳遞一個數據到另一個頁面中顯示。

首先,新建工程,然后,打開mainActivity.xml文件,然后,添加button。

<Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="使用Application傳遞數據" />

先新建一個MyApp.java類,存儲全局變量

public String name;
    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        setName("hello");
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public MyApp() {
        // TODO Auto-generated constructor stub
    }

然后在MainActivity.java中,添加

private Button button;
    private MyApp myapp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button)this.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //獲取全局變量數據
                myapp=(MyApp)getApplication();
                //myapp.setName("world");//可重新賦值
                Intent intent = new Intent(MainActivity.this,OtherActivity.class);
                startActivity(intent);
            }
        });
    }

新建布局文件other.xml文件加入

<TextView android:id="@+id/msg" android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

新建OtherActivity.java文件

public class OtherActivity extends Activity {
    private MyApp myapp;
    private TextView textview;
    public OtherActivity() {
        // TODO Auto-generated constructor stub
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.other);
        textview = (TextView)this.findViewById(R.id.msg);
        myapp = (MyApp)getApplication();
        textview.setText("name---->"+myapp.getName());
    }
}

最后在清單文件中注意:先在標簽application中加入

 <activity android:name=".OtherActivity"></activity>

再在application標簽中加入屬性android:name=".MyApp"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM