Send JSON object via HttpPost method

by Alok Kulkarni » Tue, 08 Sep 2009 21:19:18 GMT


Sponsored Links
 Any answers ??





--~--~---------~--~----~------------~-------~--~----~



Send JSON object via HttpPost method

by Wayne Wenthin » Wed, 09 Sep 2009 05:39:03 GMT


 A snippet for what I do...
public HttpResponse updateGirl(String url, Pawn girl, int pawnID) {
HttpClient httpclient = new DefaultHttpClient();
HttpPut httpput = new HttpPut(url);

// Execute the request

try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
39);
nameValuePairs.add(new BasicNameValuePair("id", Integer
.toString(pawnID)));
......  Many nameValuePairs later.....


httpput.addHeader("Content-Type",
"application/x-www-form-urlencoded");
httpput.setEntity(new UrlEncodedFormEntity(nameValuePairs,
HTTP.UTF_8));
 HttpResponse response = httpclient.execute(httpput);
return response;

} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;

}

Hope that helps.   I struggled with it for a couple of weeks before I found
a site that had a good source.









-- 
Writing code is one of few things
that teaches me I don't know everything.

--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


Send JSON object via HttpPost method

by Alok Kulkarni » Wed, 09 Sep 2009 16:44:42 GMT


 ey Wayne, thanks a lot..
I have also got a solution parallely which i would like to post

URL url = new URL(serverURL);

// open the conncetion
HttpURLConnection connection =
(HttpURLConnection)url.openConnection();

// Let the run-time system (RTS) know that we want input.
connection.setDoInput(true);
// Let the RTS know that we want to do output
connection.setDoOutput(true);
// No caching, we want the real thing
connection.setUseCaches(false);
// set the content type property
connection.setRequestProperty("Content-type",strContenttype);

// set request method
connection.setRequestMethod("POST");
// create the post body to send
String content = credDevPair.toString();
Log.i("Request ====....... ",content);
DataOutputStream printout = new DataOutputStream (
connection.getOutputStream () );

// send the data
printout.writeBytes(content);
printout.flush();
printout.close();
String output =
convertStreamToString(connection.getInputStream());
Log.i("Response 1....... ",output);
// A Simple JSONObject Creation
JSONObject json=new JSONObject(output);

Log.i("Praeda","<jsonobject>\n"+json.toString()+"\n</jsonobject>");

// A Simple JSONObject Parsing
JSONArray nameArray=json.names();
JSONArray valArray=json.toJSONArray(nameArray);
for(int i=0; i<valArray.length() ;i++)
{

Log.i("Praeda","<jsonname"+i+">\n"+nameArray.getString(i)+"\n</jsonname"+i+">\n"

+"<jsonvalue"+i+">\n"+valArray.getString(i)+"\n</jsonvalue"+i+">");
}
//BufferedReader input = new BufferedReader ( new
InputStreamReader(connection.getInputStream()) );

}catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}catch(Exception ex)
{

}

}
private static String convertStreamToString(InputStream is) {
/*
* To convert the InputStream to String we use the
BufferedReader.readLine()
* method. We iterate until the BufferedReader return null which
means
* there's no more data to read. Each line will appended to a
StringBuilder
* and returned as String.
*/
BufferedReader reader = new BufferedReader(new
InputStreamReader(is));
StringBuilder sb = new StringBuilder();

String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}

return sb.toString();
}


On Wed, Sep 9, 2009 at 3:08 AM, Wayn



Send JSON object via HttpPost method

by Wayne Wenthin » Thu, 10 Sep 2009 08:58:06 GMT


 ep that is what I vaguely based mine on.   I recognize the Praeda line.   I
had to modify mine because I was not sending back an array of json objects
but a specific one that I handle based on the ID on the backend with ruby.

On Wed, Sep 9, 2009 at 1:43 AM, Alok Kulkarni <kulsu...@gmail.com> wrote:



--
Writing code is one of few things
that teaches me I don't know everything.

--~--~---------~--~----~------------~-------~--~----~



Send JSON object via HttpPost method

by Alok Kulkarni » Thu, 10 Sep 2009 13:28:31 GMT


 k.. ya i had taken that code part from the forum itself. :)

On Thu, Sep 10, 2009 at 6:27 AM, Wayne Wenthin <wa...@fuligin.com> wrote:


--~--~---------~--~----~------------~-------~--~----~



Other Threads

1. Activity managed indeterminate ProgressDialog problem

Hello,

I am trying to reuse a single instance of a ProgressDialog by multiple
Tasks (by only changing its displayed message during the
onPrepareDialog callback), but whenever I show the PDLG after a
previous call to dismissDialog, the dialog's indeterminate ProgressBar
is not rotating/animating.

I have tried looking at the code, found how to get to the Drawable and
tried calling
  (ProgressBar)PDLG.findViewById(android.R.id.progress).
      getIndeterminateDrawable().setVisible(true, true);
in an attempt to restart the animation, but to no avail.

My UGLY workaround for now is to call removeDialog() wherever I would
normally call dismissDialog(), which of course defeats the purpose of
managed dialogs, but at least keeps the animation running..

Thank you for any suggestion/explanation,

-szabolcs

--~--~---------~--~----~------------~-------~--~----~

2. Changed file permissions in Donut 1.6 stops TRIAL software

My trial software used to limit use to 100 uses. The number of times
the user had used it was stored in

"/data/anr"

This worked great because this directory is not browseable, but it is
writeable by applications. You could only read/write/delete the file
if you knew the exact name of the file eg:

"/data/anr/banana.txt"

I could store the number of uses in this file and if the user
uninstalled the app and re-installed it the app would still remember
the number of times they used the app.

Problem is, in 1.6 they seem to have changed the permissions of this
file and I cannot write to

"/data/anr/banana.txt"

any more. Short of accessing the network and transmitting the usage
accross the internet to a license server, can anyone think of a way to
replicate this?

Is there another directory with the same miraculous properties?

--~--~---------~--~----~------------~-------~--~----~

3. Create Connection failed msg like the browser app

4. Debug.startMethodTracing() - can't dump file

5. DDMS won't load (or doesn't parse?) KML file

6. Problems with WakeLock

7. how to make user-contorl??