EN

Android Performance

闻道有先后,术业有专攻,如是而已

loading
Android 小技巧 -2

本文是一篇译文,这篇是这个系列的第二篇.讲述的是Android开发中遇到的一些好用的小技巧,或者一些实用的API,很多人都知道,但也有人不知道,记录下来,如果能帮助到大家,也是极好的.由于不是严格的博文,所以翻译也不那么严格,有些工具和类我也会经常用,所以我会根据自己的想法去写.有些地方坐在并没有将这个工具的作用讲出来,我会补充上去.

第二篇里挑出来的 API 大多是工具级别的:DateUtils.formatDateTime 直接帮你按系统区域格式化日期、Formatter.formatFileSize 处理文件大小的本地化显示、AlarmManager.setInexactRepeating 用粗略间隔合并闹钟事件来省电;UI 侧有 StaticLayout 自己控制文字测量、ViewStub 延迟 inflate、GestureDetector 拼装常见手势;还有 Linkify 自动识别文本里的链接、ActivityManager.getMemoryClass 判断当前进程内存上限、Pair.create 这种小到容易忘的工具。

Android 小技巧 - 1

本文是一篇译文,这篇是这个系列的第一篇.讲述的是Android开发中遇到的一些好用的小技巧,或者一些实用的API,很多人都知道,但也有人不知道,记录下来,如果能帮助到大家,也是极好的.由于不是严格的博文,所以翻译也不那么严格,有些工具和类我也会经常用,所以我会根据自己的想法去写.有些地方坐在并没有将这个工具的作用讲出来,我会补充上去.

第一篇里挑出来的都是 SDK 里早就存在但容易被忽略的小工具:批量启动 Activity 的 startActivities、统一手势识别阈值的 ViewConfiguration、写 Adapter 几乎一定用得到的 LayoutInflater.from,还有 SpaceContextThemeWrapperArgbEvaluator 这种很少被介绍但用上一次就忘不掉的类。下面正文按 API 逐条列出,每条都带官方文档链接和简短的使用建议。

Android Tools - Log2File
Log2File工具类是用于Android程序将Log记录到文件中(如sd卡)的工具,应用场景:
  1. 无法连接电脑进行调试(usb线被usbotg占用)
  2. Log不容易被抓取
  3. Bug出现很随机,不是必出现
  4. 其他自己脑补

0.说明

这篇文章最早是在我的CSDN博客上面发布了:http://blog.csdn.net/grackergao/article/details/18322749 .现在讲他转移到了这里,代码的Github地址 :https://github.com/Gracker/Android-Utils/blob/master/Log2File.java

Android Service:开发自己的通知中心(2):辅助性服务实战

1.辅助性服务实战介绍

上一篇文章介绍了什么是Accessibility以及简单的使用,这一篇文章就来讲讲如何使用Accessibility服务来创建一个简单的Android通知中心。Android中通知中心是一个系统层面的服务,负责显示应用和系统发来的通知(Notification,比如USB插入、选择输入法、未接来电、截图、天气信息、新闻推送等等)。在android4.3之前,一般的第三方应用是无法获取Notification list的(在Android4.3之后,有了一个新的接口,NotificationListenerService.getActiveNotifications(),可以获取当前的Notification)。但是利用Accessibility服务可以监听到各种事件的特性,可以开发一个第三方的通知中心,实现与系统通知栏类似的功能。

Android:Ubuntu 下执行 Adb 命令找不到设备

1.问题概述

最近开发Nokia项目,遇到的问题如下:

插入Nokia x后,电脑没有反应,即不识别,同事的windows也不识别,最后在谷歌上搜索了良久,才找到了解决方案,但是没有记录,后来又要给别人配置的时候,发现忘记怎么配置了。想想这也是一个具有通性的问题,还是记录下来,分享给大家。

2.问题解决方案

首先问题是:执行adb命令提示找不到设备,在做其他操作之前,请先确认已经做了如下操作:

  1. 确定已经打开了USB调试选项(设置-开发者选项-USB调试),有的机器没有开发者选项,需要到关于里面点击版本号若干下,或者去百度谷歌。
  2. 确定使用sudo命令adb kill-server 和adb start-server后仍然没有用。
    如果上述操作都确认了,还是找不到设备,那么继续往下看:
Android Service:开发自己的通知中心(1):辅助性服务介绍

1 辅助性服务介绍

辅助性服务是安卓框架的一个特性,它的设计是为了让已经安装在安卓设备上的应用程序能够为用户提供一种导航式(引导式)回应。一个辅助性服务能够传达给
用户关于这个应用程序的利益,例如把文本转换成语音、当用户手指停留屏幕的一个重要区域时的haptic反馈。这一节涵盖了怎样去创建一个辅助性服务,如何处理应用程序的信息接收,还有如何把信息反馈给用户。
创建自己的辅助性服务

本文先把辅助性服务的设计目标和能力边界讲清楚,包括它能拿到的事件类型、能反馈给用户的渠道,以及它和普通 Service、IntentService 的区别。后半部分会动手写一个最小可用的辅助性服务,覆盖继承 AccessibilityService、在 manifest 里声明、配置 service 元数据,以及响应 AccessibilityEvent 这四步,按顺序走一遍就能跑起来。