当前位置: 首页 > 知识库问答 >
问题:

MySQL数据库到android ListView

濮阳宜
2023-03-14

我正在尝试从MySQL数据库加载数据到android ListView。这是我看到的示例:http://codeoncloud.blogspot.com/2013/07/android-mysql-php-json-tutorial.html

这是我的代码:

public class AbCdEfGh extends ActionBarActivity {

private String jsonResult;
private String url = "http://merosong.byethost24.com/android_php_files_management/connection.php";
private ListView listView;
ProgressDialog pDialog;

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

    //showing a ProgressDialog
    pDialog = new ProgressDialog(this);
    pDialog = ProgressDialog.show(this, "", "Loading", true);

    setContentView(R.layout.activity_choose);
    listView = (ListView) findViewById(R.id.list_main);

    accessWebService();

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present
    getMenuInflater().inflate(R.menu.menu_choose, menu);
    return true;
}

// Async Task to access the web
private class JsonReadTask extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... params) {
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(params[0]);
        try {
            HttpResponse response = httpclient.execute(httppost);
            jsonResult = inputStreamToString(
                    response.getEntity().getContent()).toString();

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

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

        }
        return null;


    }

    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) {


        }
        return answer;
    }

    @Override
    protected void onPostExecute(String result) {
        pDialog.dismiss();
        ListDrwaer();

    }



}// end async task

public void accessWebService() {
    JsonReadTask task = new JsonReadTask();
    // passes values for the urls string array
    task.execute(new String[]{url});
}

// build hash set for list view
public void ListDrwaer() {
    List<Map<String, String>> trackList = new ArrayList<Map<String, String>>();

    try {
        JSONObject jsonResponse = new JSONObject(jsonResult);
        JSONArray jsonMainNode = jsonResponse.optJSONArray("mstracks");
        for (int i = 0; i < jsonMainNode.length(); i++) {
            JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
            String name = jsonChildNode.optString("name");
            String outPut = name + "";
            trackList.add(createEmployee("merosongayush", outPut));
        }

    } catch (JSONException e) {

    }


    SimpleAdapter simpleAdapter = new SimpleAdapter(this, trackList,
            android.R.layout.simple_list_item_1,
            new String[]{"merosongayush"}, new int[]{android.R.id.text1});
    listView.setAdapter(simpleAdapter);

}

private HashMap<String, String> createEmployee(String name, String link) {
    HashMap<String, String> finalNameLink = new HashMap<String, String>();
    finalNameLink.put(name, link);
    return finalNameLink;
}

}

我的安卓activity什么都没有。

My connection.php输出:

http://merosong.byethost24.com/android_php_files_management/connection.php

请帮帮忙。提前道谢。

共有1个答案

法景明
2023-03-14

这可能是因为doinbackground函数没有返回任何内容。

 类似资料:
  • 我已经写出了我的数据库,它可以运行(在MySql上),并创建了我自己的jsp程序,但当我试图测试数据库和文件之间的连接时,我发现了这个错误 HTTP状态500-无法为JSP编译类: 类型异常报告 消息无法为JSP编译类: 说明服务器遇到内部错误,无法满足此请求。 例外 org.apache.jasper.无法为JSP编译类: 在生成的java文件中的第:[14]行发生错误:[C:\Program

  • 我是debezium的新手,我正在尝试将我的kafka连接器连接到我本地WAMP服务器上已经存在的MySQL数据库。 我用我的邮递员发了以下邮件 我的不良反应

  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 目录结构CentOS /etc/my.cnf: 全局配置文件,用来配置 MySQ

  • 问题内容: 我有这个小点击计数器。我想将每次单击都包含在mysql表中。有人可以帮忙吗? 万一有人想看看我做了什么: 这是phpfile.php,出于测试目的,将数据写入txt文件 问题答案: 您的问题中定义的JavaScript不能直接与MySql一起使用。这是因为它不在同一台计算机上运行。 JavaScript在客户端(在浏览器中)运行,并且数据库通常在服务器端存在。您可能需要使用中间服务器端

  • 我无法使此表单成功地将数据提交到数据库。我已经验证了数据库/表是否存在(模式如下所示),并且出于某种原因,它没有将其插入数据库。当我尝试提交示例数据时,它不会改变页面,只是坐在那里。发生了什么事? 模式: 食物(PID INT NOT NULL自动递增,主键(PID),名称VARCHAR(20),类型VARCHAR(9),NumCals INT,健康BOOL,注释文本)

  • 问题内容: 我刚刚在网络托管服务上设置了MySQL数据库,并尝试使用以下php远程连接至该数据库: 我对php和MySQL还是很陌生,我不了解几件事。我已将上面的代码保存在文件中(称为demo.html),并尝试在Web浏览器中查看它(当前它不显示任何内容)。 我的托管公司告诉我,应该使用数据库连接 我以为我需要包括IP地址(使用PhPMyAdmin登录时看到的地址),因此我也添加了该地址。但是,