如何在用户单击任何listview项目时从MySql获取完整信息?

时间:2017-05-01 06:35:11

标签: php android mysql listview

Click here to see image..

上面的图片是关于我的任务..当用户点击ListView中的任何项目时,listView显示来自DB的列表项,另一个活动打开,其中包含特定项目的完整描述。

我已经完成了一个来自MySQL DB和onClick on listView的列表,我得到了特定项目的位置。但问题是我如何检索另一个活动中点击项目的完整信息。 我正在使用PHP脚本检索数据并在android中显示。

以下是Java Code。

`public class Main2Activity扩展了Activity {

import matplotlib.pyplot as plt

fig = plt.figure()

}

这是检索所有数据的PHP代码。

ListView lv, lv2;
ArrayAdapter<String> adapter;
String adress = "http://192.168.42.25/getinfo.php";
InputStream is = null;
String line = null;
String result = null;
String[] data;
public static String temp;
//String[] data2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    lv = (ListView) findViewById(R.id.listview1);
    //lv2 = (ListView) findViewById(R.id.listview2);

    //ALLOW NETWORK IN MAIN THREAD
    StrictMode.setThreadPolicy((new StrictMode.ThreadPolicy.Builder().permitNetwork().build()));

    //RETRIEVE
    getData();

    //ADAPTER

    adapter = new ArrayAdapter<String>(this , android.R.layout.simple_list_item_1,data);
    //ArrayAdapter<String> itemsAdapter =
            //new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data2);

    lv.setAdapter(adapter);
    //lv2.setAdapter(itemsAdapter);

    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent i = new Intent(Main2Activity.this , MainActivity.class);
            Toast.makeText(Main2Activity.this , position + "Selected" , Toast.LENGTH_SHORT).show();
            startActivity(i);
             temp = Integer.toString(position);
        }
    });

}

private void getData()
{
   try {
       URL url = new URL(adress);
       HttpURLConnection con = (HttpURLConnection) url.openConnection();

       con.setRequestMethod("GET");

       is = new BufferedInputStream(con.getInputStream());

   }catch (Exception e)
   {
       e.printStackTrace();
   }

    //READ IS CONTENT INTO A STRING
    try
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();

        while ((line =br.readLine()) != null)
        {
            sb.append(line+ "\n");

        }
        is.close();
        result = sb.toString();

    }catch (Exception e)
    {
        e.printStackTrace();;
    }
    //PARSE JSON DATA
    try
    {
        JSONArray js = new JSONArray(result);
        JSONObject jo = null;

        data = new String[js.length()];
        //data2 = new String[js.length()];

        for (int i =0; i<js.length(); i++)
        {
            jo = js.getJSONObject(i);
            data[i] = jo.getString("name");
            //data2[i] = jo.getString("email");


        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

}

0 个答案:

没有答案
相关问题