存档

‘嵌入式开发’ 分类的存档

把Android源代码加入SDK(Updated)

2009年6月18日 William Hua 4 条评论

Android Logo
各位调试Android程序的时候遇到“source not found”错误应该很抓狂吧,Goolge在发布SDK时没有把源代码包含进去着实有点让人费解,对很多人来说Git无疑是个生涩的东西,而framework中所有Java代码加起来打个包也就是20多MB。更要命的是,Android Eclipse plugin (ADT)不允许我们在项目属性中attach源代码到android.jar上。好在Eric Burke找到了把source加入到SDK中的办法,通过分析ADT的源代码我们知道ADT是从SDK目录下的“sources”目录来查找class对应的源代码,这样我们只要把源代码放到sources目录中ADT就可以自动找到对应的源代码了。
阅读全文…

Android Developer Challenge 2 开始了

2009年5月31日 William Hua 5 条评论

第一届Android Developer Challenge(以下简称ADC)取得了很棒的结果,一共有超过1700个应用被提交,其中的50个成为最后的优胜者CompareEverywhereCab4meLife360PicSay等应用都给我们留下了很深刻的映像。它们也许都是很简单的概念,却很好的帮助使用者解决了实际的问题,像CompareEverywhere这样比较不同商店货物的价格,Cab4me这样方便的出租车呼叫服务,都是非常贴心的设计。现在,随着Android 1.5的顺利发布,Google在今年的Google I/O期间正式公布了ADC 2开始的消息。
阅读全文…

在Android中解析XML数据

2009年5月26日 William Hua 4 条评论

XML Logo
说起XML,总会有DOM、SAX、JDOM、DOM4J、Xerces、JAXP等一堆名词蹦出来,但是很多人总是会弄混他们之间的关系,这对我们理解XML文件的解析很不利。要挑选一个适合在Android平台上使用的XML解析方案,我们还是得先把这些概念厘清。
阅读全文…

利用Apache HTTPClient 4.x访问嘀咕API

2009年5月23日 William Hua 15 条评论

HTTPCommons
HttpClient是基于HttpCore实现的一个HTTP/1.1兼容的HTTP客户端,它提供了一系列可重用的客户端身份验证、HTTP状态保持、HTTP连接管理module。功能丰富的HTTPClient同时兼具出色的可扩展性和健壮性,目前已经成为了最为流行的Java HTTP客户端组件,为开发Web浏览器、Web Service客户端提供了很大的便利。

HttpClient(4.x)是Jakarta Commons HttpClient 3.x的继承,当前最新版本HttpClient 4.0-beta2。Android SDK在M5这个Milestone对HttpClient做了重大更新,开始捆绑HttpClient 4.x(当时还处于Alpha阶段)的包,而之前的M3则是捆绑了Jakarta Commons HttpClient 3.x。这一举动虽然在当时看起来太过激进,但是保证了在Android正式发布以后的API一致性。而嘀咕作为国内为博客的后起之秀,以众多好用的插件赢得了不少用户的青睐,这背后所依靠的则是它开放的API。看起来嘀咕API + HttpClient + Android的组合会非常有意思。
阅读全文…

在Android1.5应用程序开发过程中使用JUnit

2009年5月7日 William Hua 7 条评论


这几天忙着写一个Android App(等完成以后应该会open source),今天差不多把网络相关的部分实现了,XML解析还有待完善。几天没写blog感觉有点不自在,正好想起Android 1.5_r1的release notes中专门提到了ADT0.9对于JUnit支持的改进,对于崇尚TDD(测试驱动开发)的人来说这无疑是一个好消息,今天就抽点时间说说Android 1.5中JUnit集成相关的要点吧。
阅读全文…

如何构建Android 1.5系统映像

2009年4月30日 William Hua 6 条评论


上一篇文章讲到如何构建Android的kernel映像,我们都知道,系统要运行起来光有kernel映像是不够的,今天我就来说一说如何构建Android的系统映像。

请先参考如何取得Android源代码一文,通过repo来取得当前最新的android主线代码(或者拿名为android-SDK-1.5_r1的tag也无妨)。
阅读全文…

如何构建Android 1.5 Linux内核映像

2009年4月30日 William Hua 3 条评论


和一般的Linux系统开发流程一样,Android平台开发的一个很重要的基础工作就是对其内核的编译和移植。本文的目的就在于构建出可以在Android自带的ARM QEMU模拟器上运行的内核映像,希望对于大家做内核的移植和系统构建有帮助。

请先参考我的另一篇文章如何取得Android源代码,确保正确地拿到了Android kernel/common项目的Goldfish分支(该分支用于构建运行在emulator上的系统内核,而主线则是用于构建运行在实际设备上的内核代码)上的内核代码。另外,需要提醒一下大家的是Android的sourcecode目前只能在Linux或者Mac OS下做交叉编译编译,Windows并没有被支持,以下将以Ubuntu 8.04为Host OS来说明。
阅读全文…

简述Android触摸屏手势识别

2009年4月23日 William Hua 5 条评论


很多时候,利用触摸屏的Fling、Scroll等Gesture(手势)操作来操作会使得应用程序的用户体验大大提升,比如用Scroll手势在浏览器中滚屏,用Fling在阅读器中翻页等。在Android系统中,手势的识别是通过GestureDetector.OnGestureListener接口来实现的,不过William翻遍了Android的官方文档也没有找到一个相关的例子,API Demo中的TouchPaint也仅仅是提到了onTouch事件的处理,没有涉及到手势。Android Developer讨论组里也有不少人有和我类似的问题,结合他们提到的方法和我所做的实验,我将给大家简单讲述一下Android中手势识别的实现。
阅读全文…

Android MapView的setOnKeyListerner有什么问题?[Updated]

2009年4月8日 William Hua 1 条评论


今天想要实现一个基于MapView的小游戏,用户可以在地图上用上、下、左、右四个键来操作一个在地图上的一个小汽车。所以第一步就是要在MapView中添加一个按键响应的Listener来处理这四个键。

我一开始使用的是MapView的setOnKeyListener方法来设置一个OnKeyListener,并且通过一个内部类来实现它。看下面的代码,逻辑很简单,拿到MapView的实例mapView以后马上设置OnKeyListener,Linstener中就实现一个onKey方法来捕捉按键。
阅读全文…

Android中在地图上显示两点间路径的方法

2009年4月4日 William Hua 6 条评论

在Android 0.9 以及之前的SDK中,一直有一个com.google.googlenav的package,可以用来实现很多和Google地图相关的复杂功能,比如我今天要讲的显式两点间路径等。但是从1.0的SDK开始这个package被移除了,这使得很多早期的Android程序无法编译和运行,相关的功能也就没法实现了——Google一早就承诺会把Android开源,在开源的前夕移除一些比较高级的API也是可以理解的,何况他提供了很棒的Intent机制让我们调用内置的Google Maps。
阅读全文…