Android 中基于 PendingIntent 与 AlarmManager 的定时广播

代码与范例:

说明:上述代码将创建并注册一个定时发出的广播,广播接收器 AlarmReceiver 将接收该广播。广播接收器需要事先在 Manifest 文件中注册,如下所示。

此外,如果要为 AlarmManager 设置间隔,需要注意的是,参数(单位为毫秒)大小有一定的限制,且 AlarmManager 无法在系统关机后保留。

Android 用屏幕色温调整应用 蓝色光波过滤器(BlueLight Filter)版本升级 1.7.4

近日,蓝色光波过滤器升级到了 1.7.4,提高了稳定性,修正了一些潜在的问题,并增强了不同设备的兼容性。

短短四个月,蓝色光波过滤器的下载量又番了一番,在各类应用商店的总下载量已经超过500万,其中一半以上是中文用户。

这,又是一个新的里程碑。

Thank you all for 5,000,000 downloads!

5million

 

以下是之前的介绍信息。可以点击这里下载安装包。

蓝色光波过滤器是自己和另一位开发者合作开发的应用。作用是调整 Android 智能手机、平板电脑的屏幕色温与亮度。

一开始以为只是一个很简单的想法,没想到大受欢迎,得到了很多用户的积极反馈。在初版发布后短短两三个月中,蓝色光波过滤器的下载量已经突破百万,并多次到达 Google Play 商店健康应用分类的首位。

蓝色光波过滤器在 Google Play 上的应用简介如下:

☆减轻蓝色光,保护视力!
通过应用程序减轻蓝色光,有效保护视力。

☆特征

▽零花费减轻蓝色光!
・无需花费分毫,即可减轻蓝色光。
・抑制屏幕发出的刺眼蓝光。
・无需另外购买价格高昂的过滤眼镜。
・免费应用就能实现过滤功能。

▽过滤蓝色光,自然舒适!
・本过滤器采用优化算法,过滤效果自然。
・具有褐色过滤模式,网页等细小文字也一目了然。
・不必降低屏幕亮度就能有效减轻蓝色光,屏幕内容更加清晰可见。
・强过滤模式还具有防屏幕侧视偷窥效果。
・多种过滤模式供选择,亮度也能自由调整。

▽操作简便!
・应用启动后仅需设定过滤量即可,不含复杂设定。
・能通过通知栏迅速调整过滤设置。
・安装后即可实现蓝色光过滤。

▽同时支持平板电脑与智能手机!
・同时支持三星Galaxy、索尼Xperia、HTC One等各类智能手机。
・对于Nexus 7、ASUS MeMO Pad等7寸平板电脑也能有效过滤蓝色光。
・还支持Nexus 10、Acer ICONIA等10寸平板电脑。

▽资源与电池消耗极低!
・没有多余后台操作,相比其他同类应用,耗电量极低。
・除了设定过滤选项时,不会进行任何操作,不影响其他应用流畅执行。
・仅对屏幕色温进行调整,几乎不会占用系统资源。

▽超人气免费工具!
・各大应用推荐站点强烈推荐的工具类应用。

热门应用推荐网站重灌狂人强势推荐,有效保护视力!
http://briian.com/15131/bluelightfilter.html

数码情报站点硬是要学:保护眼睛,低头族必备的滤蓝光护眼!

保護眼睛,低頭族必備的濾藍光護眼 App (Android)

人民网:不怕视力受损,安卓护眼技巧
http://tc.people.com.cn/BIG5/n/2013/1205/c183175-23756420.html

PCHome:夜晚使用手机好帮手,帮你过滤蓝色光
http://news.pchome.com.tw/science/app01/20131105/index-13835844012172269005.html

▽放心应用!
・仅使用必要的权限,完全不含恶意功能。

本应用将申请以下权限。

・其他应用的UI(为了在其他应用上方显示)
用于在屏幕上显示过滤层。

・应用信息(启动时运行)
用于在启动时显示过滤层。

・网络通信(完全网络访问)
免费版将会显示广告。

相关截图:

simple_chs_1simple_chs_2simple_chs_3

可以从这里跳转至 Google Play 页面进行下载。

