将数据写入Android中的URL上的文本文件

Vin*_*raj 0 android text

我正在Eclipse中编写一个Android应用程序,我需要将一些文本写入我的Web服务器上的Text文件.在onCreate()我写这样的东西..

try{
    String data = "hello";  
    URL u1 = new URL("http://url.com/script.txt");  
    URLConnection uc1 = u1.openConnection();  
    uc1.setDoOutput(true);  
    OutputStreamWriter out = new OutputStreamWriter(uc1.getOutputStream());  
    out.write(data);  
    out.flush();
}  
catch( Exception e ) {  
   e.printStackTrace();  
} 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我只需要在Web服务器上的现有Text文件上写一个简单的文本.我知道这是一个简单的任务,但我尝试了几种方法,并花了一些时间在谷歌尝试这样做但不工作..有时我收到黄色错误:

05-16 16:22:24.853: W/System.err(29095): android.os.NetworkOnMainThreadException

05-16 16:22:25.563: W/System.err(29095):    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1108)
...
...
...
Run Code Online (Sandbox Code Playgroud)

我也试过写Async:

private class MyAsyncTask extends AsyncTask<Void, Void, Void>
    {

        ProgressDialog mProgressDialog;
        @Override
        protected void onPostExecute(Void result) {
        }

        @Override
        protected void onPreExecute() {

        }

        @Override
        protected Void doInBackground(Void... params) {
            //code comes here.....
     }
}
Run Code Online (Sandbox Code Playgroud)

但没有任何工作..我在清单中启用了android.permission.ACCESS_NETWORK_STATE和android.permission.INTERNET.我在服务器中的文件夹hav写权限.

任何帮助表示赞赏...谢谢

Uku*_*kit 7

您无法访问某些服务器提供的文件,例如文件系统上的资源.HTTP POST与数据一起使用,并通过某些脚本引擎(如PHP)完成文件编写.

AsyncTask也需要使用.

  • HTTP 1.1定义数据上传就好了.该方法称为"PUT",在RFC 2616 Sec中指定.9.6:http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6 - 添加适当的身份验证,授权和加密,OP想要的是完全可实现的. (2认同)