温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android在service中使用AsyncHttpClient加载网络资源

发布时间:2020-09-17 04:59:06 来源:网络 阅读:2376 作者:matengbing 栏目:移动开发
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问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI