- 博客(31)
- 资源 (4)
- 收藏
- 关注
转载 androidpn的学习研究(八)androidpn 中业务类XmppIoHandler实现分析
在androidpn中主要采用Mina进行网络通讯,其中Mina中IoHandler用来处理主要的业务逻辑。Mina 中源代码如下:Java代码 package org.apache.mina.core.service; import java.io.IOException; import org.apache.mina.core.
2013-09-13 12:12:15
1508
转载 androidpn的学习研究(七)Androidpn-server的添加其他xmpp相关的协议(如查看好友列表等)
曾经有一个同学,在网上问我,如果想androidpn添加额外的xmpp协议的方法在怎么加呢?我当时很迷惑,后来经过一翻仔细研究androidpn发现,其实每一种处理xmpp协议方法,必须有一个Handler实现。具体可以参考org.androidpn.server.xmpp.handler中。 针对每一个Handler对应的xml拥有不同的命名空间,每一个命名空间在xmp
2013-09-13 12:11:33
1505
转载 androidpn的学习研究(六)Androidpn-server的Mina编码和解码解析过程
在许多网络应用中可能针对传输的数据进行加密操作,接收到数据之后进行解码操作。在mina中提供许多加密和解密的解析方式:1.带一定前缀的字符串的解析方式。2.序列化对象的字符串解析方式。3.分隔符方式的字符串解析方式。 在mina中提供相关的filterchain支持相关的操作。Mina的源代码如下:Java代码
2013-09-13 12:10:57
1192
1
转载 androidpn的学习研究(五)androidpn-client 常见BUG解决方法
原文地址:http://phonepush.sinaapp.com/forum.php?mod=viewthread&tid=6&extra=page%3D1 最近有需要做手机推送方面的项目,本人以前没做过网络编程也没做过安卓,所以只能GOOGLE,发现Androidpn用的比较广泛,但Androidpn还不成熟,存在一些BUG。目前比较困扰大家的BUG主要有:1.当
2013-09-13 12:09:56
1505
转载 androidpn的学习研究(四)androidpn-client客户端几个类说明
在androidpn的客户端几个重要的类: ServiceManager:管理消息服务和加载相关的配置。 ConnectivityReceiver:处理网络状态的广播。 NotificationReceiver:处理服务端发送的推送消息。 Noti
2013-09-13 12:08:47
1198
1
转载 androidpn的学习研究(三)androidpn-server服务端几个类说明
AndroidPN(Android Push Notification) 是一个基于XMPP协议的Java开源推送通知实现,它包含了完整的客户端和服务端。AndroidPN基于Openfire下的一些开源项目构建。 AndroidPN服务器包含两个部分, 一个是侦听在5222端口上的XMPP服务,负责与客户端的XMPPConnection类进行通信,作用是用户注册
2013-09-13 12:07:37
1224
转载 androidpn的学习研究(二)androidpn-server服务端启动过程的理解分析
在Androidpn的底层主要采用的mina和openfire两大框架,其中mina主要为底层数据传输的Socket框架。下面简单说明mina的框架。Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性
2013-09-13 12:06:28
2026
转载 androidpn的学习研究(一)androidpn-server服务端相关配置的常识
androidpn的一些基本常识:ANDROIDPN_HOME=C:\android-push\androidpn-server-0.5.0启动androidpn服务端: %ANDROID_HOME%/bin/run.batandroidpn的数据库日志: %ANDROID_HOME%/bin/db/androidpn.logandroid
2013-09-13 12:05:07
2734
1
原创 android ListView几个比较特别的属性
首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和falseandroid:stackFromBottom="true" 第二是 transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件tran
2013-06-13 14:25:46
245
转载 [其他] 10种技巧可提升Android应用运行效果
随着手机平台的发展和所提供应用的提升,质量成为应用成功的最重要因素。如果那些应用无法提供强大的功能和稳定的用户体验,那就会很快被用户卸载。开发者需要记住的是,虽然Android智能手机和平板电脑的速度日益提升,但其应用仍然运行在资源有限的环境中,其电池及处理器性能与最新的台式电脑、手提电脑仍存在差距。以下是某些优化应用运行效果的方法:我们先来阐述某些让应用反应灵敏的编程技巧。技巧1:从
2013-06-06 09:38:46
296
原创 Android之ListView优化(使用Lrucache,图片滑动时使用默认图片,停止时加载)
注意:LruCache是有版本限制的,低版本的sdk需要在libs文件夹添加相应的support-4v文件。本文改造的大部分是参考http://www.iteye.com/topic/1118828,感谢。不废话直接上工程代码,内有关键注释,项目就不上传了,自己对照着上面网址改呗。首先是Application文件,负责创建图片存储文件夹:public class M
2013-06-03 16:24:08
2394
2
原创 三款JSON类库Jackson,Gson与JSON-lib的性能对比
近日做一些性能优化工作,在挑选JSON类库时,发现除了一般常用的JSON-lib外,还有一款号称性能最快的JSON处理器Jackson,于是用上了刚学会的JMeter,对这两个类库进行了简单的性能对比。Jackson:http://jackson.codehaus.org/ JSON-lib:http://json-lib.sourceforge.net/ Gson:http://co
2013-05-24 13:41:14
1680
1
原创 Fragment试手
(1)android.app.Fragment:兼容的最低版本是android:minSdkVersion="11"因此你的应用不能兼容3.0以下的应用。可以使用标签的,这点很重要,如果是用android.support.v4.app.Fragment的话,是不能是用标签的,会抛出android.view.InflateException: Binary XML file line
2013-05-22 16:44:55
2546
1
转载 Android强制设置横屏或竖屏
全屏在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.Layo
2013-05-21 12:13:53
3201
原创 Android merge 标签学习笔记
Merge 标签Android性能优化中 有一点就是尽量减少层次结构 少用LinearLayout。merge他的作用就是减少一个层次。1.merge布局 和FrameLayout类似,相同的效果.不同的是 merge布局只能被标签包含. 或者Activity.setContentView所使用. 2 merge 能被其他layout用包含进去,并不再另外生成Vi
2013-05-17 11:59:54
1867
3
原创 Android <Merge>标签 学习
Merge 标签Android性能优化中 有一点就是尽量减少层次结构 少用LinearLayout。merge他的作用就是减少一个层次。1.merge布局 和FrameLayout类似,相同的效果.不同的是 merge布局只能被标签包含. 或者Activity.setContentView所使用. 2 merge 能被其他layout用包含进去,并不再另外生成Vi
2013-05-17 11:54:26
104
原创 DOM方式读取XML工具类
package com.itheima;import java.io.IOException;import java.lang.reflect.Method;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.
2012-02-09 21:49:11
293
原创 J2EE学习笔记(1)
一、服务器,容器(软件)1、服务器:提供网络访问的程序2、容器:支持什么技术的服务器就叫做什么容器。比如Tomcat支持Servlet/JSP技术,又称为Servlet容器二、http://www.apache.org 阿帕奇官网三、端口服务器上的每个网络服务程序都对应一个端口。Tomcat默认对应的端口号是8080Web应用的默认端口号是80
2012-02-07 23:03:04
191
原创 Java基础提高学习笔记2
Java基础加强笔记11、Integer i1 = 13; Integer i1 = 13; 这两个是同一个对象 但赋值的值超过-128~127 就不是同一个对象 享元模式 flyweight 当这个数据很小,但出现的次数较多 可以将其变成一个对象,不同的变成方法的外部属性,相同的叫做内部属性 12、枚举 也是JDK1
2012-01-09 21:28:21
199
原创 Java基础提高学习笔记1
Java基础加强笔记03、开发时有两个阶段,编译时阶段 运行时阶段 工作间可以保存不同用户的不同配置 创建工作间需要关闭现有的工作间,并新建配置 每个类都有包、包要以公司的网址倒置加模块等等 interview 面试 StaticImport 静态导入04、调试的时候设置断点。Debug运行可以卡断点 watch可以
2012-01-09 17:55:17
188
原创 JAVA中各种简写全称整理
API (Application Programming Interface) 应用编程接口 JRE (Java Runtime Enviroment) Java 运行时环境 JDK (Java Development Kit) Java开发工具包 JVM (Java Virtual Machine) Java虚拟机 JNI (Java Native Interface) Java
2012-01-09 16:53:56
419
原创 银行业务调度系统学习
项目分析:银行窗口 三类窗口客户 三类客户客户随机生成生成比例 1:6:3窗口可以向下兼容,各类型客户应在其对应窗口顺序依次办理业务, 需要有窗口叫号控制器实际代码设计:首先先编号码管理器NumberManager变量类型尽量面向父级,体现面向接口编程ArrayList remove返回类型是他取走的数据类型
2012-01-09 15:50:35
155
原创 ThreadLocal实现线程范围内的数据共享
实现线程范围内的数据共享就是各自的线程管理各自线程上的数据,不被另外线程干扰。比如: 当第一个线程运行的时候往一集合里放一数据(比如是2),当第二个线程运行过来的时候往相同的集合里相同的位置上放了数据3,这时通常情况下是3将2覆盖掉了,然而在这里不是这样的,他们是两个不同的线程,不能有冲突,这要怎么解决呢? 有两种办法,使的当第一个线程再次运行都这里时,取出数据是2,当第二个线程也再次运行到这
2012-01-09 00:06:02
334
原创 交通等管理系统学习1
1、两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子StoneKnife = KnifeFactory.creatKnife(stone)material = StoneKnife.cut(tree)chair = ChairFactory.makeChair(material)2、“球从一根绳子的一段移动到了另一端”下面进入代码编写~
2012-01-08 23:58:55
218
原创 线程同步问题
线程同步问题要用到共同数据(包括同步锁)或共同算法的若干个方法应该归在同一个类身上,这种设计正好体现了高类聚合程序的健壮性锁是在代表要操作的资源的类的内部方法中,而不是现成代码中。 为了防止伪唤醒、判断条件是应采用while 而非 if 让程序的健壮性更加体现出来如:class Busines { private boolean bShoudsub = true; p
2012-01-08 23:54:45
162
原创 基本数据类型的自动拆箱与装箱
基本数据类型的自动拆箱与装箱Integer iObj1=3;//将3装成Integer对象。System.out.println(iObj1+12);//将iObj1拆成了int,然后再与12相加。Integer iObj2=3;//若一数字只占一个字节(-128~127),那么将其分别装到两个Integer对象中时,则这两个Integer对象是相同的。这体现了享元设计
2012-01-08 23:40:29
373
原创 反射
问题:在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法?答案是可以的,JAVA提供一种反射机制可以实现。 目录什么是JAVA的反射机制JDK中提供的Reflection APIJAVA反射机制提供了什么功能获取类的Class对象获取类的Fields获取类的Method获取类的Constructor新
2012-01-08 21:30:45
167
原创 2012-01-06 学习笔记
1、 为什么大家都使用new Runnable来实现新的线程答:因为使用new Runnable更能体现出面向对象编程的特点一个叫做线程 另一个叫做线程所运行对象,线程所运行对象装在一个对象里面线程是另外一个独立对象,这两个一组合 更能体现面向对象编程的思维 new Thread(new Runnable() { @Override public void
2012-01-06 18:54:19
159
原创 学习笔记、
IDE --> integrity development environment 集成开发环境、perspective -->透视图interview --> 面试享元设计模式(flyweight):如果很多很小的对象、他们都有相同的东西,那么就可以将它变成一个对象,把不同的东西把它变成外部属性,作为方法的参数传入jdk1.5新特
2012-01-05 16:34:27
238
转载 学习笔记1、多线程
在单CPU的硬件平台下,某一时刻只能有一个线程在运行,线程是由操作系统调度的。启动一个线程不能直接调用run()方法,这样不会创建一个新的线程,只是简单的在当前线程中执行了run()方法,而应该调用start()方法,这样就会创建一个新的线程,在这个新的线程上执行run()方法上的代码。当run()方法执行完后,线程也就相应的结束,我们可以通过控制run()方法中循环的条件来控制线
2012-01-02 17:10:52
171
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人