zoukankan      html  css  js  c++  java
  • Android开发之全局获取Context的技巧

    转自《第一行代码-Android》进阶篇

    这本书对于入门来说确实很棒,很简单明了的介绍了Android开发中涉及到的方方面面,对我的帮助很大,同时记录一些该书中一些对我以后开发有用的东西,以方便使用。

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

    定制一个自己的Application,首先需要创建一个MyApplication类继承Application。

     1 public class MyApplication extends Application {
     2     
     3     private static Context context;
     4 
     5     @Override
     6     public void onCreate() {
     7         // TODO Auto-generated method stub
     8         super.onCreate();
     9         context=getApplicationContext();
    10     }
    11     
    12     public static Context getContext() {
    13         return context;
    14     }
    15 }

    重写了父类的onCreate()方法,并通过调用getApplicationContext()方法得到了一个应用程序级别的Context,然后又提供了一个静态的getContext()方法,在这里将刚才获取到的Context返回。

    在AndroidMainifest文件中的<application>标签下进行指定

     1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     2     package="com.example.test"
     3     android:versionCode="1"
     4     android:versionName="1.0" >
     5     ......
     6     <application
     7         android:name="com.example.test.MyApplication"
     8         ......>
     9         ......
    10         </activity>
    11     </application>
    12 </manifest>

    这样我们就已经实现了一种全局获取Context的机制,之后不管你想在项目的任何地方使用Contenxt,只需要调用一下MyApplication.getContext()方法就可以了。

  • 相关阅读:
    C# 串口通信总结
    客户端下载文件和服务器端下载文件总结
    Android 上传图片到 Asp.Net 服务器的问题
    iOS内存泄漏自动检测工具PLeakSniffer
    让iOS开发变得更有效率-分类、工具类
    分分钟解决iOS开发中App启动广告的功能
    响应者链及相关机制总结
    stackoverflow上关于iOS的票数最多(最常见)的15个问题
    iOS 开发之 ReactiveCocoa(进阶)
    iOS 开发之 ReactiveCocoa(基础)
  • 原文地址:https://www.cnblogs.com/liyiran/p/4633559.html
Copyright © 2011-2022 走看看