2013-11-11 2 views
0

вот мой LogCatисключение формата номера андроида недопустимое float.how для устранения этой ошибки.?

enter image description here

вот мой код.

 public class Starter_info extends Activity implements OnClickListener, OnRatingBarChangeListener 
    { 
    private GestureDetector gestureDetector; 
    String img_url, img_id, img_rat, img_name; 
    ImageView iv; 
    ImageView ib_dow, ib_wal; 
    ImageView btn_rate; 
    ProgressBar pb; 
    Dialog dialog; 
    int downloadedSize = 0; 
    int totalSize = 0; 
    TextView cur_val; 

    /* Rating Bar Dialog */ 
    Dialog rankDialog; 
    RatingBar ratingBar,pre_rating; 
    float cus_rating; 

    ProgressDialog progDailog; 

// JSON Node names 
private static final String TAG_CONTACTS = "Demo"; 
private static final String TAG_ID = "id"; 
private static final String TAG_TITLE = "title"; 
private static final String TAG_RATING = "Rating"; 
private static final String TAG_CATEGORY = "Category"; 
private static final String TAG_IMAGE = "Images"; 
private static final String TAG_DOWNLOAD = "Downloads"; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.starter_info); 




    Log.v("starter Info Heap","Max Mem in MB:"+(Runtime.getRuntime().maxMemory()/1024/1024)); 
    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 

    gestureDetector = new GestureDetector(new SwipeGestureDetector()); 

    ImageView rankBtn = (ImageView) findViewById(R.id.btn_starter_info_rate); 
    rankBtn.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      rankDialog = new Dialog(Starter_info.this, 
        R.style.FullHeightDialog); 
      rankDialog.setContentView(R.layout.rating_bar); 
      rankDialog.setCancelable(true); 
      ratingBar = (RatingBar) rankDialog 
        .findViewById(R.id.dialog_ratingbar); 
      float userRankValue = 0; 
      // ratingBar.setRating(userRankValue); 
      ratingBar 
        .setOnRatingBarChangeListener(new OnRatingBarChangeListener() { 
         @Override 
         public void onRatingChanged(RatingBar ratingBar, 
           float rating, boolean fromUser) { 
          // TODO Auto-generated method stub 
          cus_rating = rating; 

         } 
        }); 

      Button updateButton = (Button) rankDialog 
        .findViewById(R.id.rank_dialog_button); 
      updateButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Toast.makeText(Starter_info.this, 
          "Rating is" + cus_rating, Toast.LENGTH_LONG) 
          .show(); 

        HttpClient httpclient = new DefaultHttpClient(); 
        HttpPost httppost = new HttpPost(
          "http://vaibhavtech.com/work/android/rating.php"); 

        try { 
         // Add your data 
         List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
           1); 
         nameValuePairs.add(new BasicNameValuePair("id", 
           img_id)); 
         nameValuePairs.add(new BasicNameValuePair("rating", 
           "" + cus_rating)); 
         httppost.setEntity(new UrlEncodedFormEntity(
           nameValuePairs)); 

         // Execute HTTP Post Request 

         ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
         String response = httpclient.execute(httppost, 
           responseHandler); 

         // This is the response from a php application 
         String reverseString = response; 
         Log.i("response", reverseString); 

        } catch (ClientProtocolException e) { 
         Log.i("CPE response ", e.toString()); 
         // TODO Auto-generated catch block 
        } catch (IOException e) { 
         Log.i("IOException response ", e.toString()); 
         // TODO Auto-generated catch block 
        } 

        rankDialog.dismiss(); 
       } 
      }); 
      // now that the dialog is set up, it's time to show it 
      rankDialog.show(); 
     } 
    }); 

    img_url = MyFragment.img_url; 
    img_id = MyFragment.img_id; 
    img_rat = MyFragment.img_rating; 
    img_name = MyFragment.img_name; 
    ib_dow = (ImageView) findViewById(R.id.ib_starter_info_down); 
    ib_wal = (ImageView) findViewById(R.id.ib_starter_info_Wall); 
    ib_dow.setOnClickListener(this); 
    ib_wal.setOnClickListener(this); 
    pre_rating=(RatingBar) findViewById(R.id.rb_starter_info_pre_rating); 
    pre_rating.setRating(Float.parseFloat(img_rat)); 

    iv = (ImageView) findViewById(R.id.iv_starter_info); 


    //  Log.i("image id", img_id); 