也可以从这里下载应用程序的 apk 安装包文件。

对于 蓝色光波过滤器 有什么意见或建议也欢迎提出,我们将会不断改进。

Android 中为 TextView 的文本添加下划线

代码与范例:

说明:我们可以通过 SpannableString、TextView 的 setPaintFlags(),或者 Html.fromHtml() 这三种方式为 TextView 的文本添加下划线。继承于 TextView 的控件也支持这些操作。

Android 用屏幕色温调整应用 蓝色光波过滤器(BlueLight Filter)版本升级 1.6.7

近日,蓝色光波过滤器升级到了 1.6.5,新增了导航栏过滤以及其他一些细节问题修正。目前该应用的下载量已经超过250万,其中一半以上是中文用户,实在是一件令人高兴的事。

以下是之前的介绍信息。可以点击这里下载安装包。

蓝色光波过滤器是自己和另一位开发者合作开发的应用。作用是调整 Android 智能手机、平板电脑的屏幕色温与亮度。

一开始以为只是一个很简单的想法,没想到大受欢迎,得到了很多用户的积极反馈。在短短两三个月中,蓝色光波过滤器的下载量已经突破百万,并多次到达 Google Play 商店健康应用分类的首位。

蓝色光波过滤器在 Google Play 上的应用简介如下:

☆减轻蓝色光,保护视力!
通过应用程序减轻蓝色光,有效保护视力。

☆特征

▽零花费减轻蓝色光!
・无需花费分毫,即可减轻蓝色光。
・抑制屏幕发出的刺眼蓝光。
・无需另外购买价格高昂的过滤眼镜。
・免费应用就能实现过滤功能。

▽过滤蓝色光,自然舒适!
・本过滤器采用优化算法,过滤效果自然。
・具有褐色过滤模式,网页等细小文字也一目了然。
・不必降低屏幕亮度就能有效减轻蓝色光,屏幕内容更加清晰可见。
・强过滤模式还具有防屏幕侧视偷窥效果。
・多种过滤模式供选择,亮度也能自由调整。

▽操作简便!
・应用启动后仅需设定过滤量即可,不含复杂设定。
・能通过通知栏迅速调整过滤设置。
・安装后即可实现蓝色光过滤。

▽同时支持平板电脑与智能手机!
・同时支持三星Galaxy、索尼Xperia、HTC One等各类智能手机。
・对于Nexus 7、ASUS MeMO Pad等7寸平板电脑也能有效过滤蓝色光。
・还支持Nexus 10、Acer ICONIA等10寸平板电脑。

▽资源与电池消耗极低!
・没有多余后台操作,相比其他同类应用,耗电量极低。
・除了设定过滤选项时,不会进行任何操作,不影响其他应用流畅执行。
・仅对屏幕色温进行调整,几乎不会占用系统资源。

▽超人气免费工具!
・各大应用推荐站点强烈推荐的工具类应用。

热门应用推荐网站重灌狂人强势推荐,有效保护视力!
http://briian.com/15131/bluelightfilter.html

数码情报站点硬是要学:保护眼睛,低头族必备的滤蓝光护眼!

保護眼睛,低頭族必備的濾藍光護眼 App (Android)

人民网:不怕视力受损,安卓护眼技巧
http://tc.people.com.cn/BIG5/n/2013/1205/c183175-23756420.html

PCHome:夜晚使用手机好帮手,帮你过滤蓝色光
http://news.pchome.com.tw/science/app01/20131105/index-13835844012172269005.html

▽放心应用!
・仅使用必要的权限,完全不含恶意功能。

本应用将申请以下权限。

・其他应用的UI(为了在其他应用上方显示)
用于在屏幕上显示过滤层。

・应用信息(启动时运行)
用于在启动时显示过滤层。

・网络通信(完全网络访问)
免费版将会显示广告。

相关截图:

simple_chs_1simple_chs_2simple_chs_3

可以从这里跳转至 Google Play 页面进行下载。

也可以从这里下载应用程序的 apk 安装包文件。

对于 蓝色光波过滤器 有什么意见或建议也欢迎提出,我们将会不断改进。

Android 用屏幕色温调整应用 蓝色光波过滤器(BlueLight Filter)

