2017-04-12 316 views

回答

0
private void getFollowerList() 
{ 
    if (!Utils.isInternetOn(InviteFriendActivity.this)){ 
     Utils.showToast(this,getString(R.string.no_internet)); 
     return; 
    } 
    progressDialog.show(); 
    final TwitterSession session = Twitter.getSessionManager() 
      .getActiveSession(); 
    TwitterAuthToken authToken = session.getAuthToken(); 
    String token = authToken.token; 
    String secret = authToken.secret; 

//Here we get all the details of user's twitter account 
     Call<com.twitter.sdk.android.core.models.User> userCall= Twitter.getApiClient(session).getAccountService() 
       .verifyCredentials(true, false); 
     userCall.enqueue(new Callback<com.twitter.sdk.android.core.models.User>() { 
      @Override 
      public void onResponse(Call<com.twitter.sdk.android.core.models.User> call, Response<com.twitter.sdk.android.core.models.User> response) { 
       MyTwitterApiClient myTwitterApiClient = new MyTwitterApiClient(session); 
       myTwitterApiClient.getCustomService().list(response.body().id).enqueue(new Callback<ResponseBody>() { 
        @Override 
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { 
         Log.e("list",response.body().toString()); 
         BufferedReader reader = null; 
         StringBuilder sb = new StringBuilder(); 

         reader = new BufferedReader(new InputStreamReader(response.body().byteStream())); 

         String line; 

         try { 
          while ((line = reader.readLine()) != null) { 
           sb.append(line); 
          } 
         } catch (IOException e) { 
          e.printStackTrace(); 
          progressDialog.dismiss(); 
         } 


         String result = sb.toString(); 
         System.out.println("Response is>>>>>>>>>"+result); 
         JsonObject obj= new Gson().fromJson(result,JsonObject.class); 
         JsonArray usersArray= (JsonArray) obj.get("users"); 
         JsonArray userIds = new JsonArray(); 
         for(int i=0;i<usersArray.size();i++){ 
          JsonObject userObject = (JsonObject) usersArray.get(i); 
          userIds.add(userObject.get("id_str")); 
         } 
         // Api call with Twitter followers ids 
         JsonObject jsonObject = new JsonObject(); 
         jsonObject.add("twitter_ids",userIds); 

        } 

        @Override 
        public void onFailure(Call<ResponseBody> call, Throwable t) { 
         Utils.showToast(InviteFriendActivity.this,getString(R.string.something_went_wrong)); 
         progressDialog.dismiss(); 
        } 

       }); 
      } 

      @Override 
      public void onFailure(Call<com.twitter.sdk.android.core.models.User> call, Throwable t) { 
       Utils.showToast(InviteFriendActivity.this,getString(R.string.something_went_wrong)); 
       progressDialog.dismiss(); 
      } 
     }); 
    } 

这是函数被调用来获得追随者列表。

public class MyTwitterApiClient extends TwitterApiClient { 
    public MyTwitterApiClient(TwitterSession session) { 
     super(session); 
    } 

    /** 
    * Provide CustomService with defined endpoints 
    */ 
    public Api getCustomService() { 
     return getService(Api.class); 
    } 
} 

这是ApiCLientClass

在这个例子中仅ID存储在onResponse方法 usersArray将包含所有用户列表与用户的全部信息

。 您可以删除并执行您的互联网连接检查,并显示我在Utils类中完成的烤面包。 而Api类是这样的

public interface Api { 
@GET("/1.1/followers/list.json") 
    Call<ResponseBody> list(@Query("user_id") long id); 
} 
+1

谢谢你。这是一个很好的帮助 – user7144720

相关问题