PUTリクエストを送信しようとしていますが、失敗しています。私は(例外がスローされませんさらに、使用中に)次の行がログに以下のデータを送信しようとしている 初回のみ:AndroidはHTTP PUTを送信しますが、エラー:isDataScedulerEnabled():False
E/DataScheduler: isDataSchedulerEnabled():false
は、私はそれはおそらく意味するかもしれない何かをGoogleにしようとしたが、と運がない。また、データを送信しようとするさらなる試みでも、前述の例外はもう発生しませんが、データはまだ送信されていません。私は自分のサーバー上でそれを送信しようとしており、その側で接続が受信されていないことがわかります。私のAndroidのブラウザを使って、しかし、私は成功したGET要求を送ることができます。
私もですでにインターネットのアクセス許可を設定した:私は、JavaやAndroidに非常に精通していないよしかし、私の知る限り、要求が形成されるべきである
<uses-permission android:name="android.permission.INTERNET" />
と次のように送られました。
public void sendFilesWithPut(String address, String file) {
new AsyncTask<String,Void,Void>() {
@Override
protected Void doInBackground(String... params) {
try {
//Log.d("HTTP:","Address:"+params[0]+":"+params[1]+" file:"+params[2]);
URL url = new URL("http://" + params[0] + ":" + params[1]);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setRequestMethod("PUT");
OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream());
out.write(params[2]);
out.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}.execute(address, Integer.toString(port), file);
}
私はPUTリクエストを送信しようとするたびにログインするためのラインを印刷することができ、それがすべて正しいです:IP、ポートと、送信されるように、弦。
どのようにすれば効果がありますか?
ああ、その小さなコードがトリックを作った!奇妙なことに、私がコードを学んだ例ではありませんでした。とにかく、ありがとう。あなたは正式に私の一日を救ってくれました:) – user3622167
仲間の仲間を助けてくれることを嬉しく思っています。ここで役に立つか良い答えを得るのが難しいですか、通常は自分の質問に答える必要があります。運が良かった! :) – partynose