答案 0 :(得分:1)
Service在UI /主线程上运行,而Intent Service在后台线程上运行,它还有另一个优势,即服务是Intent Service在完成任务后自行关闭。
<强>服务强>
服务是一个应用程序组件,可以在后台执行长时间运行的操作,但不提供用户界面
意向服务
IntentService是服务的基类,可根据需要处理异步请求(表示为Intents)。客户端发送请求 通过startService(Intent)调用;该服务根据需要启动, 使用工作线程依次处理每个Intent并自行停止 当它用完时
只需创建一个扩展IntentService和onHandleIntent()
方法的类,即可获取配置文件。
我不知道你是如何通过HTTP获取配置文件的,因为Android提供了一个称为Volley的框架。它提供了优于传统HTTPRequest类的HTTP处理
简单的HTTP请求如下所示
final TextView mTextView = (TextView) findViewById(R.id.text);
...
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String url ="http://www.google.com";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
mTextView.setText("Response is: "+ response.substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mTextView.setText("That didn't work!");
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
详细了解fetching data here。