0

String [] json を外部サーバー上のクエリに変換し、リストビューに表示しようとしています

public class ConectPhp extends ListActivity {

public static InputStream inpString = null;
String result = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);




    ArrayList<NameValuePair> parametros = new ArrayList<NameValuePair>();
    parametros.add(new BasicNameValuePair("DATA", "2011-11-05"));



    try{


        HttpClient httpcliente = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://192.168.254.254/mobile/ConexaoWcrm.php/");
        httppost.setEntity(new UrlEncodedFormEntity(parametros));
        HttpResponse response = httpcliente.execute(httppost);
        HttpEntity entity = response.getEntity();
        inpString = entity.getContent();

    } catch (Exception e){
        Log.e("log_tag", "Error to conect a "+e.toString());
    }

//戻り値を文字列に変換する

    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(inpString, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while((line = reader.readLine()) != null){
            sb.append(line+"\n");

        }
        inpString.close();
        result=sb.toString();
    }catch (Exception e){
        Log.e("log_tag","Error to convert result"+e.toString());
    }

// ここではデータを json に渡しますが、その方法がわからないので、リストビューに保存します。

try{            
        JSONArray jArray = new JSONArray(result);
        String[] clientes = new String[jArray.length()];
        for(int i=0; i<jArray.length();i++){
            JSONObject json_data = jArray.getJSONObject(i);
            clientes[i]=json_data.getString("clientnome");
        }

        this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, clientes));
    }catch(Exception e){
        Log.e("log_tag","Error popular data "+e.toString());
            }

私は新しく、すでにこの困難なプロジェクトに取り組んでいます。彼らが私に与えるヒントがあれば、それも受け入れられます。外部リストビュー用に特定のデータバンクをリストする必要があります。

4

2 に答える 2

0

あなたが投稿した文字列表現については、以下のコードを見つけてください:-

たとえば、jsonArray はキー「array」に投稿されます。次のコードを使用して、そこから JSONArray を取得します。

JSONObject jObject = new JSONObject(result);//only if result is a JSONObject else get to the base of JSONObject.
JSONArray jArray = jObject.getJSONArray("array");//I suppose that "array" is the key at for your sample array you have given
//now you can run with your all other code

for(int i=0; i<jArray.length();i++)
{
    JSONObject json_data = jArray.getJSONObject(i);
    clientes[i]=json_data.getString("clientnome");
}

this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, clientes));
}
catch(Exception e)
{
    Log.e("log_tag","Error popular data "+e.toString());
}
于 2013-11-11T12:50:22.003 に答える