मैं इस LogCat हो रही है:परीक्षण
06-22 15:30:53.731: E/AndroidRuntime(2389): java.lang.NumberFormatException: Invalid float: "null"
06-22 15:30:53.731: E/AndroidRuntime(2389): at java.lang.StringToReal.invalidReal(StringToReal.java:63)
06-22 15:30:53.731: E/AndroidRuntime(2389): at java.lang.StringToReal.parseFloat(StringToReal.java:310)
06-22 15:30:53.731: E/AndroidRuntime(2389): at java.lang.Float.parseFloat(Float.java:300)
06-22 15:30:53.731: E/AndroidRuntime(2389): at java.lang.Float.valueOf(Float.java:337)
यहाँ कोड है:
पीएचपी में, मैं कर रहा हूँ:
try
{
jObject = new JSONObject(result);
starAvg = jObject.getString("AverageRating");
}
ratingsBar = (RatingBar) findViewById(R.id.theRatingBar);
ratingsBar.setRating(Float.valueOf(starAvg));
यहाँ संदर्भ है एक MySQL तालिका में कॉलम में कुल संख्या औसत। जब कोई पंक्तियां होती हैं, तो यह उसमें डेटा का औसत वापस भेज देगी और यह इसे एन्कोड करेगी, और जावा इसे JSON ऑब्जेक्ट के रूप में उठाएगा। लेकिन कभी कभी, वहाँ मामलों में जहां एक मेज 0 पंक्तियों हो सकता है, इसलिए मैं इस JSON वस्तु मिलती है:
{"AverageRating":null}
मेरा ऐप तो दुर्घटनाओं और LogCat
है जैसा कि ऊपर देखा।
String
परवाह नहीं है कि यह एक नल JSON ऑब्जेक्ट उठाता है लेकिन जब मैं Float.valueOf(theString)
करता हूं तो ऐप क्रैश हो जाता है।
एक और पक्ष ध्यान दें, मैं इस तरह से परीक्षण करने के लिए प्रयास किया है:
if String is Null, Float = 0
if String is not null, Float.valueOF(String)
लेकिन यह कभी अशक्त के रूप में स्ट्रिंग को पढ़ने के लिए नहीं लगता है। क्या वास्तव में इस मामले में null
नहीं है?
'विपुल.इस जीनियस (शाह)? +1: null' – capdragon
@capdragon आपको मदद करने के लिए खुश है :) –
आगे मूल्यांकन पर, मैं इस उत्तर को सही पर ले जा रहा हूं। – KickingLettuce