URLConnection从php服务器收到错误的文本

时间:2016-07-19 13:41:02

标签: java android http httpurlconnection

我有一个有4个活动的应用。在第一个活动中,我想从我的网站(PHP文件)请求一些文本。我第一次按下按钮来获取数据它工作正常,但在下一次我按下按钮时,它会返回一个正确的文本,但会将其与之前的文本连接起来。请参阅示例:

First press: returns: "abc"
Second press: returns: "abcabc" (must be return abc)
Third press: returns: "abcabcabc" (must be return abc)
.
  1. 我每次都清除文字视图。
  2. 我每次关闭连接。
  3. 我每次关闭BufferedReader
  4. 我关闭。
  5. 活性1:

    try{
        URL u = new URL(uu);
        HttpURLConnection con = (HttpURLConnection) u.openConnection(Proxy.NO_PROXY);
        con.setDoOutput(true);
        con.setUseCaches(false);
        PrintStream pr = new PrintStream(con.getOutputStream());
        pr.print("code=3&arg1=" + str);
        BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
        String l;
        while ((l=br.readLine())!=null){
            z = z + "\n" + l;
        }
        br.close();
        pr.close();
        con.disconnect();
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                TextView tx = (TextView) findViewById(R.id.textView2);
                tx.setMovementMethod(new ScrollingMovementMethod());
                tx.setText("");
                tx.setText(z);
            }
        });
    }
    catch (final Exception ex){
    }
    

1 个答案:

答案 0 :(得分:1)

我不知道你在哪里声明了z字符串,但你显然是在附加它。

您应该清除它,或者为每个请求使用新的String。

使用StringBuilder。你的内存使用率会低得多。