我在Eclipse中編寫了一個Android應用程序,其中我需要將一些文本寫入我的Web服務器上的文本文件。在OnCreate()我寫這樣的事情..將數據寫入Android中的URL上的文本文件
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();
}
但它不工作。我只需要在我的Web服務器上的現有文本文件上寫一個簡單的文本。我知道它的一個簡單的任務,但我已經嘗試了多種方法,並在谷歌花了一段時間試圖做到這一點,但不是working..Some時候,我收到錯誤黃色:
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)
...
...
...
我試着在異步也寫着:
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.....
}
}
但沒有什麼工作..我有android.permission.ACCESS_NETWORK_STATE和android.permission.INTERNET在清單中啓用。我在服務器上的文件夾有寫權限。
任何幫助表示讚賞...謝謝
感謝您的提示...它在下面的線程回答... http:///stackoverflow.com/questions/12031543/write-data-to-a-remote-text-file-in-android – Vinraj
HTTP 1.1定義數據上傳就好了。該方法稱爲'PUT',並在RFC 2616 Sec中有詳細說明。 9.6:http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6 - 添加適當的身份驗證,授權和加密,OP所要求的是完全可行的。 – datenwolf