我試圖從本地服務器得到一個JSONObject後讓我JsonOject,這是我的目標:我不能打電話的RequestData()函數
[
{
"id":2,
"latitude":34.042542,
"longitude":-4.997182,
"title":"zone1",
"icone":"http://192.168.1.50/Heloo/images/icone.png"
}
]
我想設置3個變量(JsonLat作爲緯度的兩倍/ JsonLong經度爲雙/ JsonName作爲字符串的標題)但執行我的應用程序後,我無法獲得此值。
- 我的RequestData(URL)是的onCreate()只是後的setContentView()。
這是我HttpManager類:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HttpManager { public static String getData(String uri) { BufferedReader reader = null; try { URL url = new URL(uri); HttpURLConnection con = (HttpURLConnection) url.openConnection(); StringBuilder sb = new StringBuilder(); reader = new BufferedReader(new InputStreamReader(con.getInputStream())); String line; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } return sb.toString(); } catch (Exception e) { e.printStackTrace(); return null; } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); return null; } } } } }
這是我的RequestData()的定義和MyTask類:
public void requestData(String uri) { MyTask task = new MyTask(); task.execute(uri); } public class MyTask extends AsyncTask<String, String, String> { @Override protected void onPreExecute() { // updateDisplay("Starting task"); //tasks.add(this); } @Override protected String doInBackground(String... params) { String content = HttpManager.getData(params[0]); return content; } @Override protected void onPostExecute(String result) { try { JSONArray cast = new JSONArray(result); for (int i=0; i<cast.length(); i++) { JSONObject Marker = new JSONObject(cast.get(i).toString()); JsonLat = Marker.getDouble("latitude"); Jsonlong = Marker.getDouble("longitude"); JsonName = Marker.getString("title"); } } catch (JSONException e) { e.printStackTrace(); } } @Override protected void onProgressUpdate(String... values) { // updateDisplay(values[0]); } }
編輯:我試圖表明與日誌的值。 v裏面的try {},我可以看到我的值,但是當我試圖使用try {}之外的值時,它不起作用,當我嘗試將JsonLat,Jsonlng,JsonName作爲參數應用於嘗試{}它似乎不工作有一個問題與嘗試{}或我不知道!!!!!
發表您的logcat你做了什麼錯誤? – Prachi
什麼都沒有,我的應用程序工作,但我的3個變量仍然有0和空價值 –