Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Http包装器_Android_Facebook_Http_Wrapper_Facebook Sdk 3.0 - Fatal编程技术网

Android Http包装器

Android Http包装器,android,facebook,http,wrapper,facebook-sdk-3.0,Android,Facebook,Http,Wrapper,Facebook Sdk 3.0,我需要编写一个简单的HTTP包装器,用于在android上使用Facebook SDK 我对Android非常陌生,我正在尝试使用教程,但我发现的所有内容都是基于HttpClient的,即已经弃用的,我不想开始使用Android的弃用功能 所以我的问题是,现在HTTP包装器的最佳实践是什么 谢谢,除非必须,否则不要重新发明轮子 使用 Volley是一个HTTP库,为Android应用程序建立网络 更容易,更重要的是,更快。截击可以通过 打开AOSP存储库 如果你指的是Android框架,那么你可

我需要编写一个简单的HTTP包装器,用于在android上使用Facebook SDK

我对Android非常陌生,我正在尝试使用教程,但我发现的所有内容都是基于HttpClient的,即
已经弃用的
,我不想开始使用Android的弃用功能

所以我的问题是,现在HTTP包装器的最佳实践是什么


谢谢,

除非必须,否则不要重新发明轮子

使用

Volley是一个HTTP库,为Android应用程序建立网络 更容易,更重要的是,更快。截击可以通过 打开AOSP存储库

如果你指的是Android框架,那么你可以使用的所有库都是围绕它的包装器

您可以始终使用第三方库,如或。它们也会考虑向后兼容性(HttpURLConenction在API 11之前不可用)


如果您计划构建特定于您的使用的框架包装,那么HttpURLConnection是一个合适的选择。至于最佳实践,适用于DefaultHttpConnection的内容在这里继续适用。

您可以使用Square的改装库进行网络操作。

您应该创建一个响应拦截器类,如下所示

public class YourWrapper implements Interceptor {
   @Override
   public Response intercept(Chain chain) throws IOException {
      Request request = chain.request();
      Response response = chain.proceed(request);
      // After you get response you can do what ever you want.
      // If you need you can re call same api with return     chain.proceed(newRequest);
   }
}
您可以将自定义响应侦听器类设置为Rest Api,如下所示:

          OkHttpClient client = new OkHttpClient();
          client.interceptors().add(new YourWrapper());
          RestAdapter restAdapter = new RestAdapter.Builder().setLogLevel(RestAdapter.LogLevel.BASIC)
                                                             .setClient(new OkClient(client))
                                                             .setEndpoint(url).build();

将包装器响应拦截器设置为RESTAPI后,当您首先获得api结果时,包装器将捕获响应,然后回调将捕获响应

实际上,我所做的是更深入地关注facebook文档,并发现我可以使用GraphRequest与facebook SDK一起工作

例如,获取facebook好友列表如下:

    public void getFriendsList(AccessToken acccess_token) throws Exception {
    GraphRequest request = GraphRequest.newMyFriendsRequest(acccess_token,new GraphRequest.GraphJSONArrayCallback() {
        @Override
        public void onCompleted(JSONArray objects, GraphResponse response) {
            Type collectionType = new TypeToken<FaceBookProfile>(){}.getType();
            FaceBookProfile profile = GsonUtils.createGson().fromJson(response.getRawResponse(), collectionType);
        }
    }) ;
    request.executeAsync();
}
编译'com.google.code.gson:gson:2.3'
}

你能给我举一个HttpURLConnection的例子吗-使用facebook Graph API?
dependencies {