//  Log.i("image name", img_name); 
    //  Log.i("image url", img_url); 
    //  Log.i("image rat", img_rat); 
    int loader = R.drawable.load; 
    ImageLoader imgLoader = new ImageLoader(getApplicationContext()); 
    imgLoader.DisplayImage(img_url, loader, iv); 



} 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // TODO Auto-generated method stub 
    switch(item.getItemId()) 
    { 
    case android.R.id.home: 
     onBackPressed(); 
     return true; 
     case R.id.home: 
      Intent intent = new Intent(this, Category.class); 
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(intent); 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    switch (v.getId()) { 
    case R.id.ib_starter_info_down: 

     showProgress(img_url); 

     new Thread(new Runnable() { 
      public void run() { 
       downloadFile(); 
      } 
     }).start(); 

     break; 
    case R.id.ib_starter_info_Wall: 

     showProgress(img_url); 

     new Thread(new Runnable() { 
      public void run() { 
       downloadFile_Wall(); 
       WallpaperManager myWallpaperManager = WallpaperManager 
         .getInstance(getApplicationContext()); 
       Bitmap o = BitmapFactory.decodeFile("/sdcard/." + img_name); 
       try { 
        myWallpaperManager.setBitmap(o); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
      } 
     }).start(); 
     break; 
    case R.id.btn_starter_info_rate: 

     break; 
    } 
} 

@Override 
public void onRatingChanged(RatingBar ratingBar, float rating, 
     boolean fromUser) { 
    // TODO Auto-generated method stub 

    Toast.makeText(this, "Ypur Rating is" + rating, Toast.LENGTH_LONG) 
      .show(); 
} 

void downloadFile() { 

    try { 
     URL url = new URL(img_url); 
     HttpURLConnection urlConnection = (HttpURLConnection) url 
       .openConnection(); 
     urlConnection.setRequestMethod("GET"); 
     urlConnection.setDoOutput(true); 
     // connect 
     urlConnection.connect(); 

     // set the path where we want to save the file 
     File SDCardRoot = Environment.getExternalStorageDirectory(); 
     // create a new file, to save the downloaded file 
     File file = new File(SDCardRoot, img_name); 

     FileOutputStream fileOutput = new FileOutputStream(file); 

     // Stream used for reading the data from the internet 
     InputStream inputStream = urlConnection.getInputStream(); 

     // this is the total size of the file which we are downloading 
     totalSize = urlConnection.getContentLength(); 

     runOnUiThread(new Runnable() { 
      public void run() { 
       pb.setMax(totalSize); 
      } 
     }); 

     // create a buffer... 
     byte[] buffer = new byte[1024]; 
     int bufferLength = 0; 

     while ((bufferLength = inputStream.read(buffer)) > 0) { 
      fileOutput.write(buffer, 0, bufferLength); 
      downloadedSize += bufferLength; 
      // update the progressbar // 
      runOnUiThread(new Runnable() { 
       public void run() { 
        pb.setProgress(downloadedSize); 
        float per = ((float) downloadedSize/totalSize) * 100; 
        cur_val.setText("Downloaded " + downloadedSize 
          + "KB/" + totalSize + "KB (" + (int) per 
          + "%)"); 
       } 
      }); 
     } 
     // close the output stream when complete // 
     fileOutput.close(); 
     runOnUiThread(new Runnable() { 
      public void run() { 
       // pb.dismiss(); // if you want close it.. 
       HttpClient httpclient = new DefaultHttpClient(); 
       HttpPost httppost = new HttpPost(
         "http://vaibhavtech.com/work/android/downloads.php"); 

       try { 
        // Add your data 
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
          1); 
        nameValuePairs 
          .add(new BasicNameValuePair("id", img_id)); 

        httppost.setEntity(new UrlEncodedFormEntity(
          nameValuePairs)); 

        // Execute HTTP Post Request 

        ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
        String response = httpclient.execute(httppost, 
          responseHandler); 

        // This is the response from a php application 
        String reverseString = response; 
        Log.i("response", reverseString); 

       } catch (ClientProtocolException e) { 
        Log.i("CPE response ", e.toString()); 
        // TODO Auto-generated catch block 
       } catch (IOException e) { 
        Log.i("IOException response ", e.toString()); 
        // TODO Auto-generated catch block 
       } 
       dialog.dismiss(); 
       Toast.makeText(Starter_info.this, "SuccessFully Download..", 
         Toast.LENGTH_LONG).show(); 
      } 
     }); 

    } catch (final MalformedURLException e) { 
     showError("Error : MalformedURLException " + e); 
     e.printStackTrace(); 
    } catch (final IOException e) { 
     showError("Error : IOException " + e); 
     e.printStackTrace(); 
    } catch (final Exception e) { 
     showError("Error : Please check your internet connection " + e); 
    } 
} 

