kullanarak nasıl veri gönderilir? API22'den 22'ye geçiş için httpclient kullanılamıyor dediğim için değişiklik yaptım. API22'ye geçtiğimde HttpClient, HttpPost ve NameValuePair.I ile ilgili bir sorun yaşadım. HttpURLConnectionHandler'ı kullanmak için bir çözüm buldum. Aşağıdaki yöntem için nasıl kullanıldığını bilmiyorum. Eğer "mesajı" ve "id" için kendi tane oluşturabilirsiniz daha MessageSenderContent içinHttpURLConnection
public boolean sendPost(MessageSenderContent content) {
HttpURLConnection connection;
try {
URL gcmAPI = new URL("your_url");
connection = (HttpURLConnection) gcmAPI.openConnection();
connection.setRequestMethod("POST");// type of request
connection.setRequestProperty("Content-Type", "application/json");//some header you want to add
connection.setRequestProperty("Authorization", "key=" + AppConfig.API_KEY);//some header you want to add
connection.setDoOutput(true);
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());
//content is the object you want to send, use instead of NameValuesPair
mapper.writeValue(dataOutputStream, content);
dataOutputStream.flush();
dataOutputStream.close();
responseCode = connection.getResponseCode();
} catch (IOException e) {
e.printStackTrace();
}
if (responseCode == 200) {
Log.i("Request Status", "This is success response status from server: " + responseCode);
return true;
} else {
Log.i("Request Status", "This is failure response status from server: " + responseCode);
return false;
}
}
Örnek:
public void send(View v)
{
HttpClient httpclient = new DefaultHttpClient();
// put the address to your server and receiver file here
HttpPost httppost = new HttpPost("http://yoursite/yourPHPScript.php");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
// we wont be receiving the parameter ID in your server, but it is here to show you how you can send more data
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
// message is the parameter we are receiving, it has the value of 1 which is the value that will be sent from your server to your Arduino board
nameValuePairs.add(new BasicNameValuePair("message", "1"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httpclient.execute(httppost); // send the parameter to the server
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
Birisi lütfen bana
? (Hangi hata iletilerini alıyorsunuz?) –
HttpPost, HttpClient ve NameValuePair kullanımdan kaldırılmıştır. Bu post yöntemini zaten kullandığım HttpURLConnectionHandler Sınıfı ile kullanmam gerekiyor @ChrisBritt – Shrei