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"
。
運行截圖: