全局获取Context的技巧

Posted index-xue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局获取Context的技巧相关的知识,希望对你有一定的参考价值。

回想起我所学的内容,就会发现很多时候都会用到Context,比如弹出Toast的时候,启动活动,发送广播,操作数据库的时候都会用到。大多时候我们都是在活动中操作的,所以不用为获取Context而发愁,因为活动本身就是一个Context,但是当应用的架构复杂起来的时候,你就会发现,很多代码都会脱离活动,这时候你有需要Context,这就是一件令你头疼的时候了。下来我们就讲讲如何获取Context。

为简单,我们举个例子来说明下:
public class HttpUtil{

public static void sendHttpRequest( final String address,final HttpCallbackListener listener){

new Thread(

new Runnable(){

public void run(){

HttpURLConnection conn = null;

URL url = null;

try{

url = new URL(address);

conn = (HttpURLConnection)url.openConnection();

conn.setRequestMethod("GET");

conn.setConnectTimeout(8000);

conn.setReadTimeout(6000);

conn.setDoInput(true);

conn.setDoOutput(true);

InputStream in = conn.getInputStream();

BufferedReader reader = new BufferedReader(new InputStreamReader(in));

StringBuilder res = new StringBuilder();

String line = "";

while((line = reader.readLine())! = null){

res.addpend(line);

if(listener != null){

listener.onFinsh(res.toString());

}

}

catch(Exception e){

if(listener != null){

listener.onError(e);

}

}

 

finally{

if(conn != null){

conn.disconnect();

}

}

}

}

}

).start();

}

 

 

}

 

 

 

 

由上可知,获取Context类是一件很难的事,为此android提供了一个Application类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。我们定制一个自己的Application类。

public class Myapplication extends Application{

private static Context context;

public void onCreate(){

context = getApplicationContext();

}

public static Context getContext(){

return context;

}

}


以上是关于全局获取Context的技巧的主要内容,如果未能解决你的问题,请参考以下文章

Android开发小技巧-------如何获取全局的Context

Android-获取全局Context的技巧-android学习之旅(68)

10Android--技巧

Android开发学习之进阶技巧

Android开发学习之实用技巧

Android :第一行安卓代码学习笔记之 全局获取 Context