2017-04-12 6 views

Antwort

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

Diese Funktion wird aufgerufen, um Follower-Liste zu erhalten.

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

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

dies ApiCLientClass

in diesem Beispiel nur ids in onResponse Methode usersArray gespeichert sind, werden alle userlist mit allen verfügbaren Daten der Benutzer enthalten. Sie können entfernen und führen Sie Ihre Überprüfung für die Internetverbindung und zeigt Toast, die ich in Utils Klasse gemacht habe. Und die Api-Klasse ist dies

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

Vielen Dank.Es war eine große Hilfe – user7144720