Android - 从在线数据库获取信息

标签 android mysql

我创建了一个在线数据库,其中包含一个包含四行的表:KEY_ID、KEY_SLOT_NAME、KEY_AVAILABLE_SLOT 和 KEY_TOTAL_SLOT。

它们每个都有自己的行并分配了默认值,并且只有 KEY_AVAILABLE_SLOT 的值才会更改。

我已经创建了 JSONFunctions 类

public class JSONfunctions {

    public static JSONObject getJSONfromURL(String url) {
        InputStream is = null;
        String result = "";
        JSONObject jArray = null;

        // Download JSON data from URL
        try {
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(url);
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();

        } catch (Exception e) {
            Log.e("log_tag", "Error in http connection " + e.toString());
        }

        // Convert response to string
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    is, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            is.close();
            result = sb.toString();
        } catch (Exception e) {
            Log.e("log_tag", "Error converting result " + e.toString());
        }

        try {

            jArray = new JSONObject(result);
        } catch (JSONException e) {
            Log.e("log_tag", "Error parsing data " + e.toString());
        }

        return jArray;
    }
}

How to connect Android app to MySQL database?

现在我陷入了第四步,即读取 JSON 标签,因为我不明白那是什么。

这是我使用离线数据库进行测试时的示例代码用法:

final TextView parkAvaliableA = (TextView) findViewById(R.id.parkASlot);
        parkAvaliableA.setText("Available Slot : " + SlotA.available_slot);
        Button buttonA = (Button) findViewById(R.id.parkABtn);
        buttonA.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                if(SlotA.available_slot == 0)
                {
                    Toast.makeText(getApplicationContext(), 
                            "Parking slot A is full", 
                            Toast.LENGTH_SHORT).show();
                }
                else
                {
                    SlotA.available_slot -= 1;
                    db.updateSlot(new ParkingSlot());
                }
                //parkAvaliableA.setText("Available Slot : " + SlotA.available_slot);
                Intent myIntent = new Intent(MainMap.this, ParkA.class);

                MainMap.this.startActivity(myIntent);
            }

        });

我需要对数据库进行基本更新操作,以便我可以在每次按下按钮时更新 KEY_SLOT_AVAILABLE 值。

还有一个 OOT 问题,如果我可以的话:“我应该在每个数据库列中写入 KEY_ 吗?或者这只是一个麻烦?当我阅读一些使用 KEY_ 的在线教程时,我开始使用 KEY_”

最佳答案

您需要编写如下所示的脚本来连接到 MySql 数据库:

 <?php
    $servername = "Your_Server_Name";
    $username = "Your_UserName";
    $password = "Your_Password";
    $dbname = "Your_DB_Name";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);



   // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

成功连接到数据库后,您可以使用服务器执行所有数据库操作。

检查以下链接您会得到一个想法:

http://www.w3schools.com/php/php_mysql_create.asp

http://www.tutorialspoint.com/php/create_mysql_database_using_php.htm

希望这有帮助。

关于Android - 从在线数据库获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30520735/

相关文章:

android - Vue 使用 Android Chrome 观察意外响应

android - NullPointer 异常将 Intent 字符串保存为实例状态 Android

java - 如何在 Java 中存储 mysql 日期,使用哪种类型的变量?

mysql - 按类别获取具有第二个最新时间戳的行?

mysql - 使用 * 与字段名称列表的 SELECT 语句性能

mysql - Multi-Tenancy 数据库,每个表上都有租户 ID

mysql - (服务器端)准备语句对 MySQL 5.5+ 查询计划的影响

android - 在 ItemizedOverlay 中如何处理 onTouchEvent 和 onTap 重叠?

java - Firestore : after getting data from firestore and get the values from object and add it to listview

java - Android:网页无法在平板电脑上启动