android中Intent可以传递Socket这样的复杂类吗? androidsocketintent 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不建议这么做,如此说来,你的socket这个应该由第三方的类来管理,然后在这两个类中都可以访问,应该更好 您好,我是android初学者,我想在Activity连接Socket,然后传递给Service,又Service管理,请问具体怎么用Intent把Socket传递给Service,在Parcelable接口中,31. public static final Parcelable.Creator<T> CREATOR = new Creator<T>() { 32. public T createFromParcel(Parcel source) { //这里要用source.readValue(ClassLoader)把Socket对象提出来36. return T; 37. } 38. 39. public T[] newArray(int size) { 40. return new T[size]; 41. } 42. }; 上面代码中提出Socket对象的地方这么写呢? 您好,我是android初学者,我想在Activity连接Socket,然后传递给Service,又Service管理,请问具体怎么用Intent把Socket传递给Service,在Parcelable接口中,31. public static final Parcelable.Creator<T> CREATOR = new Creator<T>() { 32. public T createFromParcel(Parcel source) { //这里要用source.readValue(ClassLoader)把Socket对象提出来36. return T; 37. } 38. 39. public T[] newArray(int size) { 40. return new T[size]; 41. } 42. }; 上面代码中提出Socket对象的地方这么写呢?你让service开放出来一个连接socket的接口不就好了,有Activity绑定service以后调用这个接口来连接socket不就好了 ls正解,Activity与Service通信间接达到使用socket的目的 Socket没有实现Parcelable接口,无法传递的。因为这是跨进程的通信,你无法将Socket对象写到Parcel里去,所以Binder也无从通过Parcel构建Socket对象。还有通过跨进程传递的对象,通常不是同一个对象,因为地址空间不一样。但好像Binder可以实现是同一个对象,这个我也不大清楚,我理解的是对共享内存做内存映射时,可以实现传递的是同一个对象的功能。即在服务器端访问的地址和客户端访问的地址是同一段地址。但是Socket是无法写到Parcel里面去的,你不知道按什么顺序去读取数据,按什么方式进行字节对齐等。 实现一个 类似腾讯手机助手手机端那样启动的一个功能 类似于擦玻璃效果的实现 LINUX C++下发送AT指令给GSM模块? Android系统如何防止后台程序自动退出或被自动停止进程? android 实用软件大推荐 有关xml的小问题 如何用代码控制截图,手机端和pc端都可以 Android 自定义通讯录取代系统通讯录? Android项目中使用PayPal支付 我的安卓APK 版本升级的时候,覆盖安装导致新版本崩溃,请问是什么原因呢? 最新版的android百度地图报如下错误是为啥呀? AppRTCDemoActivity demo报错 可能缺动态库 和一下文件
31. public static final Parcelable.Creator<T> CREATOR = new Creator<T>() {
32. public T createFromParcel(Parcel source) {
//这里要用source.readValue(ClassLoader)把Socket对象提出来
36. return T;
37. }
38.
39. public T[] newArray(int size) {
40. return new T[size];
41. }
42. };
上面代码中提出Socket对象的地方这么写呢?
31. public static final Parcelable.Creator<T> CREATOR = new Creator<T>() {
32. public T createFromParcel(Parcel source) {
//这里要用source.readValue(ClassLoader)把Socket对象提出来
36. return T;
37. }
38.
39. public T[] newArray(int size) {
40. return new T[size];
41. }
42. };
上面代码中提出Socket对象的地方这么写呢?
你让service开放出来一个连接socket的接口不就好了,有Activity绑定service以后调用这个接口来连接socket不就好了
因为这是跨进程的通信,你无法将Socket对象写到Parcel里去,所以Binder也无从通过Parcel构建Socket对象。
还有通过跨进程传递的对象,通常不是同一个对象,因为地址空间不一样。
但好像Binder可以实现是同一个对象,这个我也不大清楚,我理解的是对共享内存做内存映射时,可以实现传递的是同一个对象的功能。即在服务器端访问的地址和客户端访问的地址是同一段地址。
但是Socket是无法写到Parcel里面去的,你不知道按什么顺序去读取数据,按什么方式进行字节对齐等。