did you ever try it on a tablet? i found out that httpurlconnection tutorial i wrote doesn't work with android 3.x tablet. i can't seem to get anything stream back from the server. it always returns empty.
On Sep 16, 11:56 pm, Alan <[email protected]> wrote: > Found the problem on 2.3 in the emulator at least. It works if I add > > urlConnection.setRequestProperty("Content-Type", "application/x-www- > form-urlencoded"); > > after the urlConnection.setRequestMethod("POST"); > > line in the example in my earlier posting. > > The link I worked from (also given above) specifically said the line > wasn't needed, but I guess it is. It works for me now in the emulator > in both 2.2.2 and 2.3. > > Alan > > On Sep 16, 3:25 pm, Alan <[email protected]> wrote: > > > > > > > > > I may post this to a new subject, but I'll try here. Two days after > > giving this code sample, I found it doesn't work on Android ver. 2.3! > > My phone (LG Ally) and emulator were running version 2.2.2 & the code > > below was working fine. I had a co-worker run the program on his phone > > & it didn't work. His phone was an HTC running 2.3. So, I changed my > > emulator to version 2.3 and sure enough it didn't work in the same > > way. GET was working, but POST did not on 2.3. Well... actually the > > Response code was the same, 200, so it worked right? But, the value it > > returned was null. I've been trying to find any mention of a > > difference like this between versions on this list, but no luck so > > far. The only clue I have is that a bit after a try at a POST, I get > > > SntpClient Request time failed: java.net.socketException: Address > > family not supported by protocol > > > I'm not sure that is related to this problem, but it's all I have to > > go on so far (that and it works on 2.2 and not 2.3!) > > > Anybody have any ideas about this problem? > > > Alan > > > On Sep 14, 1:26 pm, Alan <[email protected]> wrote: > > > > Thank you so much for sharing that link... it helped me a great deal. > > > I wound up combining parts of that code with others to come up with > > > this: > > > > /* Note: these are some methods in a class I wrote. "mURLString" is > > > the url to > > > * talk to such as "http://somesite/somefile.php"; "parameters" are > > > the > > > parameters to use for the POST, such > > > * as "param1=abc¶m2=def¶m3=ghi". I create the string in > > > similar way to his example which was like: > > > * > > > * String parameters = "param1=" + > > > URLEncoder.encode("abc","UTF-8")+ > > > * "¶m2="+URLEncoder.encode("def","UTF-8")+ > > > * "¶m3="+URLEncoder.encode("ghi","UTF-8"); > > > * > > > * The result of the POST is returned in "resultString". > > > */ > > > > public String doHttpPost( String parameters ) > > > { > > > String resultString = null; > > > > URL url = null; > > > HttpURLConnectionurlConnection = null; > > > > try { > > > url = new URL( mURLString ); > > > } catch (MalformedURLException e) > > > { > > > // TODO Auto-generated catch block > > > e.printStackTrace(); > > > } > > > > try { > > > urlConnection = (HttpURLConnection) url.openConnection(); > > > urlConnection.setDoOutput(true); > > > urlConnection.setRequestMethod("POST"); > > > > urlConnection.setFixedLengthStreamingMode(parameters.getBytes().length); > > > > //send the POST out > > > PrintWriter out = new > > > PrintWriter(urlConnection.getOutputStream()); > > > out.print(parameters); > > > out.close(); > > > > int response = urlConnection.getResponseCode(); > > > // if resonse =HttpURLConnection.HTTP_OK = 200, then it > > > worked. > > > > InputStream in = new > > > BufferedInputStream(urlConnection.getInputStream()); > > > resultString = readStream(in); > > > > } catch( Exception e ){ > > > e.printStackTrace(); > > > } > > > finally { > > > urlConnection.disconnect(); > > > } > > > > return resultString; > > > } > > > > public static String readStream(InputStream in) throws IOException > > > { > > > StringBuilder sb = new StringBuilder(); > > > BufferedReader r = new BufferedReader(new InputStreamReader(in), > > > 1000); > > > > for (String line = r.readLine(); line != null; line = > > > r.readLine()) > > > { > > > sb.append(line).append("\n"); > > > } > > > > in.close(); > > > > return sb.toString(); > > > } > > > > On Aug 30, 1:06 pm, jesb <[email protected]> wrote: > > > > > i figured it out.http://digitallibraryworld.com/?p=189 > > > > > On Aug 16, 3:21 pm, lbendlin <[email protected]> wrote: > > > > > >POSTworks very different from GET. You need to spend much more energy > > > > >to > > > > > format the request body. You're missing the whole Content-Disposition: > > > > > form-data and the delimiter definitions etc. > > > > > > your out.write should then use the prepared request body string (as > > > > > you did, > > > > > sort of). -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

