Android Intent putExtra(字符串,可序列化)

Android Intent putExtra(字符串,可序列化),android,android-activity,android-intent,Android,Android Activity,Android Intent,很抱歉,如果这个问题已经得到了回答,我搜索了很多,但我找不到任何与我的问题有关的问题 我正在编写一个android应用程序,它可以从互联网数据库获取数据。我的第一个活动从数据库检索数据,我尝试将对整个数据库的引用传递给另一个活动 它大致如下所示: //server is wrapper class for my database connection/ data retrieving Server server = new Server(...connection data...); serve

很抱歉,如果这个问题已经得到了回答,我搜索了很多,但我找不到任何与我的问题有关的问题

我正在编写一个android应用程序,它可以从互联网数据库获取数据。我的第一个活动从数据库检索数据,我尝试将对整个数据库的引用传递给另一个活动

它大致如下所示:

//server is wrapper class for my database connection/ data retrieving
Server server = new Server(...connection data...);
server.connect();
server.filldata();
然后我试着把它传递给另一个活动

Intent intent = new Intent(this, OtherActivity.class);
intent.putExtra("server", server); //server, and all implements Serializable
startActivity(intent);
在这之后,我得到了一个java.lang.reflect.InvocationTargetException,没有解释问题可能是什么


如果您知道将对象(int、string等除外)传递给其他活动的方法,请帮助我

您的类
服务器
应该实现接口
包裹
,以便通过捆绑传输其对象

请参见下面的示例,该示例可用:

公共类MyParcelable实现了Parcelable{
私有int mData;
公共int描述内容(){
返回0;
}
公共无效写入包(包出,内部标志){
out.writeInt(mData);
}
公共静态最终包裹。创建者
=新的Parcelable.Creator(){
公共MyParcelable createFromParcel(中的地块){
返回新的MyParcelable(在中);
}
公共MyParcelable[]新数组(整数大小){
返回新的MyParcelable[大小];
}
};
私人MyParcelable(包裹内){
mData=in.readInt();
}
}

对于需要通过Bundle传递的任何对象,必须实现可包裹可序列化接口。Intent提供两个接口:

putExtra(String name, Parcelable value)
putExtra(String name, Serializable value)


但最好使用Parcelable,因为它是专门为Android编写的,而且本质上很轻。

你能发布stacktrace吗?有没有任何字段是用实现List的类的服务器对象序列化的?我不知道我是否做得对(我今天开始在eclipse中编写代码,直到现在我在Netbeans中工作),但以下是错误消息:@bali182:InvocationException发生在其他错误时。我看到行com.dbtest.MainScreen$2.onClick(MainScreen.java:41)41。检查或粘贴完整的代码
putExtra(String name, Parcelable value)
putExtra(String name, Serializable value)