针对Android有以下几点需要注意:
下面是一些经常出现的错误:
1、安装apk文件出现相应的错误
(1)提示错误OLDER_SDK,这表明现有的android的sdk版本太低,应该使用较高版本的sdk。
(2)提示错误UPDATE_INCOMPATIABLE,这表明apk与现有的sdk存在兼容性上的冲突,可以检查一下是否使用了完全一样的skin等参数设置,这些参数与apk应用程序的不一致也会导致安装时候出现错误。
(3) 有时安装apk没有出现错误,但是一运行就出现“程序异常终止”的错误:
原因一般有:应用程序的权限没有设置好,出现了问题;应用程序可能会使用sdcard,而没有挂载sdcard镜像。
(4)目前Android的开发主要是基于800*480(WVQA800)的皮肤,皮肤的不同可能会影响应用程序的兼容性。
2、在模拟器的sdcard镜像插入的图片后,不能通过图片浏览器进行显示。
如果是在android运行的过程中,往sdcard中插入图片,不会立即显示出来,需要重启android虚拟器。
3、开发Android应用程序,容易忽视的一点就是:忘记给应用程序赋予合适的访问权限。<uses-permission>
在通过DDMS模拟GPS定位时,模拟器在install apk之后,始终显示“无法显示物理位置”的错误信息,后来重启一下,就可以了。所以得到启发:如果某个应用程序有一定问题的话,尝试把android重启一下,或许就可以了!
4、android的Google MAP相关内容
(1)Google MAP API的获取
Android Maps API Key Signup
The Android Maps API lets you embed Google Maps in your own Android applications. A single Maps API key is valid for all applications signed by a single certificate.
You also need a Google Account to get a Maps API key, and your API key will be connected to your Google Account.
Android Market enables developers to easily publish and distribute their applications directly to users of Android-compatible phones.
(2)运行android与Google Map相关的应用程序时,提示错误:Failed to find an AVD compatible with target ‘Google APIs‘.
其实问题在于:之前应用程序加载的都是没有Google api的android21的平台,google api是可选包。所以必须重新创建一个有android和google api的21平台。
5、如何导入Android SDK中的Sample代码
(1)不能通过file->import来加载,因为这里import是已经建立好的工程,而Sample中的只是source文件
(2)所以需要file->new->android project->creating project from existing sample.在下拉框中选择具体的Sample。
注意不能选择creating projects from exisiting source,这样建立的工程是有错误的,没有R.java文件。
(3)出现的没有R.java文件的问题 :
存在这样一种可能:由于res目录的一些xml文件中对于单引号没有使用“/”进行转义,这个还是通过console中的错误提示看出来的。
6、安装改进版本后的apk文件出现如下的错误
Com.xiedong.calendar:
signatures do not match the previously installed version ignoring
Package couldn‘t not be installed in /data/ app / com.xiedong.calendar.apk
解决方法:
(1)删除之前建立的avd,然后重新创建,编译和运行
(2)或者在已经存在的avd基础上,启动过程中选择上 wipe user data 如截图所示
下面是一些好的代码库案例:
Android经典的开源项目其实非常多,但是国内的博客总是拿着N年前的一篇复制来复制去,实在是不利于新手学习。今天爬爬把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助。另外,如果你有比较好的项目推荐,也烦请在评论里分享出来,我会定期更新博客内容。
- Apollo音乐播放器:就一个播放器,但是实现的很好
- oschina客户端:oschina网站的客户端哦,wp版,iOS版都有开源
- xabber实时聊天工具(基于xmpp协议):不评价了,反正算是同类中比较好的了
- 四次元新浪微博客户端:今天才知道是开源的,赶紧收藏
- Google IO:谷歌开发者大会应用,虽然有点难懂,还是很有参考价值(比如其中的图片加载)
- eoe客户端:eoe网站Android客户端也开源咯,嘿嘿
- photup:一个上传图片到facebook的客户端,其中使用了很多开源项目,作者(chrisbanes)本身也非常NB~
- Android-Flip:可以实现类似FlipBoard那种华丽丽的翻页
- Drag-Sort-Listview:可以拖动item重新排序的listview,效果非常赞
- HoloEveryWhere:咳咳,有些同学非常喜欢Android的holo风格,这个项目绝对让你happy
- Universal-ImageLoader:这个经典的异步图片加载,不多说了
- JazzyViewPager:这玩意可以让ViewPager翻起来更酷,谁用谁知道~~
- SlidingMenu:这个是抽屉界面(就是facebook那种)的各种实现版本中,最好的,木有之一!
- StickyListHeaders:iPhone上经常有这个,就是listview的……不知道怎么解释,自己下载看看吧
- Android-PullToRefresh:下拉刷新,挺常用的一个组件
- StaggeredGridView:这是一个瀑布流布局的实现,还不是很完善,但作为学习的案例或者在其基础上扩展还是不错的
- android-async-http:android的异步请求组件,我个人习惯使用asynctask,不过这个实现还是很优秀的,也推荐给大家
- ActionBarSherlock:大家熟知的ActionBar在2.x上的兼容性方案;类似的兼容性组件还有许多,有时间为大家一一列出;
- facebook-android-sdk:不止是一个SDK那么简单哦,比某浪和某人的SDK强几个数量级;
- NineOldAndroids:想在2.xSDK上使用Android 3.0新增的动画API,那就是它了;没用过的同学一定要试试哦,非常方便~
- android-swipelistview:让listview的item可以向右滑动,新版Gmail和Pocket里面有用到哦~
- DataDroid:Android的RESTful封装,没听过RESTful?你去死吧
- EventBus:和上面的DataDroid同样属于美化底层代码的,这个lib简化了不同组件之间的事件传递
- android-switch-backport:Android3.0以上才有的switch,有好心人给迁移到2.x上了,哈
- PagerSlidingTabStrip:最新版的GooglePlay的那个tab效果,可炫可炫了
- chromeview:我们都知道webview,也知道Android的chrome又自己的内核,这个项目就是把chrome的内核给导出来做成一个chromeview了,大家可以在自己的项目里用,有兴趣的可以玩玩
- picasso:来自square的图片异步加载,好像是最近才开源的,API风格很独特,哥很喜欢~
- GlassActionBar:把actionbar做成毛玻璃效果,看上去还是很漂亮的
- github:各种项目很多,就是不容易挖掘,但是开发者必备
- oschina:曾经一般,现在越做越好了,很多开源项目;
- eoeandroid:经过一番整理,现在非常强大;小作品居多;
- AndroidViews:我曾经想做这么一个网站来着,很多开源组件的集合,嘿嘿
- RomainGuy的博客 [大牛]:Android开发组核心成员,主要复制widget开发,我们用的Listview啥的都是这位帅哥写的。
- 爬爬的博客:欢迎造访,嘿嘿