Android Application初析


本文原创,转载请说明出处http://blog.csdn.net/adroitly/article/details/37914197

最近在做socket的通信,在Android上用socket来传输数据,多个聊天界面中要用到一个socket流来接受消息和发送消息。
但是Android的activity不像java中的类传递,activity之间传递数据不能通过new对象方式,所以socket就不能new了,然后你会想socket可以通过intent传递,我也想是的,但是这样的话要序列化对象,并且要继承Parcelable或者Serializable,具体如何实现传递和接收可以看我的这篇http://blog.csdn.net/adroitly/article/details/32694267文章,但是自己水平低下,序列化的时候总是new一个对象初始化,嗯,可以传递了,可以用了,但是这样的缺点就是你跳转页面就要连接一次,麻烦。
然后我就想要不我去弄个service来共享它的流,嗯,这重也可以,不过我就没去试了,我觉得这样浪费内存。
最后我用的是自定义application来共享数据。这个比较好(个人认为),因为我的做法是socket的所有工作都在里面做了,包括如何开启线程进行消息接收,发送。然后我把接收到的消息存放在一个list对象,以后我哪个activity需要去访问接收到的消息我就去监听list有没有变化就行了,变化我就取出来,这样我就可以很好的控制socket流了!不过这样需要在Manifest文件里面声明:
<span style="font-size:14px;"><application
android:name=".MyApplication"//自定义application
....
/></span>
其实还有另外的方法的,用广播也行(本人广播不怎么会用,不会接收广播)所以也没做,或者开个数据库,把消息全部传进数据库,每次访问数据库也行(你觉得你的手机够牛你就这样做吧)
最后奉上我的socket通信的用application的一个demo,有点挫。
地址:http://download.csdn.net/detail/adroitly/7647339

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值