Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android在外部数据库中设置数据_Java_Android_Mysql - Fatal编程技术网

Java android在外部数据库中设置数据

Java android在外部数据库中设置数据,java,android,mysql,Java,Android,Mysql,我想用android应用程序在外部mysql数据库中写入数据 本课程适用于: public class SendingData extends AppCompatActivity { Intent intent = null; private class LoadingDataURL extends AsyncTask<String, String, JSONArray> { @Override protected JSONArray doInBackgr

我想用android应用程序在外部mysql数据库中写入数据

本课程适用于:

public class SendingData extends AppCompatActivity {

Intent intent = null;

private class LoadingDataURL extends AsyncTask<String, String, JSONArray> {




    @Override
    protected JSONArray doInBackground(String... params) {
        URL url;
        HttpURLConnection urlConnection = null;
        JSONArray response = new JSONArray();

        try {
            url = new URL(params[0]);
            urlConnection = (HttpURLConnection) url.openConnection();
            int responseCode = urlConnection.getResponseCode();

            String responseString = readStream(urlConnection.getInputStream());

            intent = new Intent(SendingData.this, Overview.class);
            startActivity(intent);



            response = new JSONArray(responseString);

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (urlConnection != null)
                urlConnection.disconnect();
        }

        return response;
    }

    private String readStream(InputStream in) {
        BufferedReader reader = null;
        StringBuffer response = new StringBuffer();
        try {
            reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
            String line = "";
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return response.toString();
    }
}



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.loading_data);

    String firstname = "Max";
    String secondname= "Mustermann";


    LoadingDataURL client = new LoadingDataURL();
    client.execute("https://domain.com/index.php?"+
                    "fristname="+fristname+
                    "&secondname="+secondname);

}
}
公共类发送数据扩展AppCompating活动{
意向=无效;
私有类LoadingDataURL扩展异步任务{
@凌驾
受保护的JSONArray doInBackground(字符串…参数){
网址;
HttpURLConnection-urlConnection=null;
JSONArray响应=新的JSONArray();
试一试{
url=新url(参数[0]);
urlConnection=(HttpURLConnection)url.openConnection();
int responseCode=urlConnection.getResponseCode();
字符串responseString=readStream(urlConnection.getInputStream());
intent=新的intent(SendingData.this、Overview.class);
星触觉(意向);
响应=新JSONArray(响应限制);
}捕获(例外e){
e、 printStackTrace();
}最后{
if(urlConnection!=null)
urlConnection.disconnect();
}
返回响应;
}
私有字符串读取流(输入流输入){
BufferedReader reader=null;
StringBuffer响应=新的StringBuffer();
试一试{
reader=新的BufferedReader(新的InputStreamReader(在“UTF-8”中));
字符串行=”;
而((line=reader.readLine())!=null){
响应。追加(行);
}
}捕获(IOE异常){
e、 printStackTrace();
}最后{
if(读卡器!=null){
试一试{
reader.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
返回response.toString();
}
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.loading_数据);
String firstname=“Max”;
字符串secondname=“Mustermann”;
LoadingDataURL客户端=新建LoadingDataURL();
client.execute(“https://domain.com/index.php?"+
“fristname=“+fristname+
“&secondname=“+secondname”);
}
}
我的问题是,如果在我的字符串(fristname,secondname)中是&或?或任何特殊字符,则无法正确保存条目。
有什么想法吗?:)

使用URLEncoder类

请试试这个

String fn = URLEncoder.encode(fristname, "utf-8");
String sn = URLEncoder.encode(secondname, "utf-8");

LoadingDataURL client = new LoadingDataURL();
client.execute("https://domain.com/index.php?"+
                "fristname=" + fn + "&secondname=" + sn);

注意:不要对完整url进行编码,只对参数值进行编码。

为什么不在将其添加到url之前对其进行编码?如何进行?这是我第一次:)请看我的答案。你可能会看到这个