// For WallPaper Set Clcik Here............. 
void downloadFile_Wall() { 
    try { 
     URL url = new URL(img_url); 
     HttpURLConnection urlConnection = (HttpURLConnection) url 
       .openConnection(); 
     urlConnection.setRequestMethod("GET"); 
     urlConnection.setDoOutput(true); 
     // connect 
     urlConnection.connect(); 
     // set the path where we want to save the file 
     File SDCardRoot = Environment.getExternalStorageDirectory(); 
     // create a new file, to save the downloaded file 
     File file = new File(SDCardRoot, "." + img_name); 
     FileOutputStream fileOutput = new FileOutputStream(file); 
     // Stream used for reading the data from the internet 
     InputStream inputStream = urlConnection.getInputStream(); 
     // this is the total size of the file which we are downloading 
     totalSize = urlConnection.getContentLength(); 

     runOnUiThread(new Runnable() { 
      public void run() { 
       pb.setMax(totalSize); 
      } 
     }); 
     // create a buffer... 
     byte[] buffer = new byte[1024]; 
     int bufferLength = 0; 
     while ((bufferLength = inputStream.read(buffer)) > 0) { 
      fileOutput.write(buffer, 0, bufferLength); 
      downloadedSize += bufferLength; 
      // update the progressbar // 
      runOnUiThread(new Runnable() { 
       public void run() { 
        pb.setProgress(downloadedSize); 
        float per = ((float) downloadedSize/totalSize) * 100; 
        cur_val.setText("Please Wait..."); 
       } 
      }); 
     } 
     // close the output stream when complete // 
     fileOutput.close(); 
     runOnUiThread(new Runnable() { 
      public void run() { 
       // pb.dismiss(); // if you want close it.. 
       Toast.makeText(Starter_info.this, "Changes Apply SuccessFully..", 
         Toast.LENGTH_LONG).show(); 
       dialog.dismiss(); 
       // startActivity(new 
       // Intent(Starter_info.this,CropImage.class)); 
      } 
     }); 

    } catch (final MalformedURLException e) { 
     showError("Error : MalformedURLException " + e); 
     e.printStackTrace(); 
    } catch (final IOException e) { 
     showError("Error : IOException " + e); 
     e.printStackTrace(); 
    } catch (final Exception e) { 
     showError("Error : Please check your internet connection " + e); 
    } 
} 

void showError(final String err) { 
    runOnUiThread(new Runnable() { 
     public void run() { 
      Toast.makeText(Starter_info.this, err, Toast.LENGTH_LONG) 
        .show(); 

     } 
    }); 
} 

void showProgress(String file_path) { 
    dialog = new Dialog(Starter_info.this); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.myprogressdialog); 
    dialog.setTitle("Download Progress"); 

    TextView text = (TextView) dialog.findViewById(R.id.tv1); 
    text.setText("Downloading file from ... " + file_path); 
    cur_val = (TextView) dialog.findViewById(R.id.cur_pg_tv); 
    cur_val.setText("Starting download..."); 
    //dialog.show(); 

    pb = (ProgressBar) dialog.findViewById(R.id.progress_bar); 
    pb.setProgress(0); 
    pb.setProgressDrawable(getResources().getDrawable(
      R.drawable.green_progress)); 

    Toast.makeText(getApplicationContext(), "Please Wait..Process Run In BackGround", Toast.LENGTH_LONG).show(); 
} 

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (gestureDetector.onTouchEvent(event)) { 
     return true; 
    } 
    return super.onTouchEvent(event); 
} 

