こんにちは私は、テスト用のアンドロイドアプリケーションを.phpファイルのJSONのエコーからMySQLデータベースにリンクしています。JSONオブジェクトから変数を入力
データ全体をArrayListに取り込むことができましたが、データを変数に分割したいので、実際には見つけられません。
私は
マイMainActivity.java パブリッククラスMainActivityがAppCompatActivity {
ListView list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = (ListView) findViewById(R.id.lvLista);
getData();
}
public void getData()
{
AsyncHttpClient client = new AsyncHttpClient();
String url = "http://www.kukitosoft.com/android/api.php";
// RequestParams params = new RequestParams();
// params.put("campo", "valor a fitrar");
//Esto iria en el null del client.post
client.post(url, null, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
if (statusCode == 200)
{
loadList(getDataJSON(new String(responseBody)));
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
}
});
}
public void loadList(ArrayList<String> data)
{
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
list.setAdapter(adapter);
}
public ArrayList<String> getDataJSON(String response)
{
ArrayList<String> list = new ArrayList<String>();
try
{
JSONArray jsonArray = new JSONArray(response);
String texto;
for(int i=0; i<jsonArray.length(); i++)
{
texto = jsonArray.getJSONObject(i).getString("id") + " " +
jsonArray.getJSONObject(i).getString("nombre") + " " +
jsonArray.getJSONObject(i).getString("descripcion") + " " +
jsonArray.getJSONObject(i).getString("calificacion") + " ";
list.add(texto);
}
}
catch (Exception e)
{
e.printStackTrace();
}
return list;
}
}
あなたが分離するようにしたいです個々のリストのすべての値(例: "id"、 "nombre") –
はい、それは私が望むものです – Natarr
それを解析してモデルオブジェクトに保存する必要があります。 id、nombreなどをパラメータとしてモデルクラスを作成します。次に、クラスオブジェクトを作成し、jsonArray.getJSONObject(i).getString( "id")を使用して各パラメータに値を割り当て、arraylistにそのオブジェクトを追加して、個々の値を持つオブジェクトのリストを取得します。 入力時に同じリストを使用してUIに表示することができます –