Android中动态调整选项菜单(Options Menu)内容

代码与范例:

说明:有的时候需要选项菜单(Options Menu)的内容根据情况调整,这时只要覆写onPrepareOptionsMenu方法即可。注意不要忘记清除菜单中的原有内容。

Android中各种类型对话框的使用

只有标题和文本内容简单对话框

代码与范例:

说明:生成一个只有标题与内容的简单对话框。

含有一个按钮的对话框

代码与范例:

说明:生成一个含有一个按钮的简单对话框,点击该按钮将关闭对话框。

含有两个按钮的对话框

代码与范例:

说明:生成一个含有两个按钮的简单对话框。

含有三个按钮的对话框

代码与范例:

说明:生成一个含有三个按钮的对话框。

含有一个单选列表的对话框

代码与范例:

说明:生成一个含有一个单选列表的对话框。

含有一个多选列表的对话框

代码与范例:

说明:生成一个含有一个多选列表的对话框。

含有Radio Button的对话框

代码与范例:

说明:生成一个含有Radio Button的对话框。

自定义对话框

代码与范例:

其中代码的第一行也可以用以下两种之一替换来展开布局:

直接通过代码生成布局也可以,虽然不是太推荐这种做法:

说明:生成一个含有自定义视图的对话框,其中用到了自定义的xml布局文件custom_dialog.xml。

综合对话框

代码与范例:

说明:综合使用上述几种对话框。

含有文本框的对话框

代码与范例:

说明:生成一个能够输入文本的对话框。

含有进度条的对话框

代码与范例:

说明:生成一个含有进度条的对话框。

含有正在运行标识的对话框

代码与范例:

说明:生成一个含有一个正在运行的循环旋转标识的简单对话框。

Android用日常事项管理软件 Routine 版本升级 1.3.1

昨天晚上对Routine进行了升级,主要内容是修正了一个在某些情况下可能被触发的崩溃性bug(格式转换错误),并添加了一个简单的过滤功能(全部条目、完成条目和为完成条目)。

其实那个bug前一阵就已经发现了,不过手头事情较多所以直到昨天才着手解决。另外似乎要和Google Tasks同步确实不太容易,所以这个想法就暂先放在一边,下次考虑加入循环和优先级功能等。最初设计数据结构的时候没想要做这些功能,只是想着能和Google Tasks同步就好而仅为每条项目提供了标题、内容、截止日期和是否完成四项信息,接下来就得对数据结构作改进了。

关于Routine的更多信息可以参见之前的日志

目前Routine可以在Android Market的效率类应用程序中找到,搜索Routine、ルーチン或者pub:BREEZE即可。

Android Market页面:

http://market.android.com/details?id=org.breezesoft.routine

Android中@Override错误的解决方法

在使用eclipse开发Android应用时可能会遇到@Override错误,对于@Override的annotation报错。这是由于JRE/JDK的版本问题所致。解决方法很简单,在eclipse的Windows菜单-Preference-Java-Complier中调整Complier compliance level即可。虽然Android是基于1.5设计的,不过由于eclipse的兼容问题,需要在这里修改为1.6才行。

对于已经导入至workspace的项目,可能还需要点击右上角的Configure Project Specifiec Settings对其进行修改才行。

完成了修改之后,之前编译器提示的@Override错误就会消失了。

Android中自定义物理按键BACK键的行为

代码与范例:

说明:在Activity中覆盖onBackPressed()方法即可自定义BACK键的行为。不过这一方法需要API Level 5+,也就是说实际上项目的Build Target至少需要是API Level 7的Android 2.1。在这里需要注意一个问题:即使在Manifest文件中定义了targetSdkVersion是7,如果项目属性中Build Target是,比如4的话,编译器也会对这一Override报错。

Android用日常事项管理软件 Routine 版本升级 1.2.1

对Routine进行了一下小幅的升级。除了细节修正之外,主要是增加了横屏模式的支持。

Routine是一款Android平台的GTD软件,写这个程序的初衷是为了弥补没有很适合自己用的Xperia X10的GTD工具的遗憾。程序的特色就是使用了索尼爱立信的UXP主题,能够和Xperia家族的机型保持界面风格上的统一。

在之前的版本中出于某些考虑并没有提供横屏模式的支持。如果没有提供与横屏模式相适应的界面布局,效果反而会不好。之后界面方面将会考虑添加对平板的优化。

和Google Tasks同步的想法可能要延后了,Google Tasks API对访问有着相当严格的限制,因此几乎无法实用化。还会再想想办法。不过更多的排序方式以及项目的循环是预定将在今后增加的。

