【发布时间】:2015-05-25 15:25:24
【问题描述】:
我扩展了 Application 类以便在 android 中创建类似单例的对象。
在这个对象中,我的服务器拥有所有 HTTP 工作,所有其他活动都可以访问它并调用 GET、POST 等方法。
代码:
public class HttpManagerInstance extends Application {
private HttpClient httpClient;
private HttpGet get;
@Override
public void onCreate() {
httpClient = new DefaultHttpClient();
get = new HttpGet("http://10.100.102.9:8000/users/");
super.onCreate();
}
public Void getUsers() throws Exception {
new executeRequest().execute(get);
return null;
}
private class executeRequest extends AsyncTask<HttpRequest, Void, Integer> {
@Override
protected Integer doInBackground(HttpRequest... params) {
// TODO Auto-generated method stub
HttpRequest request = params[0];
HttpResponse response;
String result="";
try {
response = httpClient.execute((HttpUriRequest) request);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return responseCode;
}
@Override
protected void onPostExecute(Integer result) {
// TODO Auto-generated method stub
switch (result) {
case HttpStatus.SC_OK:
// request was fine
// Here I want to updated the GUI of the activity that called this method.
break;
}
}
}
}
这就是我从 Activity 调用方法的方式:
HttpManagerInstance sampleApp = (HttpManagerInstance)getApplicationContext();
sampleApp.getUsers();
再次 - 我想访问调用该方法的 Activity 的 UI 以放置 REQUEST ACCEPTED 消息。
也许传递一个上下文?有什么想法吗?
【问题讨论】:
标签: android user-interface android-activity android-context