如何将Java Socket对象添加到Parcelable Android中

它会:

我想从一个活动传递一个Java Socket对象到另一个。我想用Parcelable传递的,但不能将对象添加到包裹

public class NetworkInformation implements Parcelable {

    private String ipAddress;
    private String portNo;
    private Socket networkSocket;

    protected NetworkInformation(Parcel in) {
    }

    public static final Creator<NetworkInformation> CREATOR = new Creator<NetworkInformation>() {
        @Override
        public NetworkInformation createFromParcel(Parcel in) {
            return new NetworkInformation(in);
        }

        @Override
        public NetworkInformation[] newArray(int size) {
            return new NetworkInformation[size];
        }
    };

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(ipAddress);
        dest.writeString(portNo);
        //How to add the Socket to parcelable here ?
    }  
}
肯挖洞:

我不知道这是否会工作,但你可以试试:

private String ipAddress;
private String portNo;
private Socket networkSocket;

protected NetworkInformation(Parcel in) {
      ipAddress = in.readString();
      portNo = in.readString();
      networkSocket = new Socket(makeRealIP(ipAddress),makeRealPortNo(portNo));
}

当然,你会写自己的makeRealIP和makeRealPortNo到字符串转换回为一个新的Socket有用的参数();

Bundle myBundle = new Bundle();
NetworkInformation myNetworkInfo;
myBundle.putParceable("myNetworkInfo",myNetworkInfo);
myNetworkInfo = (NetworkInformation)myBundle.getParceable("myNetworkInfo");

我还没有试过,我敢打赌其他人认为回答是相当正确的警告在套接字层碴周围。它可以得到一个有点棘手。祝好运。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java:如何将数据添加到对象中?

如何将_添加到json对象中的空格?

Laravel:如何将键值添加到对象中?

如何将键值对添加到数组中的对象?

如何将IGrouping <>“对象”添加到列表中?

如何将元素添加到数组中的对象

如何将更多对象添加到列表中?

如何将新值添加到对象中

java中如何将地图对象添加到List中

如何将Java lang中的对象添加到fxml文件

Java-如何将一个对象添加到另一个对象的列表中

Swift:如何将数据添加到对象列表中的对象变量中

在 React 中,如何将键值添加到对象数组中的一个对象

如何将子对象添加到表中的对象数组

如何将NSDictionary类型的对象添加到包含NSDictionaryResultType对象的NSMutableArray中?

如何将对象添加到firebase中的文档

如何将字符串中的属性添加到javascript中的对象?

如何将项目添加到IEnumerable中填充的对象的类列表中

如何将键值添加到单独函数中的对象中?

如何将模型中不存在的属性添加到Rails中的对象?

如何将Java数组元素添加到Java脚本数组中?

如何将一组对象添加到单个数组中?

如何将 JSON 对象添加到 apache spark 中的数据集/数据帧

如何将模板对象添加到C#Frame模板中

如何将具有多个值的对象添加到表中?

如何将动态创建的对象添加到容器中

如何将小数位添加到TimeSpan对象的总秒数中?

如何将类对象添加到列表中?- Python

如何将字段添加到具有对象值数组的 Elastic Search 文档中?