dongqin1167 2012-11-29 21:50
浏览 12
已采纳

如何从php发送变量到Android应用程序?

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.

  • 写回答

2条回答 默认 最新

  • dongzhao1930 2012-11-30 03:42
    关注

    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)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 + "
    ");
            }
    
            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) 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.
    } 
    

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单