Android移动应用程序连接到Web主机数据库

时间:2015-02-15 16:40:51

标签: php android mysql eclipse sqlite

我目前正在为网站创建移动应用程序,其中我必须连接到在Web主机上上传的数据库。关于我应该如何开始,我几乎没有问题。我对Android Eclipse有所了解,但在PHP / Web开发方面没有。

情景:

该网站已经创建。它现在可以顺利运行。 (虽然我不是这样做的)。数据库已经上传到主机(hostinger.ph)。我只需将我在eclipse(移动应用程序)上所做的事情连接到数据库。

我应该做什么:

  1. 当我登录移动应用程序时,移动应用程序应检查输入的用户名和密码是否存在于主机上传的数据库中(hostinger.ph)。
  2. 当管理员为网站创建公告时,应将其上传到主机的数据库中,以便显示在网站主页上。
  3. 当员工提交"假期/病假/紧急/母亲/父亲/任何类型的......离开"时,应将其添加到主机的数据库中,以便管理员可以查看和使用移动应用程序批准它。
  4. 对主机上传文件的任何基本查看。
  5. 帐户管理(更改密码,用户个人资料等)

    对不起,我没有代码,因为我还不知道如何开始。我现在只有登录界面,但我不知道在何处以及如何将用户名和密码传输到数据库。

  6. 我的问题:

    1. 我能用Android Eclipse和sqlite做到吗?比较我的用户输入和传递,并执行类似SELECT * FROM用户名/密码表的用户和传递应匹配的内容?
    2. 我想查看文件时可以这样做吗?示例我点击"查看离开",然后应用程序将执行sql查询以检索文件?
    3. 我在帐户管理方面和管理员创建更新时的想法相同吗?
    4. 我只是想知道除了Eclipse,sqlite之外我还需要什么。我被告知我需要做一个PHP应用程序,将其作为后端应用程序上传到主机(hostinger.ph)。它是否正确?所以我可以开始走上正轨。

      非常感谢大家!抱歉这篇长篇文章。

1 个答案:

答案 0 :(得分:0)

如何将params发送到服务器

public class SendToServerActivity extends Activity {

EditText txtName;
EditText txtPrice;
EditText txtDesc;
EditText inputMnoz;
EditText txtCreatedAt;
Button btnSave;
TextView inputEdiServer;
TextView inputEdiUser;
TextView inputEdiDruhid;

String pid;

// Progress Dialog
private ProgressDialog pDialog;

// JSON parser class
JSONParser jsonParser = new JSONParser();


// JSON Node names
private static final String TAG_SUCCESS = "success";
private static final String TAG_PRODUCT = "product";
private static final String TAG_PID = "pid";
private static final String TAG_NAME = "name";
private static final String TAG_PRICE = "price";
private static final String TAG_DESCRIPTION = "description";


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sendlayout);



    // save button
    btnSave = (Button) findViewById(R.id.btnSave);


    // save button click event
    btnSave.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // starting background task to update product
            new SendToServer().execute();
        }
    });



}




class SendToServer extends AsyncTask<String, String, String> {


    @Override
    protected void onPreExecute() {
        super.onPreExecute();

    }


    protected String doInBackground(String... args) {

        // getting updated data from EditTexts
        String name = txtName.getText().toString();
        String price = txtPrice.getText().toString();
        String description = txtDesc.getText().toString();
        String mnoz = inputMnoz.getText().toString();


        // Building Parameters
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair(TAG_PID, pid));
        params.add(new BasicNameValuePair(TAG_NAME, name));
        params.add(new BasicNameValuePair(TAG_PRICE, price));
        params.add(new BasicNameValuePair(TAG_DESCRIPTION, description));

        params.add(new BasicNameValuePair("mnoz", mnoz));

        // sending modified data through http request
        // Notice that update product url accepts POST method
        JSONObject json = jsonParser.makeHttpRequest("http://xxx.xx/xxx/getparams.php",
                "POST", params);

        // check json success tag
        try {
            int success = json.getInt(TAG_SUCCESS);

            if (success == 1) {
            //save ok

            } else {
                // failed save
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;
    }


    protected void onPostExecute(String file_url) {

    }
}

}

和服务器上的php脚本getparams.php

<?php


// array for JSON response
$response = array();

// check for required fields
if (isset($_POST['pid']) && isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) {

$pid = $_POST['pid'];
$name = $_POST['name'];
$price = $_POST['price'];
$description = $_POST['description'];



// connecting to db
...
...


//some mysql operation
$resttt = "INSERT INTO sometable ( pid, name, price, description ) VALUES ( '$pid', '$name', '$price', '$description'  ) ";
$result = mysql_query("$resttt") or die(mysql_error());


// check if row inserted or not
if ($result) {
    // successfully updated
    $response["success"] = 1;
    $response["message"] = "Product successfully saved.";


    // echoing JSON response
    echo json_encode($response);
} else {

}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";

// echoing JSON response
echo json_encode($response);
}
?>

可能会有所帮助