如何从PHP发送变量Android应用程序? [英] How to send variable from php to an android app?

查看:102
本文介绍了如何从PHP发送变量Android应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好有我目前的Andr​​oid应用程序,中有一个web视图的活动。我想知道我怎么可以采取,并从该网站上的PHP存储变量(是的,我控制的网站,并有充分的编辑功能)插入我的Andr​​oid应用程序中的变量。

Hi guys there is an activity on my current android app that has a webview in it. I was wondering how I could take and store a variable from the php on that website (yes I control the website, and have full editing capabilities) into a variable on my android app.

推荐答案

我会解释的事情需要在一般的进行。首先,在你的Andr​​oid应用程序方面,应该有code这样的事情。

I would explain the things need to be done in general. First, at your android app side, there should be code something like this.

1)在你的android端

1)At your android side

String url = "www.yoururl.com/yourphpfile.php";
List<NameValuePair> parmeters = new ArrayList<NameValuePair>();
            parameters.add(new BasicNameValuePair("category",category));
            parameters.add(new BasicNameValuePair("subcategory",subcategory));// These are the namevalue pairs which you may want to send to your php file. Below is the method post used to send these parameters

  DefaultHttpClient httpClient = new DefaultHttpClient();

  HttpPost httpPost = new HttpPost(url); // You can use get method too here if you use get at the php scripting side to receive any values.

  httpPost.setEntity(new UrlEncodedFormEntity(parameters));

  HttpResponse httpResponse = httpClient.execute(httpPost);

  HttpEntity httpEntity = httpResponse.getEntity();

  is = httpEntity.getContent();

   BufferedReader reader = new BufferedReader(new InputStreamReader(
                    is, "iso-8859-1"), 8); // From here you can extract the data that you get from your php file..

        StringBuilder builder = new StringBuilder();

        String line = null;

        while ((line = reader.readLine()) != null) {
            builder.append(line + "\n");
        }

        is.close();
        json = sb.toString(); // Here you are converting again the string into json object. So that you can get values with the help of keys that you send from the php side.

        String message = json.getString("message");
         int success = json.getInt("success"); // In this way you again convert json object into your original data.

2)在你的PHP端

2) At your php side

$response = array();

// check for post fields
if (isset($_POST['category']) && isset($_POST['subcategory'])) {

    $category = $_POST['category'];
    $subcategory = $_POST['subcategory'];


    // include db connect class
    require_once __DIR__ . '/db_connect.php';

    // connecting to db
    $db = new DB_CONNECT();

    // mysql inserting a new row
    $result = mysql_query("INSERT INTO categorytable(category, subcategory) VALUES('$category', '$subcategory')");

    // check if row inserted or not
    if ($result) {
        // successfully inserted into database
        $response["success"] = 1;
        $response["message"] = "Data inserted into database.";

        // echoing JSON response
        echo json_encode($response);// Here you are echoing json response. So in the inputstream you would get the json data. You need to extract it over there and can display according to your requirement.
} 

正如你说你是在PHP相当精通,你可能已经发现,在PHP上面的东西做出尽可能的简单,它不是固定。所以,你可以遵循一些PDO或其他担保方式,code在PHP端。请确保您以在单独的线程中运行,无论你需要围绕code在你的android侧AsyncTask的。希望这有助于。

As you said you are fairly proficient in php, you might have found that the above things in php made as simple as possible and It's not secured. So, you can follow some pdo or some other secured ways to code at php side. Make sure you surround the code at your android side in asynctask in order to run in separate thread wherever you need. Hope this helps.

这篇关于如何从PHP发送变量Android应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