title: how to prevent my android app from force closing?
body: <p>In the user interface of my application there are four buttons out of which three buttons(when clicked) retrieve an image from mysql db and display it in the android phone. the fourth button's job is to retrieve text from the db.</p>
  
  <p>if any of the buttons that retrieve image are clicked first the image is displayed.and then if the button that retrieve's an image is clicked the text is displayed.</p>
  
  <p>But when the button that retrieves the text is clicked first even before any button that displays the image is clicked the application force closes!!</p>
  
  <p>the code for the onClick activity of the button that retrieves text is as follows</p>
  
  <pre><code>b.setOnClickListener(new OnClickListener() {
  
          public void onClick(View arg0) {        
              Toast.LENGTH_SHORT).show();
  
              try {
                  data.put("id",id);
              } catch (JSONException e1) {
                  // TODO Auto-generated catch block
                  e1.printStackTrace();
              } 
              String url="http://10.0.2.2:8080/finder/review/listA";
  
              try { 
                  img.setImageBitmap(null);
                  json =HTTPPoster.doPost(url, data);
  
                  Toast.makeText(getBaseContext(),json.toString(),     Toast.LENGTH_SHORT).show();
                   titles=json.getJSONObject("titles");
                   Toast.makeText(getBaseContext(),    titles.toString(), Toast.LENGTH_SHORT).show();
                   msgs=json.getJSONObject("msgs");
                   names=json.getJSONObject("names");
  
              String one=titles.getString("0");
              Toast.makeText(getBaseContext(), one.toString(),Toast.LENGTH_LONG).show();
              t.setText("\nReviews \n");
              String content="";
  
  
              for(int i=0;i&lt;3;i++)
              {
                  String msg=msgs.getString(i+"");
                   name=names.getString(i+"");
                  String title=titles.getString(i+"");
  
                  content=t.getText()+("\n Name"+name+"\n Title: "+title+"\n Msg:"+msg);
                  t.setText(content);
  
                  Toast.makeText(getBaseContext(),"Name:"+name+"\n Title: "+title+"\n Message"+msg,Toast.LENGTH_SHORT).show(); 
              }
  
                  // t.setText()
              } catch (ClientProtocolException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (JSONException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
          }
      });
  </code></pre>
  
  <p>logcat </p>
  
  <pre><code>06-07 00:25:29.923: INFO/Process(234): Sending signal. PID: 234 SIG: 9
  06-07 00:25:30.042: INFO/WindowManager(58): WIN DEATH: Window{44e66ef0 com.lpss/com.lpss.MyList paused=false}
  06-07 00:25:30.053: INFO/WindowManager(58): WIN DEATH: Window{44d72da0 com.lpss/com.lpss.lpss paused=false}
  06-07 00:25:30.053: INFO/ActivityManager(58): Process com.lpss (pid 234) has died.
  06-07 00:25:30.062: WARN/GpsLocationProvider(58): Unneeded remove listener for uid 1000
  06-07 00:25:30.062: DEBUG/GpsLocationProvider(58): stopNavigating
  06-07 00:25:30.062: INFO/WindowManager(58): WIN DEATH: Window{44dedb10 Toast paused=false}
  06-07 00:25:30.091: WARN/ActivityManager(58): Scheduling restart of crashed service com.lpss/.NotifyService in 5000ms
  06-07 00:25:30.103: INFO/WindowManager(58): WIN DEATH: Window{44dd9490 com.lpss/com.lpss.Contents paused=false}
  06-07 00:25:30.244: INFO/ActivityManager(58): Start proc com.lpss for activity com.lpss/.MyList: pid=248 uid=10030 gids={3003, 1015}
  06-07 00:25:30.244: ERROR/ActivityThread(58): Failed to find provider info for android.server.checkin
  06-07 00:25:30.244: WARN/Checkin(58): Can't log event SYSTEM_SERVICE_LOOPING: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/events
  06-07 00:25:30.743: DEBUG/ddm-heap(248): Got feature list request
  06-07 00:25:30.912: INFO/UsageStats(58): Unexpected resume of com.lpss while already resumed in com.lpss
  06-07 00:25:31.443: WARN/InputManagerService(58): Got RemoteException sending setActive(false) notification to pid 234 uid 10030
  06-07 00:25:31.603: INFO/ActivityManager(58): Displayed activity com.lpss/.MyList: 1487 ms (total 1487 ms)
  06-07 00:25:31.713: WARN/NotificationService(58): Object died trying to hide notification android.app.ITransientNotification$Stub$Proxy@44de2548 in package com.lpss
  06-07 00:25:31.713: WARN/ActivityManager(58): setProcessForeground called on unknown pid: 234
  06-07 00:25:31.723: WARN/NotificationService(58): Object died trying to show notification android.app.ITransientNotification$Stub$Proxy@44de2c70 in package com.lpss
  06-07 00:25:31.723: WARN/ActivityManager(58): setProcessForeground called on unknown pid: 234
  06-07 00:25:31.723: WARN/NotificationService(58): Object died trying to show notification android.app.ITransientNotification$Stub$Proxy@44dd78a0 in package com.lpss
  06-07 00:25:31.723: WARN/ActivityManager(58): setProcessForeground called on unknown pid: 234
  06-07 00:25:31.723: WARN/NotificationService(58): Object died trying to show notification android.app.ITransientNotification$Stub$Proxy@44dd7fc8 in package com.lpss
  06-07 00:25:31.723: WARN/ActivityManager(58): setProcessForeground called on unknown pid: 234
  06-07 00:41:25.262: DEBUG/dalvikvm(58): GC freed 19490 objects / 957584 bytes in 209ms
  </code></pre>
  
  <p><em><strong>code that retrieves image</em></strong></p>
  
  <pre><code>b3.setOnClickListener(new OnClickListener() {
  
                      public void onClick(View arg0) {
  
                          try {
                              data.put("name",name);
                          } catch (JSONException e) {
                              // TODO Auto-generated catch block
                              e.printStackTrace();
                          }
                          String url="http://10.0.2.2:8080/finder/place/ph?id="+id;
                          //      json =HTTPPoster.doPost(url, data);
                          downloadImage(url);
  //      Toast.makeText(this,json.toString() , Toast.LENGTH_SHORT).show();
  
                      }
               });
               b4.setOnClickListener(new OnClickListener() {
  
                      public void onClick(View arg0) {
                          t.setText("");
                          try {
                              data.put("name",name);
                          } catch (JSONException e) {
                              // TODO Auto-generated catch block
                              e.printStackTrace();
                          }
                          String url="http://10.0.2.2:8080/finder/place/map?id="+id;
                          //      json =HTTPPoster.doPost(url, data);
                          downloadImage(url);
  //      Toast.makeText(this,json.toString() , Toast.LENGTH_SHORT).show();
  
                      }
               });
  </code></pre>