I need to send some data inputted by edittext in my Android app, but I don't understand how I must to make the code for server side! I'm on PHP 5.3.
4
-
Refer these stackoverflow.com/questions/2540786/… , stackoverflow.com/questions/8317553/…Piyush– Piyush2014-03-19 12:40:35 +00:00Commented Mar 19, 2014 at 12:40
-
This will help you to understand the whole flow of Call and ResponceAkshay– Akshay2014-03-19 12:44:00 +00:00Commented Mar 19, 2014 at 12:44
-
This is for retrieve data, not for post.user3437592– user34375922014-03-19 13:04:14 +00:00Commented Mar 19, 2014 at 13:04
-
i'm using this code hmkcode.com/android-send-json-data-to-server but i don't understand how to make the code for this page “hmkcode.appspot.com/jsonservlet“user3437592– user34375922014-03-19 15:09:13 +00:00Commented Mar 19, 2014 at 15:09
Add a comment
|
2 Answers
you can do it by using query string. But for that you need a api for server-side. To send data on server side u can use this code:-
public String connect(String url)
{//for connect to database(QueryString API)
String userID = null;
HttpClient httpc = new DefaultHttpClient();
try
{
HttpPost post = new HttpPost(url);
HttpResponse response = httpc.execute(post);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
{
userID = EntityUtils.toString(response.getEntity());
Log.v("Login response", "" + userID);
}
}
catch (ClientProtocolException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return userID;
}
public void abcd(String a1, String a2, String a3,
String a4, String a5) {
String QS ="";//acc. to ur data
String finalURL2 = url + QS;
String result2 = connect(finalURL2);
Log.v("message", result2);
}
Comments
it Depends how your server side is implemented Normally sending data Requires Either HTTPPost Method or HTTPPut methods. More commonly used is HTTPPost methods That has header data and Body Data
you need to do it in following way
1- convert your json object to String
user.toString();
2- add Targeted URL
String URL="Enter URL here";
3- add url to the request
response = dohttpPostWithCode(URL.toString(),user.toString());
response is String [ ] that have 2 index i- for response code ii- for data
4- method to handle data
public String[] dohttpPostWithCode(String url,String postParameters ) throws Exception {
URL weburl = new URL(url);
URI uri = new URI(weburl.getProtocol(), weburl.getUserInfo(), weburl.getHost(), weburl.getPort(), weburl.getPath(), weburl.getQuery(), weburl.getRef());
BufferedReader in = null;
String[] result = new String[2];
try {
HttpParams httpParameters = new BasicHttpParams();
// Set the timeout in milliseconds until a connection is established.
int timeoutConnection = 20000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
// Set the default socket timeout (SO_TIMEOUT)
// in milliseconds which is the timeout for waiting for data.
int timeoutSocket = 20000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
HttpURLConnection httpURL=(HttpURLConnection) weburl.openConnection();
httpURL.setDoOutput(true);
httpURL.setDoInput(true);
httpURL.setRequestMethod("POST");
HttpClient client =new DefaultHttpClient(httpParameters);
HttpPost httpPost = new HttpPost(uri);
//httpPost.addHeader("language","en");
httpPost.addHeader("Content-Type", "application/json");
// StringEntity entity = new StringEntity(postParameters, HTTP.UTF_8);
httpPost.setEntity(new StringEntity(postParameters));
// httpPost.setEntity(entity);
// httpPost.setEntity(new UrlEncodedFormEntity(postParameters));
HttpResponse response = client.execute(httpPost);
in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
/* String result = sb.toString();
return result;*/
result[0] = response.getStatusLine().getStatusCode()+"";
result[1] = sb.toString();
return result;
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}