Hello, I have done a lot of work with the Android communicating via http, Get and Post, with servers. Most of it seems to work pretty much the same as the org.apache.http.* libraries on other platforms (which is in itself pretty neat!).
Couple of things that might be helpful - Do the http work off the UI thread because of the way server communication delays and times-out and such. Otherwise the Android app manager will freak-out and the ANR dialog will appear (App not responding). - This may be wrong but our apps tend to create and dispose of DefaultHttpClients often, rather then keeping them around for re-use. We experienced problems trying to reuse object like these (kind of like to describe with the java.io.IOExceptions) On Jan 27, 11:30 am, Kai <kai.umez...@hotmail.com> wrote: > Hi all, > > I'm in the middle of developing my first android application and have > finally hit a significant roadblock that I can't seem to figure a way > around. > > The application involves HTTPS posting from an activity within the app > to my test server. While I've worked around accepting the self-signed > certificate, the behavior of the post and response has been > problematic and non-standard and so I'm wondering if this issue is > android related and what some possible solutions might be. > > Essentially this transaction is completed on a click. On the click I > create and connect a HttpsURLConnection to the server, setting > DoOutput and DoInput to true. I get the connection output stream and > wrap it in a BufferedOutputStream. I write the transaction to the > BuffStream, flush and close it. > > Then I handle the response. If the response is HTTP_OK, I get and wrap > the connection input stream in a BufferedInputStream. I then take the > input and put it into a byte array to be handled by the app and close > the input stream. > > Now this all seems straight forward but when tested doesn't work > properly. From the activity, the process is always successful on the > first try, but then from the same activity if I wait a few seconds > then click again, the same process will fail claiming a > java.io.IOException(stream is closed), and then if I wait a few more > seconds and try again it will work and this pattern continues on. To > make things even more confusing, if I execute all of the clicks in > rapid succession they will all work. It only complains if I wait in > between transactions. I've come to think that the problem has > something to do with Android HTTPS as when I try just a simple HTTP > post, everything works fine. I also don't think it has anything to do > with my custom certificate accepting as when I removed that and tried > HTTPS posting to a trusted well known certificate, the problem still > occurred. > > I'm leaning towards the thought that this has something to do with > setting up and tearing down HTTPS connections in android, but as I do > this all in an onClick event I'm not sure why I'm experiencing > problems half the time. I'm also inclined to think its the inputStream > that is having issues as the server seems to recieve the transactions. > > Anyone with any ideas as to what could be going wrong, or anyone who > can outline how they went about setting up an HTTPS post on click > would be greatly appreciated! > > Thanks so much for your time and consideration. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en