Facebook Profilbilder

  • Antworten:0
Sebastian Klaiber
  • Forum-Beiträge: 44

05.02.2012, 14:44:39 via Website

Hi, ich bin gerade dabei eine App zu bauen die über Facebook Conect die Profilbilder lädt und in der App darstellt. Wenn ich das so machen wie bei meinen Codebeispielen werden die Bilder und die Namen geladen und dargestellt nur das scrollen ist sehr langsam an was kann das liegen?

TestConector.java
1public class FriendsRequestListener implements
2 com.facebook.android.AsyncFacebookRunner.RequestListener {
3 @Override
4 public void onComplete(String response, Object state) {
5 mSpinner.dismiss();
6 try {
7 Log.d("TestApp", "response.length(): " + response.length());
8 Log.d("TestApp", "Response: " + response);
9
10 final JSONObject json = new JSONObject(response);
11 JSONArray d = json.getJSONArray("data");
12 int l = (d != null ? d.length() : 0);
13 Log.d("Facebook-Example-Friends Request", "d.length(): " + l);
14
15 for (int i = 0; i < l; i++) {
16 JSONObject o = d.getJSONObject(i);
17 String n = o.getString("name");
18 String id = o.getString("id");
19 friendsHolder = new Friends();
20 friendsHolder.id = id;
21 friendsHolder.name = n;
22 friends.add(friendsHolder);
23 userId = friendsHolder.id;
24 }
25
26 TestConnector.this.runOnUiThread(new Runnable() {
27 public void run() {
28 friendsArrayAdapter = new FriendsArrayAdapter(
29 TestConnector.this, R.layout.rowlayout, friends, getUserPic(friendsHolder.id) );
30 mFriendsList.setAdapter(friendsArrayAdapter);
31 friendsArrayAdapter.notifyDataSetChanged();
32 }
33 });
34 } catch (JSONException e) {
35 Log.w("Facebook-Event", "JSON Error in response");
36 }
37 }

1public Bitmap getUserPic(final String userID) {
2 final String imageURL;
3 friendsHolder = new Friends();
4 friendsHolder.profilPic = null;
5 Log.d("", "Loading Picture");
6 imageURL = "http://graph.facebook.com/"+userID+"/picture?type=small";
7
8 try {
9 friendsHolder.profilPic = BitmapFactory.decodeStream((InputStream) new URL(imageURL).getContent());
10 } catch (Exception e) {
11 Log.d("TAG", "Loading Picture FAILED");
12 e.printStackTrace();
13 }
14 return friendsHolder.profilPic;
15
16 }

FriendsArrayAdapter.java
1public View getView(int position, View convertView, ViewGroup parent) {
2 View rowView = convertView;
3 ImageView imageView ;
4
5 if (rowView == null) {
6 LayoutInflater vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
7 rowView = vi.inflate(resourceId, null);
8 }
9 Friends f = friends.get(position);
10 TestConnector TestConnector = new TestConnector();
11
12 imageView = (ImageView) rowView.findViewById(R.id.profile_pic);
13 imageView.setImageBitmap(bonayouTestConnector.getUserPic(f.id));
14// imageView.setImageBitmap(mSetPic);
15
16 TextView rowTxt = (TextView) rowView.findViewById(R.id.rowtext_top);
17 rowTxt.setText(f.name);
18
19 return rowView;


MFG
Skipjip

Antworten