2012-11-26 78 views
0

我一直在使用Facebook的Android SDK中得到了所有的Facebook相册(和它们的ID),并在列表中显示它们。 现在对特定列表项的点击,我想这张专辑的所有照片(WRT“ID”)获取每个Facebook相册w.r.t相册ID的相册 - Facebook的Android的SDK

我的专辑ID是这样的:

if (!facebook.isSessionValid()) { 
     facebook.authorize(this, new String[] { "user_photos" }, 

     new DialogListener() { 

      public void onComplete(Bundle values) { 

      mAsyncRunner.request("me/albums", new albumsRequestListener()); 
      } 

      public void onFacebookError(FacebookError error) { 
      } 

      public void onError(DialogError e) { 
      } 

      public void onCancel() { 
      } 
     }); 
    } 

public class albumsRequestListener implements RequestListener { 

    public void onComplete(String response, Object state) { 
     // TODO Auto-generated method stub 

     try { 

      Log.d("Facebook-Example", "Response: " + response.toString()); 
      JSONObject json = Util.parseJson(response); 
      String count = "0"; 
      JSONArray jArrData = new JSONArray(); 
      jArrData = json.getJSONArray("data"); 


      for (int i = 0; i < jArrData.length(); i++) { 

       JSONObject objAlbum = jArrData.getJSONObject(i); 


       String albumId = objAlbum 
         .getString("id"); 
       String albumName = objAlbum 
         .getString("name"); 

       if(objAlbum.has("count")) 
         { 
        count = objAlbum.getString("count"); 
         } 
       else 
        { 
        count = "0"; 
        } 

       FbAlbums obj = new FbAlbums(); 

       obj.setId(albumId); 
       obj.setName(albumName); 
       obj.setCount(count); 


       listFbAlbums.add(obj); 
      } 


       FB.this.runOnUiThread(new Runnable() { 
        public void run() { 
         adapter = new FbAlbumsListAdapter(
           getApplicationContext(),listFbAlbums); 
         lvAlmbums.setAdapter(adapter); 
         pb.setVisibility(View.INVISIBLE); 

         lvAlmbums.setOnItemClickListener(new OnItemClickListener() { 

          public void onItemClick(AdapterView<?> parent, View view, 
            int position, long id) { 
           Toast.makeText(getApplicationContext(), position, Toast.LENGTH_SHORT).show(); 
          } 


        }); 
        } 

       }); 
     } catch (JSONException e) { 
      Log.w("Facebook-Example", "JSON Error in response"); 
     } catch (FacebookError e) { 
      Log.w("Facebook-Example", "Facebook Error: " + e.getMessage()); 
     } 
    } 

    public void onIOException(IOException e, Object state) { 
     // TODO Auto-generated method stub 

    } 

    public void onFileNotFoundException(FileNotFoundException e, 
      Object state) { 
     // TODO Auto-generated method stub 

    } 

    public void onMalformedURLException(MalformedURLException e, 
      Object state) { 
     // TODO Auto-generated method stub 

    } 

    public void onFacebookError(FacebookError e, Object state) { 
     // TODO Auto-generated method stub 

    } 

} 

我怎样才能得到一个包含JSON每张专辑的图像的来源? 还是有一些其他的方式? 任何帮助将不胜感激,谢谢

+0

你能提供给我你已经完成了代码。我也有同样的要求。谢谢 –

回答

0

只需使用相册ID,并添加/照片到最后:

mAsyncRunner.request(albumid+"/photos", new photosRequestListener()); 
相关问题