I can return an ArrayList of Strings just not an ArrayList of my Stop
object. And since this whole process works fine when I take android
out of the equation..this leads me to believe that serialization is
handled slightly differently in android.  Anybody?

On Oct 12, 6:28 pm, dsukhram <[email protected]> wrote:
> I am writing an android client app which sends a Hashtable to a remote
> servlet and recieves an ArrayList consisting of a custom Object which
> is serializable.  This ran fine when I was just receiving the
> ArrayList from a java console app. So I know my objects are being
> serialized and deserialized properly. But when I port the same client
> code over to android I get an error when trying to read the ArrayList
> of my objects that is sent back from the servlet.
>
> Is there any differences in the way Android does serialization? I
> can't seem to find any documentation that says it does. The error I
> receive is:
>
> java.lang.IndexOutOfBoundsException: Invalid location
>
>        at java.util.ArrayList.get(ArrayList.java:350)
>
> ============ My Android Client app is as
> follows=================================
>
> public class TTCPointService  {
>         private Logger logger;
>         private FileHandler handler;
>
>         public TTCPointService(){
>
>                 try
>                 {
>                         logger = 
> Logger.getLogger(TTCPointService.class.getName());
>                         handler = new FileHandler("ttcservice.log");
>                         handler.setFormatter(new SimpleFormatter());
>                         logger.addHandler(handler);
>                 }
>                 catch(IOException e)
>                 {
>                         logger.log(Level.SEVERE,e.toString());
>                 }
>         }
>
>         public ArrayList<Stop> ConnectToServlet()
>         {
>                 ArrayList<Stop> list = new ArrayList<Stop>();
>
>         Hashtable<String, String>obj = new Hashtable<String,String>();
>         obj.put("lat", "12.00");
>         obj.put("log", "-23.00");
>
>         try
>         {
>                 URL servletURL = new URL("http://192.168.0.69:8080/
> GTFSProcessor/TTCPoints");
>                 HttpURLConnection servletConnection = (HttpURLConnection)
> servletURL.openConnection();
>                 servletConnection.setDoOutput(true);
>                 servletConnection.setDoInput(true);
>                 servletConnection.setUseCaches(false);
>                 servletConnection.setDefaultUseCaches(false);
>
>                 servletConnection.setRequestProperty("Content-
> type","application/x-java-serialized-object");
>                 servletConnection.setRequestMethod("POST");
>                 logger.log(Level.INFO,"Connecting to Servlet");
>
>                 //Send object to servlet
>                 OutputStream os = servletConnection.getOutputStream();
>                 ObjectOutputStream oos = new ObjectOutputStream(os);
>                 oos.writeObject(obj);
>
>                 oos.flush();
>                 oos.close();
>                 logger.log(Level.INFO,"Hashtable sent to Servlet");
>
>                 //Read from servlet
>                 InputStream is = servletConnection.getInputStream();
>                 ObjectInputStream ois = new ObjectInputStream(is);
>
>                 list = (ArrayList<Stop>)ois.readObject();
>                 logger.log(Level.INFO,"Reading Object from Servlet");
>
>                 os.close();
>
>         }
>         catch(IOException e)
>         {
>           logger.log(Level.SEVERE,e.toString());
>         }
>         catch(ClassNotFoundException e)
>         {
>                 logger.log(Level.SEVERE,e.toString());
>         }
>         return(list);
>         }
>
> }
>
> =============The code that raises the error
> is===================================
>
>                 ArrayList<Stop> list = new ArrayList<Stop>();
>                 TTCPointService service = new TTCPointService();
>                 list = (ArrayList<Stop>)service.ConnectToServlet();
>
>                 Toast.makeText(mapView.getContext(), "list contains:
> "+list.get(0).getName(), Toast.LENGTH_SHORT).show();
--~--~---------~--~----~------------~-------~--~----~
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