使用mysql数据库的Android列表视图

时间:2016-03-18 15:50:53

标签: android mysql listview android-asynctask

我正在尝试从my_sq_l数据库中检索数据并在列表视图中显示它。当我使用以下

public class     JsonListview extends Activity {
    private String jsonresult;
    public  String url = "http://10.0.2.2/emply.php";
    List<Map<String, String>> hotels = new ArrayList<Map<String, String>>();

    ListView listView;

    @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_json_listview);
        listView = (ListView)findViewById(R.id.listView1);
        accessweb();
    }
    ////strating aysntask
    public class JsonReadTask extends AsyncTask<String, String, String> {

        //strat background
        @Override
            protected String doInBackground(String... params) {
            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(params[0]);

            try {
                HttpResponse httpResponse = httpClient.execute(httpPost);
                jsonresult = InputStreamToString(httpResponse.getEntity().getContent()).toString();



            }
            catch (ClientProtocolException e) {
                e.printStackTrace();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
        //end background

        private StringBuilder InputStreamToString(InputStream is) {

            String rline = "";
            StringBuilder answer = new StringBuilder();
            BufferedReader rd = new BufferedReader(new InputStreamReader(is));

            try {

                while ((rline = rd.readLine()) != null) {

                    answer.append(rline);
                }
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            return answer;
        }

        @Override
            protected void onPostExecute(String result) {
            listdrawer();
        }
    }
    ///ending asyntask


    ////webftn 
    public void accessweb() {

        JsonReadTask task = new JsonReadTask(); task.execute(new String[]{ url });

    }

    public void listdrawer() {

        try {
            JSONObject jsonObject = new JSONObject(jsonresult.substring(jsonresult.indexOf("{"), jsonresult.lastIndexOf("}") + 1));
            JSONArray jsonArray = jsonObject.optJSONArray("emp_info");
            final ArrayList<Map<String, String>> mylist = new ArrayList<Map<String, String>>();

            HashMap<String, String> map;
            for (int i = 0; i<jsonArray.length(); i++) {

                JSONObject c = jsonArray.getJSONObject(i);
                map = new HashMap<String, String>();
                map.put("Name", c.getString("Name"));
                mylist.add(map);

                SimpleAdapter adp;
                adp = new SimpleAdapter(JsonListview.this,
                    mylist, R.layout.activity_column, new String[]{ "Name" }, new int[]

                {R.id.ColName});
                listView.setAdapter(adp);


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

我得到了流动的logcat错误:

16524-16544/com.example.numaan.listviewjson W/OpenGLRenderer? Failed to     
set EGL_SWAP_BEHAVIOR on surface 0xb3fd7120, error=EGL_SUCCESS

0 个答案:

没有答案