蓝色光波过滤器是自己和另一位开发者合作开发的应用。作用是调整 Android 智能手机、平板电脑的屏幕色温与亮度。

一开始以为只是一个很简单的想法,没想到大受欢迎,得到了很多用户的积极反馈。在短短两三个月中,蓝色光波过滤器的下载量已经突破百万,并多次到达 Google Play 商店健康应用分类的首位。

蓝色光波过滤器在 Google Play 上的应用简介如下:

☆减轻蓝色光,保护视力!
通过应用程序减轻蓝色光,有效保护视力。

☆特征

▽零花费减轻蓝色光!
・无需花费分毫,即可减轻蓝色光。
・抑制屏幕发出的刺眼蓝光。
・无需另外购买价格高昂的过滤眼镜。
・免费应用就能实现过滤功能。

▽过滤蓝色光,自然舒适!
・本过滤器采用优化算法,过滤效果自然。
・具有褐色过滤模式,网页等细小文字也一目了然。
・不必降低屏幕亮度就能有效减轻蓝色光,屏幕内容更加清晰可见。
・强过滤模式还具有防屏幕侧视偷窥效果。
・多种过滤模式供选择,亮度也能自由调整。

▽操作简便!
・应用启动后仅需设定过滤量即可,不含复杂设定。
・能通过通知栏迅速调整过滤设置。
・安装后即可实现蓝色光过滤。

▽同时支持平板电脑与智能手机!
・同时支持三星Galaxy、索尼Xperia、HTC One等各类智能手机。
・对于Nexus 7、ASUS MeMO Pad等7寸平板电脑也能有效过滤蓝色光。
・还支持Nexus 10、Acer ICONIA等10寸平板电脑。

▽资源与电池消耗极低!
・没有多余后台操作,相比其他同类应用,耗电量极低。
・除了设定过滤选项时,不会进行任何操作,不影响其他应用流畅执行。
・仅对屏幕色温进行调整,几乎不会占用系统资源。

▽超人气免费工具!
・各大应用推荐站点强烈推荐的工具类应用。

热门应用推荐网站重灌狂人强势推荐,有效保护视力!
http://briian.com/15131/bluelightfilter.html

数码情报站点硬是要学:保护眼睛,低头族必备的滤蓝光护眼!

保護眼睛,低頭族必備的濾藍光護眼 App (Android)

人民网:不怕视力受损,安卓护眼技巧
http://tc.people.com.cn/BIG5/n/2013/1205/c183175-23756420.html

PCHome:夜晚使用手机好帮手,帮你过滤蓝色光
http://news.pchome.com.tw/science/app01/20131105/index-13835844012172269005.html

▽放心应用!
・仅使用必要的权限,完全不含恶意功能。

本应用将申请以下权限。

・其他应用的UI(为了在其他应用上方显示)
用于在屏幕上显示过滤层。

・应用信息(启动时运行)
用于在启动时显示过滤层。

・网络通信(完全网络访问)
免费版将会显示广告。

相关截图:

simple_chs_1 simple_chs_2 simple_chs_3

可以从这里跳转至 Google Play 页面进行下载。

也可以从这里下载应用程序的 apk 安装包文件。

对于 蓝色光波过滤器 有什么意见或建议也欢迎提出,我们将会不断改进。

Java 中将数字转换为带零字符串的方法

代码与范例:

说明:JDK1.5 以后开始支持该方法。可以将数字转换为指定格式的字符串,并在数字前补零至足够位数。其中,百分号后为字符串长度。

Android 中使用 ProgressDialog 显示进度对话框

代码与范例:

说明:通过进度对话框,可以提示用户应用当前正在执行处理,减少用户因 UI 长时间阻塞而产生的烦躁感。此外,ProgressDialog 类还支持 setSecondaryProgress(),以及继承自 Dialog 类的 setCancelable() 和 AlertDialog 类的 setButton() 等方法。

Android 中获取设备数据网络状态

代码与范例:

说明:通过 isConnected 与 isWiFi 可以判断设备当前是否建立数据通信连接,及连接类型是否为 WiFi。

