Android_社交軟體2_全域變數

來源:互聯網
上載者:User

標籤:android   style   blog   http   io   color   ar   使用   sp   

1.使用application來儲存全域變量                                                             

這裡沒有太多理論性的東西,無非就是一些實際操作。

1.1定義Data類繼承Application Data.class

import android.app.Application;public class Data extends Application{private String b;public String getB(){return this.b;}public void setB(String c){this.b= c;}@Overridepublic void onCreate(){b = "hello";super.onCreate();}}

1.2在manifest.xml中聲明application

android:name="com.animator1.Data" >

1.3建立兩個Activity

MainActivity.class

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Button btn = (Button) this.findViewById(R.id.button1);final TextView txtview = (TextView) this.findViewById(R.id.main);final Data app = (Data)getApplication();txtview.setText(app.getB());btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubapp.setB("no_hello");txtview.setText(app.getB());Intent intent = new Intent(MainActivity.this, secondActivity.class);startActivity(intent);}});}}

secondActivity.class

public class secondActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second);Button btn = (Button) this.findViewById(R.id.button2);final TextView txtview = (TextView) this.findViewById(R.id.second);final Data app = (Data)getApplication();txtview.setText(app.getB());btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubapp.setB("hello");txtview.setText(app.getB());Intent intent = new Intent(secondActivity.this, MainActivity.class);startActivity(intent);}});}}

1.4運行程式    

說明:程式首先進入MainActivity.class中,擷取Data中變數b的值,顯示圖1所示的介面hello,單擊button後app.setB("no_hello"), 修改變數b的值。

           跳轉到secondActivity.class,擷取Data中變數b的值,顯示圖2所示的介面no_hello,單擊button後app.setB("hello"), 修改變數b的值。

           跳回MainActivity.class……  迴圈

2.使用普通的類Data.class來儲存全域變量                                                             

方法和上面差不多。

1.1 定義Data.class

public class Data{private static String a ="feiyangxiaomi";public static String getA() {return a;}public static void setA(String a) {Data.a = a;}}

1.2建立兩個Activity

MainActivity.class

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Button btn = (Button) this.findViewById(R.id.button1);final TextView txtview = (TextView) this.findViewById(R.id.main);txtview.setText(Data.getA());btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubData.setA("no_feiyangxiaomi");Intent intent = new Intent(MainActivity.this, secondActivity.class);startActivity(intent);}});}}

secondActivity.class

public class secondActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second);Button btn = (Button) this.findViewById(R.id.button2);final TextView txtview = (TextView) this.findViewById(R.id.second);txtview.setText(Data.getA());btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubData.setA("feiyangxiaomi");Intent intent = new Intent(secondActivity.this, MainActivity.class);startActivity(intent);}});}}

1.3運行程式                      

說明:程式首先進入MainActivity.class中,擷取Data中變數b的值,顯示圖1所示的介面feiyangxiaomi,單擊button後app.setB("no_feiyangxiaomi"), 修改變數b的值。

           跳轉到secondActivity.class,擷取Data中變數b的值,顯示圖2所示的介面no_feiyangxiaomi,單擊button後app.setB("feiyangxiaomi"), 修改變數b的值。

           跳回MainActivity.class……  迴圈

3.總結                                                                                        
    兩種方法我測試的都可以的,大多數人應該更會偏向於第一種,畢竟Application是android專門提供的應用入口,並且運行周期貫穿整個程式運行。

 

摘自

http://blog.csdn.net/feiyangxiaomi/article/details/9966215

Android_社交軟體2_全域變數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.