2011-04-21 163 views
4

我已經構建了一個java服務器應用程序,並試圖讓我的android應用程序與它通信。在閱讀Android Client Server communication後,我嘗試了套接字示例。不過我已經碰壁,因爲在服務器端,我可以回到我的對象的數組,但在客戶端,我不能夠檢索它,因爲buffereader需要一個字符串只 Server代碼java服務器和android客戶端之間的通信

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會做我需要的嗎?我只是不想再花一天時間編碼一些不適合我的東西。所有我想要做的是有一個數據庫,我的服務器有權訪問,服務器讀取數據庫並返回表格數據的對象的形式。

回答

1

在客戶端上,您不是從套接字讀取的,而是從標準輸入讀取的。但是,你應該從插座,而不是閱讀:

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

+0

這是教程我是從工作。在這個例子中它從標準輸入讀取。但是謝謝你。虐待必須進一步研究。 – 2011-04-21 14:01:21

+0

是的,但僅用於獲取發送到套接字輸出流的用戶輸入。 – 2011-04-21 14:03:45

+0

是的,謝謝。對於任何可能需要它的人來說,這是一個很好的例子:http://www.coderanch.com/t/205325/sockets/java/send-any-java-Object-through – 2011-04-21 15:03:48

相關問題