漫谈 Android 产品的系统升级问题——从 Xperia S 漫长的 Jelly Bean 等待说起

今天索尼移动(Sony Mobile)的官方博客发表了 Xperia P、 Xperia go 与 Xperia E dual 的 Android 4.1 系统升级通知。这三台2012年的中低端机型将在近日得到 Android Jelly Bean(4.1.2)这一次新版本的系统升级。而 Xperia S、Xperia SL、Xperia ion 以及 Xperia acro S 这四台2012年上半年的旗舰,则需要等到5月底才能得到升级——这距离 Google Android 团队发布4.1版本已经过去了11个月。

于是,评论中清一色的骂声。决定抛弃索尼甚至将会阻止朋友购买索尼的手机的声音不绝于耳。虽然网络不免有放大某种声音的倾向,但不可否认的是,索尼这次做得很糟。

很容易就能明白,索尼在对2012年上半年旗舰的处理上,出了一些问题。2012年下半年机型的 Xperia TX、Xperia V 等旗舰及时地得到了 Android 4.1 的升级,之后的很多机型更是在出厂时就预装了 Jelly Bean。甚至2012年上半年的中低端机型也更早地得到了升级。这只能是决策失误。

尽管名义上,Xperia S 是索尼移动的第一款手机,但众所周知,其实它是索尼爱立信的最后一部手机。在系统信息、照片的 Exif 信息,以及日版 Xperia S(Xperia NX)的正面 Logo 中,都能很清楚地了解到这一事实。

于是可以展开的合理想象之一是:在索尼收购了索尼爱立信之后,一些环节出了问题。缺少人手为这些索尼爱立信最后的遗产提供支持。新的领导层将资源都调至了之后那些纯正索尼血统的设备上。他们或许是期望那些新机型能够获得消费者的支持——这是能够被理解的,那些型号将会有更高的总销量,对 Xperia 的品牌形象有着重要的意义,但与此同时,索尼付出了代价。购买了 Xperia S 的人中,有很大一部分是对索尼抱有好感的,为了这第一部标有 SONY 字样的索尼爱立信的手机。另一个方面来说,作为去年的旗舰,花了高价购买的人无疑是品牌重要的消费者。确保这些人对品牌的忠诚度是极为重要的。不是 Geek,不理解这些消费者想法的决策者,恐怕想不明白其中的问题所在吧。从短期的数字上来看,或许这不是一个太坏的决定,但却会实实在在地伤害了一部分支持者的感情。

三星等其他一些厂商早就学会了通过及时的系统升级来取悦消费者。索尼却没有学会,至少没有学好。索尼对2011年机型的升级是令人满意的,大部分都得到了 Android 4.0 的升级。而2012年所采取的机海战术又使情况退回了2010年。资源不足导致索尼只能优先考虑一部分机型——却又错误地选择了放弃了2012年上半年的旗舰。或许索尼决定在今后以中高端机型为主也是出于这一考虑,但消费者恐怕没有耐心等待索尼一次次的试错。

在 Android 的时代,及时的系统更新对于厂商的意义是很重大的。不理解这一点是不行的。

在诺基亚(Nokia)主导的塞班时代,没有这一问题。消费者根本也就不在乎系统升级。而苹果(Apple)能够完全掌控自己的软硬件,也就不存在升级延迟的问题了。但 Android 是不同的。Android 的系统升级是由 Google 控制的。厂商需要做的,是跟进。于是,对产品进行系统升级的速度也成了衡量产品好坏的标准之一——大多数的人总是倾向于新的东西,即使他们并没有考虑更多。

当然,通常情况下,新版本的软件确实会包含错误的修正、性能的提高,以及功能的增强。用户希望自己的设备随时保持最新——就像苹果所提供的那样——是无可厚非的,是必须正视的问题。于是,这就转为了一个简单的平衡问题。对旧产品的支持意味着额外的成本,但不提供支持则意味着失去一部分消费者的支持。固然有完全不知系统升级为何物的消费者,而且数量与比重不会太小,但那些在乎升级的人却往往是可以影响品牌形象的消费者。如何在两者之间权衡,固然不是一个简单的问题。

