前言:

Android提供了一个Application类,每当应用程序启动的时候,系统就会自动将这个类进行初始化,而我们可以定制一个自己的Application类,以便管理程序内的一些全局状态信息,比如说全局Context。

定制自己的Application只需要继承Application就可以了。
public class MyApplication extends Application {    private static Context mContext;    @Override    public void onCreate() {        super.onCreate();        //获取context        mContext = getApplicationContext();    }    //创建一个静态的方法,以便获取context对象    public static Context getContext(){        return mContext;    }}

是不是很简单,当然还要修改Manifest中的内容,用以告诉程序启动时初始化Myapplication类,而不是Application类。下面我就用一个简单的实例来演示一下吧。

效果展现:


效果解释:我在MainActivity中的onCreate()方法中调用自定义的一个类中的方法,这个方法中有Toast()方法。

实现步骤:

1.自定义一个类继承Applicatioon类
public class MyApplication extends Application {    private static Context mContext;    @Override    public void onCreate() {        super.onCreate();        //获取context        mContext = getApplicationContext();    }    //创建一个静态的方法,以便获取context对象    public static Context getContext(){        return mContext;    }}
2.在Manifest添加一句语句:原因上面说过了
 <application //注意是完整的路劲,我这个是因为前面有一句:package="com.example.getcontexttest"         android:name=".util.MyApplication"       ............    </application>
3.自定义一个类,创建一个静态方法,用于验证:
public class GetContext {    public static void toastNews(){        Context context = MyApplication.getContext();        Toast.makeText(context, "hello world", Toast.LENGTH_SHORT).show();    }}
最后调用这个方法:
public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        GetContext.toastNews();    }}

更多相关文章

  1. android中httpclient和HttpURLConnection优缺点和常见bug解决方
  2. 梳理Android的IPC进程间通信(最新AndroidStudio的AIDL操作)
  3. Android(安卓)Studio3.0 apk安装时提示受损解决方法
  4. Android(安卓)应用性能优化
  5. 初学android第一章、第二章
  6. Android(安卓)WebView 精简Demo
  7. android 4.4 以上沉浸式状态栏和沉浸式导航栏管理,一句代码轻松实
  8. Android中控制软键盘的方法总结
  9. [置顶] android Activity和service深入介绍

随机推荐

  1. 面试官:手写一个插入排序,并对其改进
  2. 面试官:如何在十亿个单词字典中,判断某个单
  3. java集合系列(8)HashMap(源码分析,强烈推荐!!!)
  4. 序列化系列(3)protostuff
  5. java远程调用之RMI(终于可以自己写代码控
  6. java多线程(2)线程生命周期和常见API
  7. LeetCode:广度优先搜索(BFS)算法(常见面试
  8. Android(安卓)通知栏Notification的整合
  9. Shiro安全框架(1)入门基础案例
  10. 测试 Android(安卓)G1 是否支持 OpenGL