2016-04-04 21 views
0

Bir PUT isteği göndermeye çalışıyorum ama kötü bir şekilde başarısız. Ben (hiçbir istisnası atılır ayrıca kullanımda) aşağıdaki satırı günlüğüne takip veri göndermek çalışıyorum Sadece ilk kez:Android HTTP PUT gönder, ancak hata: isDataScedulerEnabled(): Yanlış

E/DataScheduler: isDataSchedulerEnabled():false

Bunu muhtemelen ne anlama geldiğini google çalıştı, ancak birlikte şanssız. Ve veri göndermeye yönelik diğer girişimlerde bile, bahsedilen istisna artık artmayacak, yine de hiçbir veri gönderilmiyor. Kendi sunucumda göndermeye çalışıyorum ve o tarafta hiçbir bağlantı göremiyorum. Android tarayıcımı kullanarak, başarılı bir GET isteği gönderebilirim.

Ben de zaten internette izni belirledik: Java veya Android ile çok aşina değilim ama

<uses-permission android:name="android.permission.INTERNET" /> 

bildiğim kadarıyla isteği oluşturulur ve aşağıdaki şekilde gönderilmesi gerekmektedir bildiğimiz gibi:

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); 
} 

Ben bir PUT isteği göndermek denediğiniz her defasında Log için bir satır yazdırabilirsiniz ve hepsi doğru verilmiştir: IP, liman ve-gönderilmek üzere-dizeli.

Nasıl çalışılacağı konusunda herhangi bir fikrin var mı?

cevap

0

Param [0] ve params [1] 'in aslında URL'nizin adresi ve portu olduğundan şüpheleniyorum. içerik gönderilecektir

Making PUT request with JSON data using HttpURLConnection is not working

Eğer tepki ile etkileşimi başlarsanız, bu nedenle aşağıdakileri ekleyin: Eğer öyleyse o zaman aşağıdaki sonrası başvurmak isteyebilirsiniz uyarınca

System.err.println(httpCon.getResponseCode()); 

Gönderi ve bunun işe yaradığını görüyor musunuz?

+0

Ah, o küçük kod parçası hile yaptı! Garip, kodu öğrendiğim örneklerde yoktu. Neyse, teşekkürler dostum. Resmi olarak günümü kurtardınız :) – user3622167

+0

Dostum, dostum noob'a yardım etmekten memnunum ... yardım etmek için çok zor, iyi cevaplar almak, genellikle kendi sorularımı cevaplamak zorundayım. İyi şanslar! :) – partynose

İlgili konular