0

asynctask 内のビットマップ配列リストにビットマップを追加できないのはなぜですか。

public static class YourMoves_Players extends AsyncTask<String, String, String> {

//  static String yourmove_players[];
    @Override
    protected String doInBackground(String... args) {

        boolean failure = false;
        // TODO Auto-generated method stub
         // Check for success tag
       int success;

       Log.d("login.on create","YOURMOVE_PLAYERS Background");
       try {
           // Building Parameters
           List<NameValuePair> params = new ArrayList<NameValuePair>();

           params.add(new BasicNameValuePair("playerid", fb_id));//player_id
           Log.d("request!", "starting");

           //Posting user data to script 
           JSONObject json = jsonParser.makeHttpRequest(
                  GETYOURMOVE_URL, "POST", params);
           if(json == null)
           {
            Log.d("json","json returning null");
               return null;
           }

           success = json.getInt(TAG_SUCCESS);
           if (success == 1) {

            products = json.getJSONArray(TAG_PRODUCTS);

            Log.d("Notification","BEFORE FOR LOOP");
            Log.d("",products.length()+" LENGTH");
                for (int i = 0; i < products.length(); i++) {
                    JSONObject c = products.getJSONObject(i);

                    String yourmove_pid = c.getString(TAG_YOURMOVE_ID); 
                    String player_name = c.getString(TAG_YOURMOVE_NAME);

                //  yourmove_pic.add(Get_FB_Image.getFBImage(yourmove_pid));
                    Players player=new Players(yourmove_pid,player_name);
                    yourmove_list.add(player);
                    yourmove_id.add(yourmove_pid);
                    yourmove.add(player_name);
                    Log.d("Vs_facebook","going to add bitmap facebook image");
                    yourmove_pic.add(Get_FB_Image.getFBImage(yourmove_pid));
                    Log.d("Vs_facebook"," facebook image added");
            Log.d("User Created!", json.toString()+"CONGRETS");
                }


                Log.d("","AFTER FOR LOOP yourmove_id  "+yourmove_id);
            return json.getString(TAG_MESSAGE);
           }else{
            Log.d("Login Failure!", "SUCCESS FAILED");
            return json.getString(TAG_MESSAGE);

           }
       } catch (JSONException e) {
           e.printStackTrace();
       }
       catch(Exception e){}

       return null;

    }
    /**
    * After completing background task Dismiss the progress dialog
    * **/


} 

「yourmove_pic」はビットマップ配列リストで、「Get_FB_Image.getFBImage(yourmove_pid)」はユーザーの Facebook プロフィール画像を取得するメソッドです。しかし、この行を実行する前にアプリが動かなくなります。この行を実行する前に、私が印刷しているログメッセージを取得しています。
だから何が問題なのか助けてください

私のLogcatメッセージ----->

09-19 10:21:48.999: I/Choreographer(2115): Skipped 77 frames!  The application may be doing too much work on its main thread.
09-19 10:21:49.300: I/Choreographer(2115): Skipped 194 frames!  The application may be doing too much work on its main thread.
09-19 10:21:49.350: D/Vs_facebook(2115): inside on start
09-19 10:21:49.390: D/(2115): Vs_FACEBOOK ON RESUME BEFORE ShowList
09-19 10:21:52.509: D/login.on create(2115): YOURMOVE_PLAYERS Background
09-19 10:21:52.560: D/request!(2115): starting
09-19 10:21:54.980: D/Notification(2115): BEFORE FOR LOOP
09-19 10:21:54.980: D/(2115): 4 LENGTH
09-19 10:21:55.000: D/Vs_facebook(2115): going to add bitmap facebook image

私のgetFBImageで、このようなプロフィール写真を取得しています

URL img_value = null;
img_value = new URL("http://graph.facebook.com/"+fb_id+"/picture?type=small");
fb_image = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
return fb_image;
4

2 に答える 2