private void onLeftSwipe() { 
    //  // Do something 
     //  MyFragment.img_url = "http://vaibhavtech.com/work/wallpaper/upload/Picture-6.jpg"; 
    //  MyFragment.img_id = "75"; 
    //  MyFragment.img_rating = "4"; 
    //  MyFragment.img_name = "Picture-6.jpg"; 
     //  Log.i("Swipe", "Left Swipe"); 
Toast.makeText(Starter_info.this, "Left Swipe", Toast.LENGTH_LONG).show(); 
    //  startActivity(new Intent(Starter_info.this, Starter_info.class)); 
    JSONArray contacts = null; 

    Swipe_parser jParser = new Swipe_parser(); 

    // getting JSON string from URL 
    String url="http://vaibhavtech.com/work/android/wallpaper_data.php?next="+img_id; 
    JSONObject json = jParser.getJSONFromUrl(url); 

    try { 
     // Getting Array of Contacts 
     contacts = json.getJSONArray(TAG_CONTACTS); 

     // looping through All Contacts 
     for(int i = 0; i < contacts.length(); i++){ 
      JSONObject c = contacts.getJSONObject(i); 

      // Storing each json item in variable 
      String id = c.getString(TAG_ID); 
      String title = c.getString(TAG_TITLE); 
      String rating = c.getString(TAG_RATING); 
      String image = c.getString(TAG_IMAGE); 
      String category = c.getString(TAG_CATEGORY); 
      String download=c.getString(TAG_DOWNLOAD); 
      Log.i("id", id); 
      Log.i("titleq", title); 
      Log.i("rating", rating); 
      Log.i("image",image); 
      Log.i("catet", category); 
      Log.i("download", download); 


       MyFragment.img_url="http://vaibhavtech.com/work/android/admin/upload/"+image; 
      MyFragment.img_id=id; 
      MyFragment.img_rating=rating; 
      MyFragment.img_name=image; 



     } 
     startActivity(new Intent(Starter_info.this,Starter_info.class)); 
     finish(); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

} 

private void onRightSwipe() { 
    // Do something 

    Log.i("Swipe", "Right Swipe"); 
    Toast.makeText(Starter_info.this, "Right Swipe", Toast.LENGTH_LONG) 
      .show(); 
     JSONArray contacts = null; 

    Swipe_parser jParser = new Swipe_parser(); 

    // getting JSON string from URL 
    String url="http://vaibhavtech.com/work/android/wallpaper_data.php?pre="+img_id; 
    JSONObject json = jParser.getJSONFromUrl(url); 

    try { 
     // Getting Array of Contacts 
     contacts = json.getJSONArray(TAG_CONTACTS); 

     // looping through All Contacts 
     for(int i = 0; i < contacts.length(); i++){ 
      JSONObject c = contacts.getJSONObject(i); 

      // Storing each json item in variable 
      String id = c.getString(TAG_ID); 
      String title = c.getString(TAG_TITLE); 
      String rating = c.getString(TAG_RATING); 
      String image = c.getString(TAG_IMAGE); 
      String category = c.getString(TAG_CATEGORY); 
      String download=c.getString(TAG_DOWNLOAD); 
      Log.i("id", id); 
      Log.i("titleq", title); 
      Log.i("rating", rating); 
      Log.i("image",image); 
      Log.i("catet", category); 
      Log.i("download", download); 


      MyFragment.img_url="http://vaibhavtech.com/work/android/admin/upload/"+image; 
      MyFragment.img_id=id; 
      MyFragment.img_rating=rating; 
      MyFragment.img_name=image; 



     } 
     startActivity(new Intent(Starter_info.this,Starter_info.class)); 
     finish(); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 


} 

// Private class for gestures 
private class SwipeGestureDetector extends SimpleOnGestureListener { 
    // Swipe properties, you can change it to make the swipe 
    // longer or shorter and speed 
    private static final int SWIPE_MIN_DISTANCE = 120; 
    private static final int SWIPE_MAX_OFF_PATH = 200; 
    private static final int SWIPE_THRESHOLD_VELOCITY = 200; 

    @Override 
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, 
      float velocityY) { 
     try { 
      float diffAbs = Math.abs(e1.getY() - e2.getY()); 
      float diff = e1.getX() - e2.getX(); 

      if (diffAbs > SWIPE_MAX_OFF_PATH) 
       return false; 
      // Left swipe 
      if (diff > SWIPE_MIN_DISTANCE 
        && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 
       Starter_info.this.onLeftSwipe(); 

       // Right swipe 
      } else if (-diff > SWIPE_MIN_DISTANCE 
        && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 
       Starter_info.this.onRightSwipe(); 
      } 
     } catch (Exception e) { 
      Log.e("YourActivity", "Error on gestures"); 
     } 
     return false; 
       } 
      } 

     } 

здесь mylogcat

