摘要:
现在已经有了一个Android工程A。我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A。一个思路是把工程A做成纯Jar包,这样其他的工程就可以直接引用了。但是,如果在工程A中用了R.java中的引用,则无法打成jar包了。原因是R.java是自动生成的,是动态的,每次编译都是不相同的。如果一定要做成jar包,就不能使用自动生成的R文件,用到资源时候就要写代码去获取。另一个思路就是将工程A做成android library project。设置工程A,右键->Properties->Android,将Is library项选中,然 阅读全文
摘要:
为什么需要反馈Crash报告?做Android应用程序,要尽量避免程序Crash的发生。虽然说零Crash是程序员追逐的最终目标,但是现实的情况是,程序员只能尽量的减少Crash的发生,而几乎不可能完全杜绝Crash。也许,你认为你的应用的健壮性已经近乎完美,轻松的经受住了测试部门魔鬼般的考验,但是当你的应用发布到市场,面对百万甚至千万级别的用户的时候,可能就没有那么幸运了。基于以上原因,一般的应用程序,都要有一个Crash反馈的机制。程序员可以根据反馈的结果,对当前的版本的代码进行改进,使发布的下一个版本更加稳定。如何反馈?先来看如何捕获Crash的发生。Java中有一个接口,Uncaugh 阅读全文
摘要:
首先要说的是,用户可能把这种做法视为流氓软件。大部分时候,程序员也不想把软件做成流氓软件,没办法,领导说了算。我们在使用某些Android应用的时候,可能会发现安装了某应用以后,会有一些服务也会随之运行。而且,这些服务每次都会随着手机开机而启动。有的服务做的更绝,当用户停止该服务器以后,过了一段时间,服务又自动运行了。虽然,从用户的角度来说,这种方式比较流氓。但是,从程序员的角度来说,这是如何做到的呢?经过研究,我发现有一种方式是可以实现的。下面就和大家分享。先简单介绍,一会儿会贴上全部代码。如何做到开机启动?这个比较简单,网上的资料够多,只要实现一个BroadcastReceiver,监听手 阅读全文
摘要:
Android应用开发中, 有一种场景,就是我们不希望用户直接按Back键退出Activity,而是希望应用隐藏到后台,类似于按Home键的效果。下面提供代码示例,请参考。public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);... 阅读全文
摘要:
1)smack中登陆:Establishing a Connection// Create a connection to the jabber.org server.Connection conn1 = new XMPPConnection("jabber.org");conn1.connect();// Create a connection to the jabber.org server on a specific port.ConnectionConfiguration config = new ConnectionConfiguration("jabb 阅读全文
摘要:
asmack 是smack的android上版本。参见:http://code.google.com/p/asmack/smack的文档:http://www.igniterealtime.org/builds/smack/docs/latest/documentation/ 阅读全文
摘要:
XMPP协议简介XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的。它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。并且XML很易穿过防火墙,所以用XMPP构建的应用不易受到防火墙的阻碍。利用XMPP作为通用的传输机制,不同组织内的不同应用都可以进行有效的通信。这篇文章有基本的介绍,http://blog.csdn.net/xutaozero21/article/details/4873439IMIns 阅读全文
摘要:
一、回顾 在分享这个项目之前先来回顾以前的三篇文章:《基于即时通信和LBS技术的位置感知服务(一):提出问题及解决方案》(外网地址) 在第一篇文章中我们提出了要让A与B在不同地方能即刻获取对方准确位置的需求。之后讨论了解决这一问题做出的方案选择,即放弃使用轮询(Pooling)的方式在不同客户端进行数据的更新,理由是因为B不知道A何时需要自己的位置信息,所以B只能一直post自己的位置数据给服务器,而A要定时通过RESTful Web请求去服务器获取B的信息。 最后确定采用基于XMPP协议的PubSub(Publish/Subscribe,发布/订阅)方式进行异步消息实时传递。《基于即时通信和 阅读全文
摘要:
12 Essential Skills for Software ArchitectsEvery Software Architect Needs Thousands of software professionals have the necessary technical qualifications to become architects, but far fewer have the crucial "non"-technical skills needed to get hired and succeed in this role. In today's 阅读全文
摘要:
1 下载app当你需要某些app的信息的时候,怎么办,通过浏览器手段到官网去获取信息是一种方式,也可以自动化方式获取。已经有人分析出来google market所使用的protocol buffer协议格式,并且给出了java实现。如果需要下载app,可以参见:Android Market API。注意,google可能会更改协议,即使如此,还是相当有参考价值。2 获取app信息如果只是获取app信息,并不需要下载的话。可以直接用crawler去获取google market的信息,已经有人这么干了。参见:Crawling the Android Marketplace顺便给出这个Crawle 阅读全文