关于Routine的更多信息可以参见之前的日志

目前Routine可以在Android Market的效率类应用程序中找到,搜索Routine、ルーチン或者pub:BREEZE即可。如果需要一款简单好用的GTD工具,不妨试试看Routine吧。

Android Market页面:

http://market.android.com/details?id=org.breezesoft.routine

索尼(SONY)公布三个全新的针对Sony Tablet优惠活动

首先需要注意的是,这些活动都只针对日版的Sony Tablet。至少国内行货是不可能享受了,因为国内行货根本就不支持PlayStation Store和Video Unlimited。

继之前的首发回扣(在限定时间内购买并注册Sony Tablet就能获得最高3000日元的回馈)和Tablet P的备用电池赠送(在限定时间内购买并注册Tablet P就能获得备用电池)之后,昨天索尼又公布了三个新的优惠活动。可见索尼对于Sony Tablet的推广力度之大。

第一个活动是【“Sony Tablet”×Video Unlimited “Sony Tablet”で映画を楽しもう!!】。参与活动的用户可以在Video Unlimited上免费租借6部电影(虽然都有点老了,比如国家宝藏、纳尼亚传奇等,不过对于之前没有看过的我来说也都是新电影~)并获得800日元的Video Unlimited抵用券(可以用来再租借一两部电影)。参与条件是已经注册或在限定时间内注册Sony Tablet的产品并点击参与活动。

第二个活动是【“Sony Tablet”でゲームを楽しもう!!】。参与活动的用户可以在PlayStation Store中免费下载三款游戏(虽然都是小游戏而已)。这个活动没有额外手续,只需要在活动期间登录Sony Tablet的PlayStation Store即可下载。

第三个活动是【「Sony Tablet 完全ガイドBOOK」プレゼントキャンペーン】。参与活动的前15000名用户将获得一本「Sony Tablet 完全ガイドBOOK」,于活动结束后寄至Sony Club会员资料的登记地址。其实对于这本书还是挺有兴趣的,里面包含了不少Sony Tablet开发者访谈之类的内容。想想办法能不能也参与这个活动。

这样一来,可以说购买了Sony Tablet之后能够获得总计数千日元的回扣。虽说那些服务类的回扣并不值那么多钱,不过确实可以体现出索尼对于Sony Tablet的重视。入手Tablet S也有一段时间了,感觉它和iPad2的差距更多的还是在系统的差异上,如果非要说当前各方面最优秀的平板电脑,不得不说还是iPad2,但是值得选择Sony Tablet的理由也是相当多的。国内行货的Tablet S其实是比较残念的,不过日版的Sony Tablet的表现却是很值得期待,或许索尼能实现它之前对于日本本土平板电脑市场的目标呢。

最近很明显的,索尼开始把精力集中到了Android系统之上。这是一次有些风险的赌注。加速Google TV的发展、开发了使用Android系统的Walkman、收购了索尼爱立信(Sony Ericsson)等,表明了索尼进一步融合旗下产品的决心。Android今后的发展前进是相当光明的,索尼借着Android或许能取得不错的成绩。但是Android也有其不确定性,存在着一定的风险。事实上最好的方法应该是索尼着手开发自有操作系统。PS3和PSP等采用的XMB操作系统都有着不错的评价,也许等待索尼的技术经验积累至某一程度后就会开始考虑这个问题了吧。

AppXplore——Android开发用的实用工具

索尼爱立信(Sony Ericsson)Develop World近日公布了其Android开发用的实用工具AppXplore的最新版(2.0.1)。

该软件适用于Android 2.1及以上版本,作用有:

  • 列出所有安装的应用程序及包
  • 搜索应用程序
  • 根据一系列条件对列表进行过滤
  • 显示任何应用程序的AndroidManifest.xml文件
  • 保存或通过邮件发送AndroidManifest.xml文件
  • 将AndroidManifest.xml文件的信息通过易读的形式展现

可以看到,在一些情况下,AppXplore可以发挥重要的作用。现在它在Android Market上可以免费下载

或者可以通过下面的二维码下载:

Android中获取设备Google日历(Google Calendar)信息

代码与范例:

说明:Android中内容提供器(ContentProvider)有着广泛的应用,Google账户同步的日历也将数据储存在相应的内容提供器中。这里是日历内容提供器的一个简单范例,可以获取日历的名称,并提供了一个添加日历项目的方法。

Android中常用权限列表

由于自己在做的项目的关系,把Android平台中权限的中文对应整理了一下。现发布于此以方便有需要的人。