4

这是我的课程,我尝试使用 JSON 从 MYSQL 获取一些数据到 JSONArray 中。

它给了我错误。

public class ConnectMySql extends Activity{
InputStream is;
//List<String> items;
JSONArray jArray;
//String[] items;
StringBuilder sb;
//ListView list;
TextView textv;
    String result;
//List<NameValuePair> items;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
//list = (ListView) findViewById(R.id.listview);

textv = (TextView) findViewById(R.id.tvHI);
setContentView(R.layout.main);

try{
    HttpClient httpsClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost("http://79.114.48.119/data.php");

    List<NameValuePair> nameValue = new ArrayList<NameValuePair>();
    httpPost.setEntity(new UrlEncodedFormEntity(nameValue));
    HttpResponse httpResponse = httpsClient.execute(httpPost);
    HttpEntity httpEntity = httpResponse.getEntity();
    is = httpEntity.getContent();
}catch(Exception e){
    Log.e("log_tag", "Error in HTTP connection" + e.toString());
    Toast.makeText(this, "http connection error: " + e.toString(), Toast.LENGTH_LONG).show();
}
    try{
        BufferedReader BufR = new BufferedReader (new InputStreamReader(is, "iso-8859-1"),8);
        sb = new StringBuilder();
        sb.append(BufR.readLine() + "\n");
        String line = "0";

        while((line = BufR.readLine()) != null){
            sb.append(line + "\n");
        }
        is.close();
        result = sb.toString();
    }catch(Exception e){
        Log.e("log_tag", "Error in convert String" + e.toString());
    }
    int lat;
    int lon;
    try{
        jArray = new JSONArray(result);
        Toast.makeText(this, "no data found" + result, Toast.LENGTH_LONG).show();
        JSONObject json_data = null;
        for(int i = 0; i< jArray.length(); i++){
            json_data = jArray.getJSONObject(i);
            lat  = json_data.getInt("latitude");
            lon = json_data.getInt("longitude");

            textv.setText(lat + lon);

            //Here i use another function whitch uses lat & lon
        }
        //setupList();
    }catch(JSONException e){
        Toast.makeText(this, "no data found", Toast.LENGTH_LONG).show();
    }catch(Exception e){
        Toast.makeText(this, "error" + e.toString(), Toast.LENGTH_LONG).show();
    }
}
}
/*private void setupList() {

// TODO Auto-generated method stub
list.setAdapter(new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1, items));
}

}*/

它不会改变文本视图,它给了我 NullPointException 。

我应该怎么办 ?任何人都可以帮助我或给我一些建议吗?谢谢 !

4

0 回答 0