【发布时间】:2014-06-23 23:00:18
【问题描述】:
我是使用 JSON 的新手,我正在尝试从我的服务器上的数据库中获取数据,该数据库仅具有纬度和经度位置,以及用户名和时间戳。目前我不需要使用时间戳,而且我似乎遇到了一个我似乎无法弄清楚的问题。
String result = "";
double Lat = 0;
double Lng = 0;
String title = "";
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("removed");
HttpGet("Removed");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
System.out.println("Test while");
}
is.close();
result=sb.toString();
try{
System.out.println("Test 7, last pass");
JSONArray jArray = new JSONArray(result);
System.out.println("Test 8");
for(int i=0;i<jArray.length();i++){
System.out.println("Test for");
JSONObject json_data = jArray.getJSONObject(i);
System.out.println("Test 9");
Lat= json_data.getDouble("Latitude");
System.out.println("Test 10 "+ Lat);
Lng = json_data.getDouble("Longitude");
System.out.println("Test 11 "+ Lng);
title= json_data.getString("User");
System.out.println("Test 12 "+ title );
mMap.addMarker(new MarkerOptions().position(new LatLng(Lat,Lng)).title(title).icon(BitmapDescriptorFactory.fromResource(R.drawable.zombie_marker)));
System.out.println("Test for end");
}
}catch(JSONException e){
System.out.println("Test inner catch");
Log.e("log_tag", "Error parsing data "+e.toString());
Log.e("log_tag", "Failed data was:\n" + result);
}
}catch(Exception e){
System.out.println("Test middle catch");
Log.e("log_tag", "Error converting result "+e.toString());
Log.e("log_tag", "Failed data was:\n" + result);
}
}catch(Exception e){
System.out.println("Test outer catch");
Log.e("log_tag", "Error in http connection "+e.toString());
Log.e("log_tag", "Failed data was:\n" + result);
}
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
marker = mMap.addMarker(new MarkerOptions().position(home).icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)));
mMap.moveCamera(CameraUpdateFactory.newLatLng(home));
mMap.animateCamera(CameraUpdateFactory.zoomTo(15));
}
这是我正在使用的代码,这是我正在打印的日志猫我有一些打印出来看看我在哪里。
05-07 14:09:40.911: I/System.out(13775): Test while
05-07 14:09:40.921: I/System.out(13775): Test 7, last pass
05-07 14:09:40.921: I/System.out(13775): Test 8
05-07 14:09:40.921: I/System.out(13775): Test for
05-07 14:09:40.921: I/System.out(13775): Test 9
05-07 14:09:40.921: I/System.out(13775): Test 10 31.767669
05-07 14:09:40.921: I/System.out(13775): Test 11 -106.502012
05-07 14:09:40.921: I/System.out(13775): Test 12 Zombie_1
05-07 14:09:40.921: I/System.out(13775): Test middle catch
05-07 14:09:40.921: E/log_tag(13775): Error converting result java.lang.NullPointerException
05-07 14:09:40.921: E/log_tag(13775): Failed data was:
05-07 14:09:40.921: E/log_tag(13775): [{"Longitude":"-106.502012","Latitude":"31.767669","User":"Zombie_1","Time":"2014-04-24 21:48:15"},{"Longitude":"0","Latitude":"0","User":"Zombie_0","Time":"2014-04-24 21:48:15"},{"Longitude":"-106.502012","Latitude":"31.767669","User":"Zombie_2","Time":"2014-04-24 21:49:52"},{"Longitude":"-106.507849","Latitude":"31.78073","User":"Zombie_3","Time":"2014-04-24 21:49:52"}]
所以我的 PHP 正在工作并向我发送我需要的数据,但我什至看不到问题。这是我第一次使用 JSON,因此将不胜感激。或者有关从服务器上的数据库读取数据以进行 Android 开发的任何提示。
【问题讨论】:
标签: android json database google-maps google-maps-markers