服务器代码:
package sei.servlet;
import java.io.IOException;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import sei.vo.Album;import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;public class TestServlet extends HttpServlet {
/**
 * 
 */
private static final long serialVersionUID = 1L; // 为客户端的get请求作响应
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Album> Albums = new ArrayList<Album>();
 Album album = new Album();
 album.setID("1");
 album.setName("xiaozhou");
 album.setEmail("[email protected]");
 Albums.add(album);
 sendObject(Albums,response);

}

protected void sendObject(Object obj, HttpServletResponse response)
{
   try
   {  //Album album = new Album();
       OutputStream os = response.getOutputStream();
       ObjectOutputStream oos = new ObjectOutputStream(os);
       oos.writeObject(obj);
   }
   catch (Exception e)
   {
       e.printStackTrace();
   }

}
}
客户端代码:
package development.samples.helloAndroid;import java.io.InputStream;
import java.io.ObjectInputStream;import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import java.util.*;
public class GetObject extends Activity {
@SuppressWarnings("unchecked")
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mainobject);
TextView textI = (TextView) this.findViewById(R.id.id);
TextView textN = (TextView) this.findViewById(R.id.name);
TextView textE = (TextView) this.findViewById(R.id.email);
String httpUrl = "http://113.55.16.3:8080/Bisycle_Rent/test";
HttpGet httpRequest = new HttpGet(httpUrl);
HttpClient httpclient = new DefaultHttpClient();
try { HttpResponse res = httpclient.execute(httpRequest);
// Toast.makeText(this, "connected", Toast.LENGTH_LONG).show();
if (res.getStatusLine().getStatusCode() == 200) {
Toast.makeText(this, "right", Toast.LENGTH_LONG).show();
InputStream is = res.getEntity().getContent();
Toast.makeText(this, "right2", Toast.LENGTH_LONG).show();
ObjectInputStream ois = new ObjectInputStream(is);
Toast.makeText(this, "right3", Toast.LENGTH_LONG).show();
Object obj = ois.readObject();
Toast.makeText(this, "right4", Toast.LENGTH_LONG).show();
List<Album> list = new ArrayList<Album>();
//Toast.makeText(this, "right5", Toast.LENGTH_LONG).show();
list = (List<Album>)obj;
//Toast.makeText(this, "right6", Toast.LENGTH_LONG).show();
Iterator<Album> iter = list.iterator();
//Toast.makeText(this, "right7", Toast.LENGTH_LONG).show();
//Toast.makeText(this, list.size(), Toast.LENGTH_LONG).show();
Album album = (Album) iter.next();
//Toast.makeText(this, album.getID(), Toast.LENGTH_LONG).show();
textI.setText(album.getID());
textN.setText(album.getName());
textE.setText(album.getEmail()); } else {
// Toast.makeText(this, "error", Toast.LENGTH_LONG).show();
textI.setText("请求错误");
}
} catch (Exception e) {
e.getStackTrace();
}
}}
原理很简单就是想把服务器端的一个简单的JAVAbean传送的android端读取到textview中去,布局里面有三个textview分别是ID,name,email,但是无论如何客户端用toast纠错走到right3就不动了,应该是Object obj = ois.readObject();有问题,请教高手们如何解决

解决方案 »

  1.   

    对了 debug了一下 貌似 日志上写的是 tag:input的一个错误 一长串错误 前面是我的活动包名,活动后面有个consumer closed...
      

  2.   

    Album 这个要相对于服务端 与客户端的第三个工程,然后服务端与客户端都引用这个
      

  3.   

    额 使用eclipse或者myeclipse重新建立一个工程吗 比如Service工程专门提供公用的javabean 但如何客户端和服务器端如何引用这个工程的对象呢?求解释哦