2015-02-11 15 views
8

Tôi đang sử dụng plugin Vải với Android studio sau khi đăng nhập tôi nhận được phiên, tên người dùng và userid. Cũng có địa chỉ email. Nhưng không thể tìm thấy bất kỳ tùy chọn nào để tìm nạp ảnh hồ sơ người dùng. Ai đó có thể giúp tôi trong việc này?Twitter Cách tải ảnh hồ sơ người dùng bằng cách sử dụng plugin Vải trong android Studio (Cố định)

/

/inti twitter client 
     loginButton = (TwitterLoginButton) findViewById(R.id.twitter_login_button); 
     loginButton.setCallback(new Callback<TwitterSession>() { 
      @Override 
      public void success(Result<TwitterSession> result) { 
       // Do something with result, which provides a TwitterSession for making API calls 
       System.out.println("twitter success"+result.data.getUserId()+result.data.getUserName()); 
       gettwitteremail(); 
      } 

      @Override 
      public void failure(TwitterException exception) { 
       // Do something on failure 
      } 
     }); 

private void gettwitteremail(){ 
     TwitterSession session = 
       Twitter.getSessionManager().getActiveSession(); 
     TwitterAuthToken authToken = session.getAuthToken(); 
     String token = authToken.token; 
     String secret = authToken.secret; 
     TwitterAuthClient authClient = new TwitterAuthClient(); 
     authClient.requestEmail(session, new Callback() { 
      @Override 
      public void success(Result result) { 
       // Do something with the result, which provides 
       // the email address 
       System.out.println("twitter sucess"+result.data); 
      } 

      @Override 
      public void failure(TwitterException exception) { 
       // Do something on failure 
       System.out.println("twitter sucess"+exception.getMessage()); 
       exception.printStackTrace(); 
      } 
     }); 

Cố định bằng cách sử dụng đoạn mã sau

TwitterSession session = 
       Twitter.getSessionManager().getActiveSession(); 
     TwitterAuthToken authToken = session.getAuthToken(); 
     String token = authToken.token; 
     String secret = authToken.secret; 
     TwitterApiClient twitterApiClient = Twitter.getApiClient(); 
     StatusesService twapiclient = twitterApiClient.getStatusesService(); 
     twapiclient.userTimeline(twitteruserid,null,null,null,null,null,null,null,null,new Callback<List<Tweet>>() { 
      @Override 
      public void success(Result<List<Tweet>> listResult) { 

       System.out.println("listResult"+listResult.data.size()); 
       System.out.println("listResult"+listResult.data.get(0).user); 
       System.out.println("listResult"+listResult.data.get(0).user.profileImageUrl); 
       userInfo.imageurl = listResult.data.get(0).user.profileImageUrl; 

      } 

      @Override 
      public void failure(TwitterException e) { 

      } 
     }); 
+0

Tôi đã sửa, với sự trợ giúp của phần còn lại api –

Trả lời

3

Hãy thử mã này cho lấy hồ sơ pic.

public void getTwitterData(final TwitterSession session) { 
     MyTwitterApiClient tapiclient = new MyTwitterApiClient(session); 
     tapiclient.getCustomService().show(session.getUserId(), 
     new Callback<User>() { 
      @Override 
      public void success(Result<User> result) { 

       TwitterAuthToken authToken = session.getAuthToken(); 
       String token = authToken.token; 
       String secret = authToken.secret; 
       name.setText(result.data.name); 
       location.setText(result.data.location); 
       new ImageDownloader(profileImageView) 
       .execute(result.data.profileImageUrl); 

       Log.d("Name", name); 
       Log.d("city", location); 

       } 

       public void failure(TwitterException exception) { 
       // Do something on failure 
       exception.printStackTrace(); 
      } 
     }); 

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

      public CustomService getCustomService() { 
       return getService(CustomService.class); 
      } 


     } 

     interface CustomService { 
      @GET("/1.1/users/show.json") 
      void show(@Query("user_id") long id, Callback<User> cb); 
     } 

************ 
    class ImageDownloader extends AsyncTask<String, Void, Bitmap> { 
     ImageView bmImage; 

     public ImageDownloader(ImageView bmImage) { 
      this.bmImage = bmImage; 
     } 

     protected Bitmap doInBackground(String... urls) { 
      String url = urls[0]; 
      Bitmap mIcon = null; 
      try { 
       InputStream in = new java.net.URL(url).openStream(); 
       mIcon = BitmapFactory.decodeStream(in); 
      } catch (Exception e) { 
       Log.e("Error", e.getMessage()); 
      } 
      return mIcon; 
     } 

     protected void onPostExecute(Bitmap result) { 
      bmImage.setImageBitmap(result); 
     } 
    } 
Các vấn đề liên quan