
Android学习
007与狼共舞
这个作者很懒,什么都没留下…
展开
-
Android 功耗相关文章汇总
https://www.jianshu.com/p/89ecd6e99359https://blog.youkuaiyun.com/zhangbijun1230/article/details/80164607https://blog.youkuaiyun.com/francisbingo/article/details/79414174https://blog.youkuaiyun.com/eliot_shao/articl...原创 2019-08-21 23:02:41 · 333 阅读 · 0 评论 -
Android中为什么主线程不会因为Looper.loop()里的死循环卡死?
作者:Gityuan链接:https://www.zhihu.com/question/34652589/answer/90344494来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要完全彻底理解这个问题,需要准备以下4方面的知识:Process/Thread,Android Binder IPC,Handler/Looper/Messag...转载 2019-08-18 15:39:34 · 749 阅读 · 1 评论 -
Android 9 功能和 API
Android 9(API 级别 28)为用户和开发者引入了众多新特性和新功能。 本文重点介绍面向开发者的新功能。要了解新 API,请阅读 API 差异报告或访问 Android API 参考。 请务必查阅 Android 9 行为变更以了解平台变更可能对应用产生影响的各个方面。利用 Wi-Fi RTT 进行室内定位全新 RTT API 支持在应用中进行室内定位。Android 9 添加了...翻译 2019-04-01 09:21:22 · 597 阅读 · 0 评论 -
Android.bp文件来认识一下
SoongSoong is the replacement for the old Android make-based build system. Itreplaces Android.mk files with Android.bp files, which are JSON-like simpledeclarative descriptions of modules to build...翻译 2018-12-08 18:59:29 · 8280 阅读 · 1 评论 -
Android连接可用WIFI后显示“Connected, no Internet”原因以及解决方案
Android设备,连接可用的WiFi,提示“Connected, no Internet”怎么回事呢?(这个时候其实是可以上网的)产生上面描述的这种现象是因为这个“Captive Portal”导致的。Captive Portal 介绍“Captive Portal “中文通常译作“强制主页”或“强制登录门户”。是一个登录Web页面,通常由网络运营商或网关在用户能够正常访问互联网...原创 2018-06-01 16:02:10 · 25615 阅读 · 0 评论 -
Android 开机时间分析工具-----perfboot
Android系统自带了一个非常好用的工具:perfboot.py android/system/core/init/perfboot.py 这个工具是用来干什么的呢?通过名字就能看出来个大概。boot的performance。 看看该文件的一个说明: This script repeats the record of each event log during Android boot ...原创 2018-05-30 20:05:08 · 4888 阅读 · 1 评论 -
Android 设备上的键盘操作
本文简要汇总了 Android 设备上的键盘操作。1.EventHub 从 evdev 驱动程序中读取原始事件,并使用键盘的按键布局映射将 Linux 按键代码(有时也称扫描代码)映射到 Android 按键代码中。2.InputReader 将消费原始事件,并更新 Meta 键状态。例如,如果您按下或释放左 Shift 键,则读取器会相应地设置或重置 META_SHIFT_LEFT_ON...原创 2018-03-16 13:56:38 · 1113 阅读 · 0 评论 -
Android getevent 工具
getevent 工具可在设备上运行,并可提供关于输入设备和内核输入事件的实时转储的信息。此工具非常实用,可确保设备驱动程序报告各个输入设备的一系列预期功能并生成输入事件的所需信息流。显示设备功能使用带有 adb 命令的 -p 选项来查看设备报告的所有键和轴。adb shellsugetevent -p以下示例是我的华为手机列出了特定键盘所支持的 Linux 键码和其他...原创 2018-03-15 15:46:53 · 2395 阅读 · 0 评论 -
android ART编译预优化
编译预优化 DEX文件编译比较花费时间。这在OTA或者工厂首次烧入程序后非常明显。可以在BoardConfig.mk文件中使能编译预优化,在编译时将会为APK/jar做Dex优化(dex2oat):WITH_DEXPREOPT := true 如果完全的编译预优化,则system.img的大小将会增加500MB。由于ASLR特性,预优化的DEX文件将被转化并拷贝到data分区,...转载 2018-03-08 16:41:53 · 810 阅读 · 0 评论 -
Android应用执行adb命令获取一些需要的信息
废话不多说,直接上代码:private void getInfo() { BufferedReader reader = null; String content = ""; try { Process process = Runtime.getRuntime().exec("getprop ro.build.fingerprint");原创 2018-01-29 16:53:48 · 8980 阅读 · 1 评论 -
Fragment XXXXXX{xxxxxxxxx} not attached to Activity
Monkey跑出如下异常。导致Settings Crash E AndroidRuntime: at android.app.Fragment.getResources(Fragment.java:814) E AndroidRuntime: at android.app.Fragment.getText(Fragment.java:826) E AndroidRuntime: at co原创 2017-12-15 16:14:20 · 7231 阅读 · 0 评论 -
Android Monkey参数说明
最近在看Monkey的跑出的问题,根据测试给的Monkey命令,有些不太明白,在网上查找了一些。这里进行备忘一下。 Category Option DescriptionGeneral--help打印简单的使用指南。.-v命令行上的每个-v都会增加详细级别。除了启动通知,测试完成和最终结果之外,级别0(缺省值)仅提供很少的信息。级别1提供了有关测试运行时的更多详细信息,例如将单个事件原创 2017-12-12 15:11:57 · 594 阅读 · 0 评论 -
Android获取电池充电状态的方式
废话不多说,直接进入正题。我需要知道当前设备是否在充电,如何实现?1、注册电池更改广播ACTION_BATTERY_CHANGED接收器。实现代码如下: IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BATTERY_CHANGED); context.re原创 2017-10-19 16:12:50 · 8243 阅读 · 0 评论 -
Android获取屏幕状态的方式
在这里记录Android获取当前屏幕状态的方式。一、通过Display类中的getState方法获得,代码如下WindowManager windowManager = (WindowManager) mContext.getSystemService(WINDOW_SERVICE);Display display = windowManager.getDefaultDisplay();原创 2017-09-19 19:07:23 · 4159 阅读 · 1 评论 -
2017上半年技术文章集合【Android】—184篇文章分类汇总
地址:mp.weixin.qq.com/声明 | 本文是于亚豪 原创 终端研发部前言: 2017年已经过大半,公众号里技术文章整理和归类了一下,方便给大家查找和阅读。这也是目前 发文的一个统计。 View篇: 高级UI特效之酷炫抢红包金币下落动画 一个超级方面的用户指引view—App实现用户指引就是如此简单 让View像粒子一样自由运动 手把手教你实现RecyclerView实现上拉刷转载 2017-09-14 17:26:03 · 446 阅读 · 0 评论 -
Android系统权限说明
我只是Google的搬运工………. 有需要了解Android系统权限的,看这个就足够了。 内容来自:https://developer.android.google.cn/training/permissions/requesting.html?hl=zh-cn https://developer.android.google.cn/guide/topics/security/permissi翻译 2017-09-12 21:03:41 · 2170 阅读 · 0 评论 -
使用Android Studio导入Android源码
第一步: 基础准备工作首先你得安装配置了Android Studio,具体不明白的参考《Android Studio入门到精通 》。接着你得下载好了源码Code,至于如何下载这里不再说明,比较简单,上官网查看就行了。其次你需要保证源码已经被编译生成了out相关目录文件。好了,如上就是一些基本准备工作,针对定制源码或者原生源码来说,这些准备步骤都是必须的,没必要再强调了。第二步...转载 2017-09-04 19:43:56 · 1627 阅读 · 0 评论 -
Android:java.lang.SecurityException: Not allowed to change Do Not Disturb state
在开发过程中,需要在某个时间段将手机设为静音状态,于是乎,直接写出如下代码:if(在某个时间范围内){ setSystemSlient();} private void setSystemSlient() { mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); }运行程序,就会出现标题原创 2017-08-25 16:09:19 · 9001 阅读 · 0 评论 -
Android Notification学习--发出Notification
最近工作大部分在围绕通知这一块,那么就把通知好好学习一下。在Android中可以发出通知提醒用户一些信息,或者应用可以通过通知推送一些信息。下面是一个很简单的通知。 private void makeNotification() { notificationManager = (NotificationManager) getSystemService(NOTIFICATION原创 2017-08-25 15:36:38 · 391 阅读 · 0 评论 -
android 电池与电量
这篇文章主要记录在开发过程中,遇到关于电池相关知识的记录。1.判断当前手机状态(充电?AC充电?USB充电?)//判断手机是否在充电 private boolean isCharging() { IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent原创 2017-08-25 14:17:57 · 2562 阅读 · 0 评论 -
Android Activity启动模式学习
我们知道,Android为Activity的启动设定了四种启动模式,分别为: Stardand,SingleTop,SingleInstance和SingleTask.下面我们分别进行分析 1.Stardand : 每次创建一个新的Activity实例 通过如下命令获取stack的状态: adb shell dumpsys activity activities 会打印出很多信息,我们只原创 2017-06-29 15:56:56 · 428 阅读 · 0 评论 -
Android O 之行为变更
Android O 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更。其中大部分变更会影响所有应用,而不论应用针对的是何种版本的 Android。不过,有几项变更仅影响针对 Android O 的应用。为清楚起见,本页面分为两个部分:针对所有 API 级别的应用和针对 Android O 的应用。针对所有 API 级别的应原创 2017-06-26 09:09:42 · 762 阅读 · 0 评论 -
Android L集成新特性之恢复出厂设置保护之如何实现,类似苹果ID的远程控制功能
在Android 5.0 以后以后的设备默认开启恢复出厂设置保护功能,主要是为了减少用户在丢失手机的带来的损失,比如手机上的一些照片和其他一些重要资料被偷盗者非法利用。此功能可以让用户可以通过谷歌账号登陆Google Play Service远程重置手机或者更改屏幕解锁密码或者锁定屏幕。 这个和苹果设备的苹果ID是一样的,不同的是苹果设备是强制要求有苹果ID的,而Android设备不是强制的,你转载 2017-05-26 13:57:57 · 1153 阅读 · 0 评论 -
Android O 功能和 API
Android O 为用户和开发者引入多种新功能。本文重点介绍面向开发者的新功能。请务必查阅 Android O 行为变更以了解平台变更可能影响您的应用的领域。通知在 Android O 中,我们已重新设计通知,以便为管理通知行为和设置提供更轻松和更统一的方式。这些变更包括:通知渠道:Android O 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道。用户界面将通知渠道称之为通原创 2017-05-17 14:13:47 · 988 阅读 · 0 评论 -
java.lang.IllegalStateException: ScrollView can host only one direct child
主要是ScrollView内部只能有一个子元素,即不能并列两个子元素,所以需要把所有的子元素放到一个LinearLayout内部或RelativeLayout等其他布局方式。转载 2017-05-17 11:13:22 · 756 阅读 · 0 评论 -
Android TextView文字过多时通过滚动条显示多余内容并实时显示最下面那行
Android TextView文字过多时通过滚动条显示多余内容并实时显示最下面那行目前有两种实现方法 一.在TextView外面套一层ScrollView <ScrollView android:layout_width="match_parent" android:layout_height="content"> <TextView原创 2017-04-07 17:06:02 · 5251 阅读 · 1 评论 -
彻底搞定Android开发中软键盘的常见问题
软键盘显示的原理 软件盘的本质是什么?软键盘其实是一个Dialog。 InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或者全屏显示。软键盘显示的调整转载 2017-03-31 13:58:50 · 620 阅读 · 0 评论 -
android cts测试方法及步骤
7.0的cts测试命令 run cts –mCtsAppTestCases –tAndroid.app.cts.ActionBarTest#testAddTab –skip-preconditions1.CTS下载 打开下面网址, http://source.android.com/compatibility/downloads.html以android5.0为例,进入页面后,点击Andro转载 2017-03-29 15:23:20 · 1665 阅读 · 0 评论 -
Android线性布局的divider属性
Android线性布局的divider属性就是将控件之间隔开。废话不多说,直接看结果android:divider="@drawable/xxxxxx"<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too原创 2017-03-25 14:32:12 · 3523 阅读 · 0 评论 -
IT自学干货
看到很多道友对IT很感兴趣,但是又不知道怎么入门,这里有很多资源给大家选择,希望能对你有帮助.这是一些学习资源,里面有Android的,iOS的,PHP的,大数据的,Java的,web前端的,C++,Python的….有的来源地址是在一个公众号的群.感谢群主的分享.有的是我以前收集的.在此我也分享给大家.如果大家有好的资源,非常欢迎在此分享.androidhttp://pan.baidu.com/s转载 2017-03-25 11:35:51 · 4180 阅读 · 0 评论 -
View的事件分发机制总结
事件的传递规则:对于一个根ViewGroup来说,点击事件产生后,首先会传递给它,这时它的dispatchTouchEvent就会被调用,如果这个ViewGroup的onInterceptTouchEvent方法返回true就表示它要拦截当前事件,接着事件就会交给这个ViewGroup处理,即它的onTouchEvent方法就会被调用:如果这个ViewGroup的onInterceptTouchEv转载 2017-02-19 17:48:24 · 565 阅读 · 0 评论 -
android查看kernel log
有时候手机出了问题,只看上层的log是没办法确认问题的根源的,那么就需要查看kernel层的log查看kernel层的log使用如下方法:一、 1. adb shell 进入到手机 2. shell@hwCHM-H:/ $ cat proc/kmsg二、 1. adb shell 进入到手机 2. shell@hwCHM-H:/ $ dmesg原创 2017-02-05 18:15:42 · 22595 阅读 · 0 评论 -
VectorDrawable 详解
原文地址:http://www.tuicool.com/articles/mMFjmubAndroid 5.0系统中引入了 VectorDrawable 来支持矢量图(SVG),同时还引入了 AnimatedVectorDrawable 来支持矢量图动画。: SVG 和 VectorDrawable 的基本知识 VectorDrawable 并没有支持所有的 SVG 规范,目前只支持 PathDa转载 2017-01-13 10:23:05 · 3499 阅读 · 1 评论 -
Android控件属性大全
Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料,第一类:属性值为true或false android:layout_centerHrizontal 水平居中 (Hrizontal表示水平) android:layout_centerVertical 垂直居中 (Vertiacl表示垂直) android:layout_centerInp转载 2017-01-13 10:15:20 · 1234 阅读 · 0 评论 -
make 命令参数
在编译Android代码的时候,我们经常使用make命令,使用较多的是后面加上 -j 参数,开启多线程的编译,其实make还有很多参数的,使用make –help能够得到如下的信息。 用法:make [选项] [目标] ...选项: -b, -m 忽略兼容性。 -B, --always-make 无条件 make 所有目标。原创 2017-01-11 16:26:02 · 27842 阅读 · 0 评论 -
谷歌开发者中文站上线,官方技术文档可以顺利查看
Google Developers 中国站是特别为中国开发者而建立的,汇集了Google为全球开发者所提供的开发技术资源,包括API文档、开发案例、技术培训的视频等。下面就是地址:以后不用FQ了.https://developer.android.google.cn/index.html原创 2016-12-08 12:53:13 · 1361 阅读 · 0 评论 -
Android N 之 Java 8 语言功能
我只是Google的搬运工……Android N 支持 Java 8 语言功能,您可以在开发面向 Android N 的应用时使用这些功能。本页面介绍了 Android N Preview 中支持的新语言功能、如何正确设置项目以使用这些功能,以及您可能遇到的任何已知问题。要开始使用这些功能,您需要下载并设置 Android Studio 2.1 和 Android N Preview SDK,包括所原创 2016-11-14 13:18:46 · 476 阅读 · 0 评论 -
Android N 之 重要的开发者功能
多窗口支持 通知 JIT/AOT 编译 快速的应用安装路径 随时随地低电耗模式 后台优化 Data Saver Vulkan API Quick Settings Tile API 号码屏蔽 来电过滤 区域设置和语言 新增的表情符号 Android 中的 ICU4J API OpenGL ES 3.2 API Android TV 录制 Android for Wor原创 2016-11-14 13:07:33 · 676 阅读 · 0 评论 -
Android7.0 之 直接启动
搬运工......当设备已开机但用户尚未解锁设备时,Android N 将在安全的“直接启动”模式下运行。 为支持此操作,系统为数据提供两个存储位置:凭据加密存储,这是默认存储位置,仅在用户解锁设备后可用。设备加密存储,该存储位置在“直接启动”模式下和用户解锁设备后均可使用。默认情况下,应用不会在“直接启动”模式下运行。如果您的应用需要在“直接启动”模式下进行操作,您可原创 2016-11-11 18:19:40 · 13035 阅读 · 0 评论 -
Android7.0 之 行为变更
我只是Google的搬运工......行为变更本文内容性能提升低电耗模式后台优化权限更改应用间共享文件无障碍改进屏幕缩放设置向导中的视觉设置NDK 应用链接至平台库Android for Work注解保留其他重要说明另请参阅Android N API 概览Android N 除了提供诸多新特性和功能外,原创 2016-11-11 10:27:28 · 7603 阅读 · 0 评论