您的位置:首页 > 其它

开源项目Jchat 编译以及源码分析

2012-07-11 08:20 591 查看
Android jChat 是一个 Android 手机上基于位置的聊天软件,采用P2P通讯机制。

本下载包含有:开发文档以及AndroidjChat源码和JADE应用的一个聊天测试程序(JadeAndroid-Programming-Tutorial 有说明)。



JChat 的编译:

1、 配置环境,需要的软件有Android 模拟器,JADE Leap(JADE是多agent开发框架),J2SE (至少1.5),如果需要编译LocationProvider,就需要下载ant工具了。

2、 进入开发设置,运行模拟器,安装JChat文件(可通过命令adbinstall <PATH_TO_APK>\jChat.apk),运行JADE平台(可通过命令java-cp <PATH_TO_JADE_LEAP_JAR>\JadeLeap.jar-Djade_domain_df_autocleanup=true jade.Boot -gui ),从模拟器中运行程序JChat,在JADE平台菜单中设置主机以及端口。设置措施需要在官网中下载MockedGPS项目进行设置(MockedGPSLocationProvider.apk),也可自己使用ant编译源码,这个也是开源的,最后在JChat程序菜单中点击连接按钮进行连接操作(详情可以看官方文档--下载包中有)。

3、 源码分析之前,需要认真学习一下Jade的Android的编程(有聊天程序源码下载,都在下载包中),编译源码,需要到google中申请 map api 的key,不过由于神奇的国度制约的原因,申请连接的网站无法访问,需要通过其它的方法,比如***等等,申请到的key 需要放到homepage.xml中。

下面来进行分析吧,分析只是针对源码,其它的不涉及。

本项目共25个目标文件。

ContactListActivity程序的启动页,内部含有控制地图以及Jade连接等操作,方法onConnected是JadeGateWay里面的回调方法。JadeGateWay是开源里面的一个库,目前没开源。

ChatActivity 是聊天的主界面,主要通过JadaGateway操作连接,发送,接受等

ChatSessionNotificationManager聊天会话通知管理自定义类,记录了所有的进程清单。

Contact 接触者自定义类,含有名称,电话号码,状态值,是否在sd卡里面…。

ContactListAdapter接触者列表适配器,主要用户显示联系人列表的信息。

ContactListChanges接触者列表变化的自定义类,接触者列表状态更新。

ContactLocation 接触者位置类,是否有移动等动作。

ContactManager 接触者管理类,主要负责接触者的添加、删减以及UI更新等功能。

ContactsPositionOverlay接触者的位置显示物,Overlay的子类,主要负责在地图上显示自定义图像,内置滚动与否以及图像大小改变与否,在地图上话画在线联系人以及场景等。

ContactsUpdaterBehaviour主要表现在其设置由MsnAgent执行。它基本上执行主要业务:定期更新的DF的手机中所有接触的位置(由模拟的GPS更新)。

GeoNavigator 自定义导航类,启动或关闭联络位置的更新。

GuiEventHandlerUI处理类。

IEventHandler 事件处理类接口。

JadeParameterDialog Jade参数设置对话框。

JChatApplication 应用程序类,存贮了全局变量信息,以及初始化服务器以及端口号,手机号等

MsnAgent 消息代理(Jade的Android的编程)

MsnEventMgr消息事件的自定义类,含有事件名,地图存储事件等参数信息,

MsnSession 消息会话,含有所有参与者的电话号码,以及消息,

MsnSessionAdapter消息会话适配器,显示消息会话视图。

MsnSessionManager消息会话管理的自定义类,主要是启动会话,添加会话,移除会话,返回会话,添加消息到会话等操作。

MsnSessionMessage消息会话消息的自定义累,含有时间、内容、发送者姓名以及电话号码等。

MultiSelectionListView多选列表

SendSMSActivity 发送消息界面,执行发送任务。

SMSIntentReceiver消息接收广播,主要负责消息的接收。



程序主要是已消息会话为主,引用了Google地图显示联系人的位置以及更新等功能。

开源项目Jchat 编译以及源码分析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: