Android開發系列之全局變量


  項目開發的過程中,可能會大量的使用全局變量,在android開發中,大多數人更偏向於使用application來保存全局變量。那么我們就先來了解下在android中,application究竟是什么?有什么作用?

  Application類是用來維護應用程序全局狀態。我們可以提供自己的實現,並在AndroidManifest.xml文件的<application>標簽中指出它的名字,這將導致在創建應用程序時去實例化我們自己的Application類。Android系統會為每個程序運行時創建一個Application類的對象且僅創建一個,所以Application可以說是單例模式的一個類。且Application對象的生命周期是整個程序中最長的,它的生命周期就等於這個程序的生命周期。因為它是全局唯一的,所以在不同的Activity,Service中獲得的對象都是同一個對象。所以,通過Application來進行一些數據傳遞、數據共享、數據緩存等操作。

  首先創建繼承自Application的MyApplication類,定義變量score,並創建get和set方法。

 1 package com.example.whs.myapplication;
 2 
 3 import android.app.Application;
 4 
 5 /**
 6  * Created by whs on 17/5/1.
 7  */
 8 
 9 public class MyApplication extends Application {
10     private int score = 100;
11 
12     public int getScore() {
13         return score;
14     }
15 
16     public void setScore(int score) {
17         this.score = score;
18     }
19 }

  下面就是如何使用我們創建的全局變量了,在MainActivity中,首先要獲得MyApplication的對象,因為MyApplication繼承自Application,所以使用getApplication()方法即可,然后可以調用MyApplication的get或set方法進行訪問全局變量。

        MyApplication application = (MyApplication)this.getApplication();
        application.setScore(200);
        int score = application.getScore();    

  注意,在使用MyApplication之前需要修改AndroidManifest.xml文件的<application>中的android:name = ".MyApplication",這樣就不會訪問系統提供的application,而訪問我們自己創建的。

 


免責聲明!

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



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