如何将json数据从android应用发送到网站

时间:2019-07-10 09:17:51

标签: javascript json web kotlin

我正在尝试以JSON格式发送Android edittext,以在应用程序的webview中的网站上显示数据。当用户单击应用程序中的按钮时,这必须同时工作。我到处都是stackoverflow和youtube,但是还没有找到一种方法。我遇到的问题是如何将数据发送到url以及如何使用javascript检索数据。我只想指导使用什么以及如何使用。给我做这项工作的人说,我不需要访问服务器。谢谢!

供参考:

这是应用程序的主要活动:

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)    
        button.setOnClickListener() {
            val inputValue: String? = input_area.text.toString()
            if (inputValue == null || inputValue.trim() == "") {
                //if (inputValue.trim() == "") {
                Toast.makeText(this, "Please input data", Toast.LENGTH_LONG).show()
            }
            else {
                val toSend= JSONObject()
                toSend.put("input", inputValue)
            }
        }
    }
    private inner class Callback : WebViewClient() {  

        override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
            return false
        }

    }
}

这是我需要接收数据的html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
<p id="demo"></p>

<script>
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var myObj = JSON.parse(this.responseText);
            document.getElementById("demo").innerHTML = myObj.input;
        }
    };
    xmlhttp.open("GET", "", true);
    xmlhttp.send();
</script>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

您可以使用websocket进行实时通信。

据我了解,您希望数据从android应用程序发送后立即显示在网站上。

要使用Firebase之类的解决方案来实现此目的,该解决方案允许您设置实时数据库并实时进行更新。

在该链接上查看如何在android This post上完成

这里https://firebase.google.com/docs/android/setup可以检查它如何在网络上完成