2015-04-24 3 views
0

Мне нужно написать простой HTTP-обертку для работы с Facebook SDK на android.Android Http Wrapper

Я очень новый для Android, и я пытаюсь использовать учебники, но все, что я найти основано на HttpClient, который already deprecated и я не хочу, чтобы начать работать с Android с устаревшей функциональностью.

Итак, мой вопрос в том, что является лучшей практикой прямо сейчас для HTTP-обертки?

Спасибо,

ответ

0

На самом деле, что я сделал, следуйте документации на facebook глубже и узнайте, что я могу использовать GraphRequest для работы с SDK в facebook.

, например, получить список 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(); 
} 

Я также aded библиотека GSON, чтобы иметь возможность drectlly разбора JSON объектов

вы можете сделать это, добавив этот код dependances:

dependencies { 

компиляции 'com.google.code.gson: gson: 2,3' }

0

Не изобретать колесо, если вы должны.

Volley is a great library использовать.

Volley является HTTP библиотека, которая делает сети для Android приложений проще и самое главное, быстрее. Волейбол доступен через открытый репозиторий AOSP .

0

Если вы имеете в виду DefaultHttpClient то все библиотеки, которые можно использовать в обертками вокруг других it.The опции HttpURLConnection который является выбор Android рамок.

Вы всегда можете использовать стороннюю библиотеку, такую ​​как OkHttp или Volley. Они также позаботятся о обратной совместимости (HttpURLConenction недоступен до API 11).

Если вы планируете создавать скелетные обертки, специфичные для вашего использования, то HttpURLConnection является подходящим выбором. Что касается лучших практик, то здесь применяется то, что применяется к DefaultHttpConnection.

+0

Не могли бы вы привести пример HttpURLConnection - работа с API-интерфейсом facebook? – Irakli

0

Вы можете использовать библиотеку Square's Retrofit для своих сетевых операций. http://square.github.io/retrofit/

Вы должны создать класс ответного перехватчика, как показано ниже.

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); 
    } 
} 

Вы можете установить свой собственный класс ответ перехватчик для отдыха Апи, как показано ниже:

  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(); 

После того, как вы установите оболочку перехватчик ответ на ваш REST API, когда вы получаете результат апите первые вашу обертка отклика и ответ на ваш ответ.

 Смежные вопросы

  • Нет связанных вопросов^_^