码迷,mamicode.com
首页 > 其他好文 > 详细

全局获取Context的技巧

时间:2018-09-24 14:50:37      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:extends   toast   操作   list   广播   stat   nec   NPU   llb   

回想起我所学的内容,就会发现很多时候都会用到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的技巧

标签:extends   toast   操作   list   广播   stat   nec   NPU   llb   

原文地址:https://www.cnblogs.com/index-xue/p/9695296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!