摘要: 1。MINA 框架简介当客户首次访问采用MINA编写的程序时,IoAcceptor作为线程运行,负责接受来自客户的请求。当有客户请求连接时,创建一个 Session,该Session与IoProcessor、SocketChannel以及IOService联系起来。IoProcessor也作为 另外一个线程运行,定时检查客户是否有数据到来,并对客户请求进行处理,依次调用在IOService注册的各个IoFilter,最后调用 IoHandler进行最终的逻辑处理,再将处理后的结果Filter后返回给客户端。2。IoSessionSession可以理解为服务器与客户端的特定连接,该连接由服务器地 阅读全文
posted @ 2012-08-02 23:08 water0504 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 1.引言 所谓的消息推送就是从服务器端向移动终端发送连接,传输一定的信息。比如一些新闻客户端,每隔一段时间收到一条或者多条通知,这就是从服务器端传来的推送消息;还比如常用的一些IM软件如微信、GTalk等,都具有服务器推送功能。 推送方法如下: 1)通过SMS进行服务器端和客户端的交流通信。 在Android平台上,你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图,可以实现完全的实时操作。但是问题是这个方案的成本相对比较高,且依赖于运营商。 2)循环主动定时获取 这种方法需要客户端来做一个定时或者周期性的访问服务器端接口,以获得最新的消息。轮询的频率太慢可能导致某些消息的... 阅读全文
posted @ 2012-08-02 23:05 water0504 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。MINA框架的应用比较广泛,应用的开源项目有Apache Directory、AsyncWeb、Apache Qpid、QuickFIX/J、Openfire、SubEthaSTMP、red5等。MINA框架当前稳定版本是1.1.6,最新的2.0版本目前已经发布了M1版本。 MINA框架的特 阅读全文
posted @ 2012-08-02 23:04 water0504 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 昨天升级了SDK,ADT,发现原来可以在EditText里面使用电脑的键盘输入的功能,现在无法输入了,连模拟器的无力键盘也不行,只能使用虚拟键盘,非常麻烦,还有在baidu里有如下方法,只是在Create AVD的时候在Hardware这一项中添加keyboard supportkeyboard lid support: 模拟器物理键盘,设为yes,表示模拟器物理键盘可用keyboard support : 电脑键盘,设为yes,电脑键盘可用 阅读全文
posted @ 2012-08-02 23:03 water0504 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 刚才更新SDK, ADT,可是新建项目的时候却出现问题了,操作一路默认,出现了下面的提示:Thistemplate depends on the Android Support library, which is either not installed, or thetemplate depends on a more recent version than the one you hava installed.http://developer.android.com/tools/extras/support-library.htmlRequired version: 8Installed 阅读全文
posted @ 2012-08-02 22:59 water0504 阅读(920) 评论(1) 推荐(0) 编辑
摘要: 由于项目需要做一个基于XMPP协议的Android通讯软件。故开始研究XMPPXMPP协议采用的是客户端-服务器架构,所有从一个客户端发到另一个客户端的消息和数据都必须经过XMPP服务器转发,而且支持服务器间DNS的路由,也就是说可以构建服务器集群,使不同的服务器下的客户端也可以通信,XMPP的前身是一个开源组织制定的网络通信协议——Jabber,XMPP的核心是在网络上分片段发送XML流的协议,这个协议是XMPP的即时通讯指令的传递手段。 为了防止服务器间发送的数据被篡改或偷听,XMPP服务器通信引入了TLS机制,使用TLS机制能实现数据的加密,从而保证了在数据传输过程种数据的安全。 一个X 阅读全文
posted @ 2012-08-02 22:55 water0504 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.导出一个数据库结构mysqldump -u wcnc -p -d –add-drop-table smg 阅读全文
posted @ 2012-08-02 22:46 water0504 阅读(115) 评论(0) 推荐(0) 编辑
摘要: ackage com.test;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ArrayListDemo { public static void main(String args[]){ List<String> list = new ArrayList<String>(); list.add("luojiahui"); list.add("luojiafeng"); //方法1 Iter... 阅读全文
posted @ 2012-07-31 23:25 water0504 阅读(270) 评论(0) 推荐(0) 编辑
摘要: Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getValue(); } 效率高,以后一定要使用此种方式!... 阅读全文
posted @ 2012-07-31 23:23 water0504 阅读(146) 评论(0) 推荐(0) 编辑
摘要: Android可以通过MediaRecorder和AudioRecord这两个工具来实现录音,MediaRecorder直接把麦克风的数据存到文件,并且能够直接进行编码(如AMR,MP3等),而AudioRecord则是读取麦克风的音频流。本文使用AudioRecord读取音频流,使用AudioTrack播放音频流,通过“边读边播放”以及增大音量的方式来实现一个简单的助听器程序。PS:由于目前的Android模拟器还不支持AudioRecord,因此本程序需要编译之后放到真机运行。先贴出本文程序运行截图:PS:程序音量调节只是程序内部调节音量而已,要调到最大音量还需要手动设置系统音量。使用Au 阅读全文
posted @ 2012-07-31 23:11 water0504 阅读(428) 评论(0) 推荐(0) 编辑