11-11 04:54:58.057: V/starter Info Heap(3122): Max Mem in MB:32 
11-11 04:54:58.077: D/AndroidRuntime(3122): Shutting down VM 
    11-11 04:54:58.097: W/dalvikvm(3122): threadid=1: thread exiting with uncaught exception (group=0x41465700) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): FATAL EXCEPTION: main 
    11-11 04:54:58.187: E/AndroidRuntime(3122): java.lang.RuntimeException: Unable to start activity    ComponentInfo{com.example.target_wallpaper77/com.example.target_wallpaper77.Starter_info}: java.lang.NumberFormatException: Invalid float: "2:00 h" 
    11-11 04:54:58.187: E/AndroidRuntime(3122):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
    11-11 04:54:58.187: E/AndroidRuntime(3122):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
     11-11 04:54:58.187: E/AndroidRuntime(3122):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
    11-11 04:54:58.187: E/AndroidRuntime(3122):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at android.os.Handler.dispatchMessage(Handler.java:99) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at android.os.Looper.loop(Looper.java:137) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at android.app.ActivityThread.main(ActivityThread.java:5103) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at java.lang.reflect.Method.invokeNative(Native Method) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at java.lang.reflect.Method.invoke(Method.java:525) 
11-11 04:54:58.187: E/AndroidRuntime(3122): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
     11-11 04:54:58.187: E/AndroidRuntime(3122): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at dalvik.system.NativeStart.main(Native Method) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): Caused by: java.lang.NumberFormatException: Invalid float: "2:00 h" 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at java.lang.StringToReal.invalidReal(StringToReal.java:63) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at java.lang.StringToReal.parseFloat(StringToReal.java:310) 
11-11 04:54:58.187: E/AndroidRuntime(3122):  at java.lang.Float.parseFloat(Float.java:300) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at com.example.target_wallpaper77.Starter_info.onCreate(Starter_info.java:198) 
11-11 04:54:58.187: E/AndroidRuntime(3122):  at android.app.Activity.performCreate(Activity.java:5133) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
11-11 04:54:58.187: E/AndroidRuntime(3122): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
    11-11 04:54:58.187: E/AndroidRuntime(3122): ... 11 more 

11-11 04: 59: 58,414 I/Процесс (3122): Передача сигнала. PID: 3122 SIG: 9 11-11 04: 59: 59.277: D/dalvikvm (3179): GC_FOR_ALLOC освобожден 72K, 7% бесплатно 2688K/2880K, приостановлено 50 мс, всего 52 мс 11-11 04: 59: 59.287: I/dalvikvm-heap (3179): размножить кучу (фрагмент) до 3,343 МБ для размещения 635812 байтов 11-11 04: 59: 59.407: D/dalvikvm (3179): GC_FOR_ALLOC освобожден 2K, 6% бесплатно 3306K/3504K, приостановлено 126 мс, общее 126 мс 11-11 04: 59: 59.450: D/dalvikvm (3179): GC_FOR_ALLOC освобождено < 1K, 6% бесплатно 3307K/3504K, приостановлено 33 мс, всего 33 мс 11-11 04: 59: 59.467: I/dalvikvm-heap (3179): размножить кучу (фрагмент) до 4.807MB для выделения 1536016 байтов 11-11 04: 59: 59.597: D/dalvikvm (3179): GC_FOR_ALLOC освобожден < 1K, 5% бесплатно 4807K/5008K , приостановлено 128 мс, всего 128 мс 11-11 04: 59: 59.867: D/dalvikvm (3179): GC_FOR_ALLOC освобожден 1K, 4% f ree 5412K/5616K, приостановлено 27 мс, всего 27 мс 11-11 05: 00: 00.067: V/категория Куча (3179): Макс. Мем в МБ: 32 11-11 05: 00: 00.267: D/gralloc_goldfish (3179) : Эмулятор без эмуляции графического процессора.

в моем приложении, его даяние формат номера execption в

"Invalid float: "2:00 h", 

то, что я делаю, я не в состоянии решить эту ошибку .., мольбы egive мне любой suggetion ..., есть ли решение, чтобы решить эта ошибка ....

+0

u может скопировать и вставить журнал ошибок. –

+1

, по вашему мнению, составляет 2:00 час. – Blackbelt

+0

@blackbelt возможно ... –

ответ

1

Float.parseFloat не сможет разобрать, потому что он не понимает «2:00 ч», вам нужно разобрать 2.0f как-то. parseFloat не может разобрать символы и символы.

Смежные вопросы