Sebastian Klaiber
- Forum-Beiträge: 44
05.02.2012, 14:44:39 via Website
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
FriendsArrayAdapter.java
MFG
Skipjip
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 }
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 }
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;
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
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.