Android 創建全局變量和Context

Android創建全局變量有兩種方式:

  • 創建一個類繼承Application
//方法一
//定義一個類繼承Application
//在manifest.xml中聲明 android:name=".GlobalV1" (是在原有的application上添加)
//Activity中獲取方式:(GlobalV1)getApplication();
public class GlobalV1 extends Application{
    public String bbs="I am DlobalV1";
}
  • 使用static關鍵字修飾
//方法二
//定義靜態變量
public class GlobalV2 {
    public static String ssb="I am GlobalV2";
}

下面的demo綜合使用這兩種方法,不僅能提供全局變量,還能提供一個全局Context實例(在很多地方會用到)。

demo下載地址:http://download.csdn.net/detail/youmingyu/9715844

StaticLabels:

package fk.androiddemo_031;

import android.app.Application;

/**
 * Created by FK on 2016/12/19.
 */

public class StaticLabels extends Application {
    public static StaticLabels MyContext;
    public static String MyName="WindHelm";

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        MyContext = this;
    }
}

調用:

package fk.androiddemo_031;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
    Button but;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        but=(Button)findViewById(R.id.but);
        but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(StaticLabels.MyContext, "我的名字是"+StaticLabels.MyName, Toast.LENGTH_LONG).show();
            }
        });
    }
}

PS:不要忘記在ManiFest文件下android:name=".StaticLabels"

運行截圖:

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章