03 2012 档案
PhoneGap实践(Native Api调用 + 自定义Plugin(BarcodePlugin))
摘要:前一篇分析了PhoneGap的原理,这一篇将以一个实例来说一下如何用PhoneGap调用Native Api,以及自定义Plugin来调用PhoneGap Native Api中没有的功能(Barcode扫描)。环境:Android2.2第三方库:PhoneGap、zxing、jqueryMobile功能:1)在js中调用PhoneGap提供的NativeApi,navigator.contacts.find列表显示手机联系人信息。2)由于PhoneGap的NativeApi中没有提供二维码的扫描功能,我们自定义BarcodePlugin,来实现在js中调用扫描二维码。先上图: 查询手机联系人 阅读全文
posted @ 2012-03-29 12:53 TroyZ 阅读(2263) 评论(1) 推荐(0) 编辑
PhoneGap原理分析(Android版)
摘要:PhoneGap提供了Native Api的支持(如:重力感应、相机、联系人、文件、地址位置…), 比如要用js获取本机的联系人,可以用: var options = new ContactFindOptions(); options.filter = "李"; options.multiple = true; var fields = ["displayName", "phoneNumbers", "emails"]; navigator.contacts.find(fields, onSuccess, onEr 阅读全文
posted @ 2012-03-28 19:10 TroyZ 阅读(4984) 评论(1) 推荐(0) 编辑
svn的使用
摘要:1. 如果要过滤某些文件不让它们被svn上传,可以‘右键’->‘General’-> 然后在输入框中,输入不想上传的文件类型,以空格隔开,android代码,可以添加*.dex *.apk gen bin2. google的svn,帐号是gmail邮箱,密码在 https://code.google.com/hosting/settings 可以找到。 阅读全文
posted @ 2012-03-16 17:41 TroyZ 阅读(173) 评论(0) 推荐(0) 编辑
Push Notification (2)HTTP长连接
摘要:国内大部分android定制机,已经把google服务都删除了(gmail/google map/market),导致基于google C2DM的消息推送无法运行。我们可以考虑自己做一个server端,用长连接来实现消息推送。有2种方案:1)用socket实现长连接 优点:可以用SocketChannel来打开套接字连接,因为它实现了接口InterruptibleChannel(jdk1.4),可以被其它线程中断read, 缺点:socket可能会受到防火墙的限制2)用http实现长连接 优点:server端可以使用servlet3.0的新特性:servlet异步,来维持长连接。 缺点:... 阅读全文
posted @ 2012-03-14 13:57 TroyZ 阅读(3066) 评论(1) 推荐(0) 编辑
Myeclise + Tomcat7.0环境搭建
摘要:Tomcat7.0支持servlet3.0,下载下来研究下servlet3.0。Tomcat7.0需要jdk1.6及以下, 通过启动startup.bat方式启动的话,不方便看控制台日志,那么结合Myeclipse吧,我的Myeclipse版本是8.0,还没有专为Tomcat7.0的配置项,不过没关系。按照以下步骤就可以了:1)配置Tomcat7.0路径及启动参数注意:这里Tomcat7.0启动时,需要bin目录下的jar包,tomcat7.0/bin/*.jar 2)把servlet3.0所需要的jar包添加到user library中,创建web项目时,需要用到。3)创建一个web项目, 阅读全文
posted @ 2012-03-14 13:17 TroyZ 阅读(1032) 评论(0) 推荐(0) 编辑
Servlet3.0新特性
摘要:servlet3.0新增加如下特性:1)注解,javax.servlet.annotation包下,如:@WebServlet, 可以不用在web.xml中配置了,如果想使用注解,需要在web.xml中设置参数:metadata-complet="false", 设置true时注解就无效了。2)插件支持,类似于struts中的插件。 把servlet打成一个jar包(META-INF/web-fragment.xml中配置servlet), 然后分发到你想使用到的web工程3)servlet的异步处理支持,(默认情况下servlet没有开启异步,需要设置asyncSuppo 阅读全文
posted @ 2012-03-14 12:30 TroyZ 阅读(546) 评论(0) 推荐(0) 编辑
使用AXMLParser解析apk中的AndroidManifest.xml
摘要:如果自己搭一个Market,需要考虑对用户上传的apk文件,读取出其packageId, versionCode, permission等信息,利用AXMLParser就可以解决这个问题。这里可以下载AXMLParser:http://code.google.com/p/xml-apk-parser/ 我们需要把AndroidManifest.xml文件的InputStream获取到,然后传给AXMLParser,就可以了。获取方式:1StringapkPath="d:/android/Exhibition.apk";2ZipFilezf=newZipFile(apkPat 阅读全文
posted @ 2012-03-14 10:08 TroyZ 阅读(2815) 评论(0) 推荐(0) 编辑
android上的i-jetty (2)用Servlet显示Android设备的app列表
摘要:环境 : android + i-jetty + servletMyServlet.java1packagecom.synnex.servlet;23importjava.io.ByteArrayOutputStream;4importjava.io.IOException;5importjava.io.PrintWriter;6importjava.util.List;78importjavax.servlet.ServletConfig;9importjavax.servlet.ServletException;10importjavax.servlet.ServletOutputStre 阅读全文
posted @ 2012-03-13 12:36 TroyZ 阅读(1589) 评论(2) 推荐(0) 编辑
android图片decode
摘要:BitmapFactory.decode*,在解码jpg时,有时会返回null,并显示:skia(3856): --- decoder->decode returned false换成png则可正常解码显示,http://www.newsmth.net/nForum/article/MobileDev/38356?p=1 阅读全文
posted @ 2012-03-13 10:24 TroyZ 阅读(323) 评论(0) 推荐(0) 编辑
异出错总结
摘要:wait(), notify()必须写在synchronized中。 阅读全文
posted @ 2012-03-08 14:57 TroyZ 阅读(117) 评论(0) 推荐(0) 编辑
android UDP广播、组播
摘要:UDP广播,是将UDP数据包发送给255.255.255.255,要指定端口号,同一网段 下所有机器都可以收到,但局域网内其它网段收不到。UDP组播,可以跨网段,Android设备不支持 UDP 组播,只支持UDP广播。参考:http://blog.csdn.net/c395565746c/article/details/6016646http://code.google.com/p/android/issues/detail?id=2917#c48 阅读全文
posted @ 2012-03-06 13:18 TroyZ 阅读(3090) 评论(1) 推荐(0) 编辑
ScrollView 下 ListView显示不全的问题
摘要:有的时候,ScrollView下ListView列表显示不完整,可以用下面的code解决。1publicstaticvoidsetListViewHeightBasedOnChildren(ListViewlistView)2{3ListAdapterlistAdapter=listView.getAdapter();4if(listAdapter==null)5{6return;7}8inttotalHeight=0;9for(inti=0,len=listAdapter.getCount();i<len;i++)10{11ViewlistItem=listAdapter.getVie 阅读全文
posted @ 2012-03-05 18:42 TroyZ 阅读(559) 评论(0) 推荐(0) 编辑
http缓存
摘要:第1次请求,在返回的header中的:Last-Modified 和 Etag 保存下来,第n次请求同样的URL时, 在请求header中,加入:If-Modified-Since 和 If-None-Match, 如果返回的状态码是200,则表明数据更新了,如果是304,表明没有更新,可以使用上次获取的数据,参考:http://lkf0217.iteye.com/blog/544200 阅读全文
posted @ 2012-03-01 18:47 TroyZ 阅读(181) 评论(0) 推荐(0) 编辑


点击右上角即可分享
微信分享提示