Buona sera, come da titolo sto tentando di riempire una listView con un custom adapter da un Oggetto ArrayList Ricevuto da un socket server scritto in Java ma il Client Android Non trova la classe inviata dal Socket :
Server:
Il metodo del client che riceve i dati dell'ArrayList:codice:public class Server { static ArrayList<Busta> prova; public static void main(String srgs[]) { int count = 0; initList(); //hard code to use port 8080 try (ServerSocket serverSocket = new ServerSocket(6789)) { System.out.println("I'm waiting here: " + serverSocket.getLocalPort()); while (true) { try { Socket socket = serverSocket.accept(); count++; System.out.println("#" + count + " from " + socket.getInetAddress() + ":" + socket.getPort()); HostThread myHostThread = new HostThread(socket, count); myHostThread.start(); } catch (IOException ex) { System.out.println(ex.toString()); } } } catch (IOException ex) { System.out.println(ex.toString()); } } private static class HostThread extends Thread{ private Socket hostThreadSocket; int cnt; HostThread(Socket socket, int c){ hostThreadSocket = socket; cnt = c; } @Override public void run() { OutputStream outputStream; try { outputStream = hostThreadSocket.getOutputStream(); try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream)) { objectOutputStream.writeObject(prova); } } catch (IOException ex) { System.out.println(ex.toString()); }finally{ try { hostThreadSocket.close(); } catch (IOException ex) { System.out.println(ex.toString()); } } } } private static void initList(){ try { prova = new ArrayList<Busta>(); String DATABASE_URL = "jdbc:ucanaccess:///OneDrive//Programmazione//Android//dati.mdb;password=gmpa;memory=false"; Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); Connection conn = DriverManager.getConnection(DATABASE_URL); System.out.println(conn); Statement s = conn.createStatement(); ResultSet rs = s.executeQuery("SELECT * FROM [tabripa]"); while (rs.next()) { //prova.add(rs.getString("Nbusta")); prova.add(new Busta(rs.getString("Nbusta"),rs.getNString("Nome"))); } s.close(); conn.close(); } catch(Exception ex) { ex.printStackTrace(); } } }
:codice:class ClientThread extends AsyncTask{ //ArrayAdapter<String> arrayAdapter; AdaperRisultato arrayAdapter = null; @Override protected Object doInBackground(Object[] objects) { try { Socket socket = new Socket("192.168.3.199",porta); try { ObjectOutputStream objectOutput = new ObjectOutputStream(socket.getOutputStream()); ObjectInputStream objectInput = new ObjectInputStream(socket.getInputStream()); //Error Line! try { Object object = objectInput.readObject(); arrayBusta = (ArrayList<Busta>) object; for (int i = 0; i < arrayBusta.size(); i++) { // String get = arrayBusta.get(i); System.out.println(arrayBusta.get(i)); //List list = new LinkedList(); //list.add(new Busta(arrayBusta)); } } catch (ClassNotFoundException e) { System.out.println("Classe Non esistente"); e.printStackTrace(); } } catch (IOException e) { System.out.println("Lettura Socket Con Problemi"); e.printStackTrace(); } } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return arrayBusta; } @Override protected void onPostExecute(Object o) { ArrayList<Busta> listaAdaptor = Busta.fromJson(arrayBusta); arrayAdapter = new AdaperRisultato(MainActivity.this,R.layout.adapter_row, listaAdaptor); lista.setAdapter(arrayAdapter); } } }
Bisognerebbe che vi mandassi sia il Server e il Client per capire bene perchè ci mancano i modelli.
Errore:
codice:/System.err: java.lang.ClassNotFoundException: provaserverclient3.BustaW/System.err: at java.lang.Class.classForName(Native Method) W/System.err: at java.lang.Class.forName(Class.java:400) W/System.err: at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:626) W/System.err: at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1613) W/System.err: at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) W/System.err: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1772) W/System.err: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) W/System.err: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) W/System.err: at java.util.ArrayList.readObject(ArrayList.java:763) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1006) W/System.err: at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1894) W/System.err: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1799) W/System.err: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) W/System.err: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) W/System.err: at com.example.nio74.client.MainActivity$ClientThread.doInBackground(MainActivity.java:92) W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:304) W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237) W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) W/System.err: at java.lang.Thread.run(Thread.java:761) W/System.err: Caused by: java.lang.ClassNotFoundException: Didn't find class "provaserverclient3.Busta" on path: DexPathList[[dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-support-annotations-25.1.0_18468df7b6490749d338021d6a3bd505913b26ce-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-com.android.support-support-vector-drawable-25.1.0_61c5c034009fb96d470a84e27ffe016f04cdc494-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-com.android.support-support-v4-25.1.0_a683b53f0f348e2797ad85f4fa61d2d3902b1eeb-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-com.android.support-support-media-compat-25.1.0_c8ae95ba217fcf1c9ab7ad7524b62216ac9045e8-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-com.android.support-support-fragment-25.1.0_4a4787580f755f8e0128468ecd8cb3b0bf94a90b-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-com.android.support-support-core-utils-25.1.0_570094e70a8f013e44b6d3a6698ed4d5b7b8defe-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-com.android.support-support-core-ui-25.1.0_cd0bb001a93f1e24a1feac8c98b90329db02bcf4-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-com.android.support-support-compat-25.1.0_6e16847b37fb1ae872982c138fa06dd1e2289d50-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-com.android.support-appcompat-v7-25.1.0_e270828f2f74a9e6555959501d393eb5ff2812b2-classes.dex", dex file "/data/data/com.example.nio74.client/files/instant-run/dex/slice-com.android.support-animated-vector-drawable-25.1.0_20db7c43375e6d633a8498022b07bfb62cfb3a13-classes.dex"],nativeLibraryDirectories=[/data/app/com.example.nio74.client-2/lib/x86, /system/lib, /vendor/lib]] W/System.err: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) W/System.err: at com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader.findClass(IncrementalClassLoader.java:90) W/System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:380) W/System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:312) W/System.err: ... 22 more

Rispondi quotando