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"

运行截图:

Android 创建全局变量和Context_第1张图片

你可能感兴趣的:(Android,学习整理)