我已经构建了一个java服务器应用程序,并试图让我的Android应用程序与它进行通信。阅读Android Client Server communication后,我尝试了套接字示例。但是我遇到了问题,因为在服务器端我可以返回我的对象数组,但是在客户端我无法检索它,因为buffereader只接受一个字符串 服务器代码
public List<Person> processInput(String theInput) {
String peopleOutput = null;
List<Person> people = new ArrayList<Person>();
if (state == WAITING) {
SqliteDBhelper db = new SqliteDBhelper();
people = db.getPeople();
return people;
客户端代码
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
List<Person> fromServer;
String fromUser;
while ((fromServer = in.readLine()) != null) {
List<Person> people = new ArrayList<Person>();
Person person = new Person();
people = fromServer;
所以从它的外观来看,我无法通过这个套接字方法传递一个对象。请问json能做我需要的吗?我只是不想再花一天时间编写一些对我不起作用的东西。我所要做的就是拥有一个我的服务器可以访问的数据库,服务器读取数据库并以我的对象的形式返回表数据。
答案 0 :(得分:1)
在客户端上,您的读数不是来自套接字而是来自标准输入。但你应该从套接字中读取:
http://download.oracle.com/javase/tutorial/networking/sockets/readingWriting.html