android 는 service 에서 AsyncHttpClient 를 사용 하여 네트워크 자원 을 불 러 옵 니 다.
package com.example.service;
import org.apache.http.Header;
import org.json.JSONObject;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.JsonHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import android.annotation.SuppressLint;
import android.app.Service;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Binder;
import android.os.IBinder;
import android.widget.Toast;
public class GetDateService extends Service{
/*
* */
private MyBind myBind=new MyBind();
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
System.out.println("TestService oncreate()");
}
@SuppressLint("NewApi")
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
getDate("http://www.lewei50.com/api/V1/Gateway/GetSensors/01");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("TestService desory()");
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return myBind;
}
@Override
public void unbindService(ServiceConnection conn) {
// TODO Auto-generated method stub
System.out.println("Test UnbindService()");
super.unbindService(conn);
}
public class MyBind extends Binder{
public void test(){
System.out.println("test");
}
public GetDateService getDateService(){
return GetDateService.this;
}
}
public void getDate(String url){
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
//
params.put("userKey", "cc809cd707xxxxxa917xxxxxxc674d0");
client.get(url,params, new JsonHttpResponseHandler() {
@Override
public void onStart() {
// called before request is started
}
@Override
public void onSuccess(int statusCode, Header[] headers,JSONObject response) {
// TODO Auto-generated method stub
super.onSuccess(statusCode, headers, response);
Toast.makeText(GetDateService.this, response.toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(int arg0, Header[] headers, byte[] arg2,
Throwable arg3) {
// TODO Auto-generated method stub
super.onFailure(arg0, headers, arg2, arg3);
Toast.makeText(GetDateService.this, arg3.toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onRetry() {
// TODO Auto-generated method stub
super.onRetry();
}
});
System.out.println(url);
}
}
public void getDate(String url){ AsyncHttpClient client = new AsyncHttpClient(); RequestParams params = new RequestParams(); // 요청 한 매개 변수 이름과 매개 변수 값 설정 params.put("userKey", "cc809cd707cexxxxx9176xxxxxc674d0"); client.get(url,params, new JsonHttpResponseHandler() { @Override public void onStart() { // called before request is started } @Override public void onSuccess(int statusCode, Header[] headers,JSONObject response) { // TODO Auto-generated method stub super.onSuccess(statusCode, headers, response); Toast.makeText(GetDateService.this, response.toString(), Toast.LENGTH_SHORT).show(); } @Override public void onFailure(int arg0, Header[] headers, byte[] arg2, Throwable arg3) { // TODO Auto-generated method stub super.onFailure(arg0, headers, arg2, arg3); Toast.makeText(GetDateService.this, arg3.toString(), Toast.LENGTH_SHORT).show(); } @Override public void onRetry() { // TODO Auto-generated method stub super.onRetry(); } }); }
매개 변수 형식 은 String 형식 이 고 데이터 형식 은 json 형식 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Angular에서 서비스를 사용하여 데이터 공유Michael은 두 가지 구성 요소로 각도 프로젝트를 시작했습니다. 그는 입력 데코레이터를 사용하여 부모에서 자식 구성 요소로 데이터를 전달하고 출력 데코레이터를 사용하여 자식에서 부모 구성 요소로 데이터를 전달했습...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.