这个时候至少应该注意的是,不能将注意力限于眼前的利益。最终的决策或许需要实际的数据与调查来支持(虽然从自己所了解的一些情况来看,那些咨询公司等所能给出的材料并不总是那么有价值的),但绝不应该忽视这一问题所可能带来的影响。

索尼移动并不是一家新成立的公司,现在它试错的次数显然是有些过多了。当初 Xperia X10 的教训似乎是没有让管理层意识到问题的严重性。其实,索尼自身也存在着这样的问题,在其平板产品中。“索尼的弱点在于软件”在这些方面得到了充分的体现。

自己对于索尼这样的做法,是持质疑态度的。业绩不佳时更不能一味地考虑节流,只有尽全力开源才是正道。如果软件是短板,就应该招贤纳士,想办法提高自己产品的软件水平——它们明明在那些充满创造力的工程师的努力下,取得了一个个世界最薄·最小·最轻量的荣誉。如果因为软件问题而无法为消费者称赞,实在是一件可惜的事。

索尼中国在去年秋季的校园招聘中,对于软件开发类的职位仅仅是走了一个形式,而没有实际进行招聘。甚至校招的笔试题都是水准极低的敷衍——竟然为 C++ 职位准备了由几道没有什么实际意义的 Android 问题组成的笔试试卷。难怪不少人会当场气愤地离场。

问题出在哪里了呢?

Android 中菜单(Menu)键以及 ActionBar 相关问题

Android 进入 4.0 (ICS)版本之后,虚拟按键渐渐得到了推广。同时,传统的物理菜单键逐渐被淘汰。尤其是对于平板设备,自从 Android 3.0 版本起就不再支持实体菜单键,菜单被收纳至顶部 ActionBar 之中。这一改变事实上引起了不少版本兼容性问题。

从 Android 3.0 (Honeycomb)起,程序不得不同时考虑具备传统菜单键和不具备传统菜单键的设备。这种情况下,可以通过 Action Bar 或者 OverflowButton 实现菜单功能。

在 Android 3.0 以上的设备上运行以 Android 2.3(GingerBread)或更早版本为目标版本(Target Version)的程序时,将会自动添加 LegacyOverflowButton。这是一个显示在应用切换键图标右侧的虚拟按键,功能和物理菜单键相同。如果程序的目标版本高于 Android 2.3,则不会显示该虚拟菜单键。

不过也有一个例外。在同时满足以下条件时,上述的 LegacyOverflowButton 仍然会被显示:系统版本为 Android 4.0 或更新,且设备类型为智能手机而非平板电脑;程序的 minSdkVersion 小于 10(即 Android 2.3 或更早), targetSdkVersion 为 11~13,不使用 ActionBar。

总结来说:

  • 目标版本为 Android 3.0 或更新的程序需要通过 ActionBar 提供菜单功能。但是如果具备实体菜单键,也可以调用传统的菜单(OptionMenu)。
  • 目标版本为 Android 2.3 或更早的程序通过 legacyOverflowButton 在新版系统上提供菜单功能。
  • 目标版本为 Android 3.0~3.2,minSdkVersion 小于 10(即 Android 2.3 或更早),不使用 ActionBar 的程序,在系统版本为 Android 4.0 或更新的智能手机中通过 legacyOverflowButton 在新版系统上提供菜单功能。
  • 目标版本为 Android 3.0~3.2,minSdkVersion 小于 10(即 Android 2.3 或更早),不使用 ActionBar 的程序,在系统版本为 Android 3.x 的平板电脑上无法使用菜单功能
  • 目标版本为 Android 4.0 或更新,不使用 ActionBar 的程序,在没有物理菜单键的设备上无法使用菜单功能

如要要使目标版本为 Android 2.3 或更早的程序也能使用 ActionBar,可以采用以下的方法:

res/values/styles.xml

<resources>
<style name=”AppTheme” parent=”android:Theme.Light” />
</resources>

res/values-v11/styles.xml

<resources>
<style name=”AppTheme” parent=”android:Theme.Holo.Light” />
</resources>

AndroidManifest.xml

<application
android:icon=”@drawable/ic_launcher”
android:label=”@string/app_name”
android:theme=”@style/AppTheme” >