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&param2=def&param3=ghi".  I create the string in
> > > similar way to his example which was like:
> > > *
> > > *        String parameters = "param1=" +
> > > URLEncoder.encode("abc","UTF-8")+
> > > *                      "&param2="+URLEncoder.encode("def","UTF-8")+
> > > *                      "&param3="+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

Reply via email to