我是(某种)Android开发的新手,我想创建一个基于PircBot库的android messenger应用程序。 我现在知道几个限制因素:
我试图从我的活动中绑定服务,但绑定器似乎只能在同一进程中使用服务。 (我不确定这个,搜索没有返回任何有用的东西)
构建项目的首选方法是什么,以便满足所有约束条件?还有什么其他问题可能会遇到?
抱歉英文不好
答案 0 :(得分:3)
IRC服务需要在自己的进程中运行,因此在收听IRC时不会干扰UI
我没有看到为什么IRC服务需要在自己的进程中运行的任何理由。根据定义,服务是一个不与用户交互的元素,如docs中所述:
服务是表示一个的应用程序组件 应用程序希望执行更长时间运行的操作而不是 与用户交互或为其他人提供功能 要使用的应用程序。
而且,正如你所说,通过使这个服务在自己的进程中运行,bind就不可能了(事实上,那时你需要做IPC communication)。
我正在为不同的屏幕使用不同的活动,以便所有活动 将需要使用该服务(登录,加入频道,发送/接收 消息)和不同的活动应该基于 当前的连接状态。
要满足此要求,您只需使用LocalBroadcastManager即可将服务中的信息共享给所有活动。您的活动可以为他们希望听到的事件(connectionStateChange,MessageReceived等)提供BroadcastReceivers,并且会相应地采取行动。
最后,因为阅读其他人的代码总是一个好主意,请查看友好搜索引擎带给您的这两个类似项目: