【问题标题】:Communication between java server and android clientjava服务器和android客户端之间的通信
【发布时间】:2011-04-21 13:46:25
【问题描述】:

我已经构建了一个 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会做我需要的吗?我只是不想再花一天时间编写对我不起作用的东西。我要做的就是拥有一个我的服务器可以访问的数据库,服务器读取数据库并以我的对象的形式返回表数据。

【问题讨论】:

    标签: android


    【解决方案1】:

    在客户端上,您不是从套接字读取,而是从标准输入读取。但是您应该改为从套接字读取:

    http://download.oracle.com/javase/tutorial/networking/sockets/readingWriting.html

    【讨论】:

    • 这是我工作的教程。在本例中,它从标准输入中读取。但谢谢。生病必须进一步研究。
    • 是的,但只是为了获取发送到套接字输出流的用户输入。
    • 是的,谢谢。对于其他可能需要它的人来说,这是一个很好的例子:coderanch.com/t/205325/sockets/java/…
    最近更新 更多