我程序需要四个activity 其中有三个都需要和网络连接接收数据和发送数据,我想让主页面登陆网络,其他三个activity直接使用这个socket,我想用service 完成网络,但是应该如何做呢。
这是我另一个帖子,
http://topic.csdn.net/u/20110516/12/c48515a5-ed90-4d44-910d-e3490b07216f.html?98293
这是我另一个帖子,
http://topic.csdn.net/u/20110516/12/c48515a5-ed90-4d44-910d-e3490b07216f.html?98293
解决方案 »
- scrollview 在滚动时,如何获得当前选中的ImageView
- sdk manager连不上,那位大神行行好,帮忙看看
- framework关于phonewindow.java的onConfigurationChanged()函数
- sdcard上的文件如何转换成ContentProvider格式供其它功能使用?
- 问个简单概念:camera系统中取景器预览是什么意思
- android 页面布局问题
- 关于长按Home键进入程序和从桌面进入程序的问题
- 安卓开发高手进,布局调试
- android如何在ArrayList中存储大量数据并缓存
- 如何打造一个远端存储的记事本应用
- 移动开发先学ME还是直接学android
- 菜鸟请教Android驱动架构的问题-100分
推荐第三种 因为这是符合android编程习惯的
你说的这个是单例得三种实现方式而已。你得网络如果放在service里面。在service里面初始化一个socket得实例。UI和service交互用异步得消息机制就好了。然后在service里面接收倒消息,然后把消息转成网络命令,让socket去执行。一般网络
public class Singleton {
private static Singleton instance = null; public static synchronized Singleton getInstance() {
if (instance==null) instance=new Singleton(); return instance;
}
}
当我们需要这个连接的时候就调用getInstance 这个方法
那么可以保证整个应用程序只有一个类的实例
赞同,第三种方式你可以看下这个
http://blog.csdn.net/changy/archive/2011/03/07/6229926.aspx
但是报androidRuntime Handle什么的错误
<application android:name="ApplicationSocket"....>
ApplicationSocket是你定义的类名 然后你要使用的时候只需要Socket socket=((Application)this.getApplication()).getSocket()就可以了 使用很简单啊 哪有这么复杂
public class MyBean {
private static MyBean instance = null;
private MyBean(){ //do something }
public static synchronized MyBean getInstance()
{
if(instance == null)
{ instance = new MyBean(); }
return instance;
}
} 给楼主个简单的单例模式的demo