Android
杨尘心
让植根于现实的理想闪闪发光
展开
-
Android 帧动画 实践
添加动画drawable/hide_icon.xml 添加 帧动画集<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> &a原创 2018-08-27 15:19:54 · 145 阅读 · 0 评论 -
Android Notification 填充 自定义布局
代码使用NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);int id = R.string.app_name;Intent d2dInfoIntent = new Intent(this, FloatballActivity.c...原创 2018-08-27 15:36:07 · 742 阅读 · 0 评论 -
Android 悬浮窗口 的朝向 以及 无activity 屏幕旋转的 问题解析
前言android 悬浮球 (所有界面可用) 开发 在测试的时候,会遇到屏幕旋转,导致布局失效错乱解决方案1 直接指定 landscape 或者portrait .....mFBParams = new LayoutParams(); //设置悬浮球布局的参数mFBParams.x = mScreenWidth-mFloatBallView.getWidth(); mFB...原创 2018-08-28 10:00:02 · 3973 阅读 · 0 评论 -
Android adb 使用总结 (调试专用)
adb 安装android 内置应用 out/target/product/xxx/system/app/MusicTests/MusicTests.apk 编译完成后显示adb push MusicTests.apk system/app/MusicTests adb install 第三方应用adb install -r path/MusicTests.apk...原创 2018-08-28 10:06:15 · 2226 阅读 · 0 评论 -
第三方 app 安装后,android.intent.action.BOOT_COMPLETED 无法启动应用
网上有已经有人解释了原因 参考 https://blog.csdn.net/zhouzhengting1/article/details/50459431因为我们发送广播adb shell am broadcast -a android.intent.action.BOOT_COMPLETED但是intent 默认会添加 FLAG_INCLUDE_STOPPED_PACKAGES...原创 2018-08-31 17:04:43 · 2517 阅读 · 0 评论 -
android 悬浮球 (所有界面可用) 开发
创建 service 后台启动public class FBService extends Service { private static final String TAG = "FBService"; public static final int TYPE_ADD = 0; public static final int TYPE_DEL = 1; ...原创 2018-08-24 19:21:21 · 10549 阅读 · 2 评论 -
深入理解git 使用
作为一个4年的程序员,很多基础一知半解,很惭愧.想来想去,自己后之后觉,到毕业的时候,才知道这个行业比较适合我.选择将git 整理一番,磨刀不误砍柴工嘛. 参考书籍 https://git-scm.com/book/zh/v2首先是clone 一个项目git clonegit clone git@xxxxxxxxxxxx.gitgit status然后修改文件...原创 2018-09-02 15:43:28 · 321 阅读 · 0 评论 -
深入理解RILD 知识点笔记
int p; //这是一个普通的整型变量int *p; //首先从P 处开始,先与*结合,所以说明P 是一个指针,然后再与int 结合,说明指针所指向的内容的类型为int 型.所以P是一个返回整型数据的指针 int p[3]; //首先从P 处开始,先与[]结合,说明P 是一个数组,然后与int 结合,说明数组里的元素是整型的,所以P 是一个由整型数据组成的数组 -------整型...原创 2018-09-11 11:14:02 · 676 阅读 · 0 评论 -
atom 使用插件 plantUML
atom 安装 plantuml最近看代码,加log打印,导致剖析思路不顺畅,所以准备安装plantuml ,用流程图帮我梳理协议流程记录一篇教程ubuntu安装配置jdk因为 plantUML 会使用一个jar包需要用到 java,所以安装jdk下载jdk jdk地址:http://www.oracle.com/technetwork/java/javase/download...原创 2018-04-27 17:28:33 · 3142 阅读 · 0 评论 -
RIL 流程
RIL 分为RILJ 和RILC 部分,而RIL 和modem 通信通过socket ,发送的是串口 AT command[其实只要熟悉linux 编程,rild 部分确实很好理解]花了4天左右认认真真分析在初始化 reference-ril 库的时候,创建 客户端socket 连接到modem,而通过atchannel 的at_send_command_full_nolock发送AT...原创 2018-09-15 17:02:38 · 5585 阅读 · 1 评论 -
开发神器 Source Insight 配置
Source Insight看见同事使用SI,心里也是痒痒的,昨天晚上 下载安装了一个,但是界面超级丑,于是自己研究下,仿照Sublime Monokai 主题 设置主题,花费我不少心血sublime Monokai Theme看起来还是很不错, 字体可以自己调大或者调小,像我这种有洁癖的程序员,肯定设置喜欢的风格,于是配置SI,效果如下SI Monokai Theme原创 2018-01-20 14:52:37 · 2917 阅读 · 10 评论 -
android 內置系統app Android.mk makefile 文件编写 (缺动态库编译和引用动态库)
举例 MUSIC参考https://www.cnblogs.com/wainiwann/p/3837936.html C编译的配置Android.mkLOCAL_PATH:= $(call my-dir)#每个Android.mk文件必须以定义LOCAL_PATH为开始。它用于在开发tree中查找源文件。#宏my-dir 则由Build System提供。返回包含Android...原创 2018-08-27 14:57:25 · 460 阅读 · 0 评论 -
android 悬浮窗口 权限 (ACTION_MANAGE_OVERLAY_PERMISSION)
在开发悬浮球app的过程中,当第一次打开肯定会遇到权限问题我就遇到了Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@2886501 -- permission denied for window typ...原创 2018-08-27 11:08:06 · 20356 阅读 · 0 评论 -
工厂测试应用的总结
经过昨天一天的猛虎操作,终于工厂的需求进入尾声,总结下新学到的知识如果想让两个apk 预置在launcher 需要修改launcher 的配置文件 配置如下 packages/apps/Launcher3/res/xml/default_workspace_4x4.xml<favorites xmlns:launcher="http://schemas.android.com...原创 2018-07-19 11:33:59 · 1900 阅读 · 0 评论 -
初始篇:Android 源码环境搭建(OSX)
目录目录ASOP 环境搭建在mac上建大小写敏感的分区将分区挂载安装Xcode Command line安装MacPorts安装make git 等相关包提升编译速度安装repo下载和编译代码问题集锦ASOP 环境搭建访问 Android官方网站 可以获得搭建和获取源码的过程介绍,但是需要翻墙,所以只使用repo 国内镜像的方法(osx系统)1 在mac上建大小写敏感的分区命令原创 2017-03-04 13:36:16 · 1347 阅读 · 0 评论 -
cs call
cs call (Android 7)dialer 进程点击拨号 触发拨号处理com.android.dialer.dialpad.DialpadFragment#handleDialButtonPressedprivate void handleDialButtonPressed() { if (isDigitsEmpty()) { // No number entered.原创 2017-06-15 10:18:28 · 1512 阅读 · 0 评论 -
ps call
ps callps call 从 GsmCdmaPhone 开始 判断是否注册ims 才开始进行imsphone 实例的获取所以从GsmCdmaPhone开始跟踪流程 如果不清楚可以查看 结构图 明确标出com.android.internal.telephony.GsmCdmaPhone#dial @Override public Connection dial(String di原创 2017-07-13 17:53:08 · 1104 阅读 · 0 评论 -
call structure
call structurecall flow如上是我绘画出比较完整的call 的框架图,供以后参考cs call 源码分析 详见http://blog.csdn.net/engineer_james/article/details/73275248作者:贱贱的杨从此你们的路上不会孤单,还有贱贱的我原创 2017-07-13 17:30:28 · 369 阅读 · 0 评论 -
联系人查询InCallUI显示
CallInfo最近在做很杂碎的事情,移植功能,需要零碎的知识点很多,想写一些博客记录,方便自己查阅和供大家参考。这篇记录的是联系人的相关部分,主要部分是打电话的时候如何查询联系人,如何显示在incallui界面如下图: 本文主要分析根据 12345678 分析 数据库查询联系人保存为 C联系人数据库的生成第一次开机启动的时候,BootCompletedReceiver会接收开机启动的广播,收到原创 2017-10-26 20:24:00 · 4772 阅读 · 0 评论 -
联系人数据库查询和显示
联系人数据库查询和显示数据库 SQLite简单来说 SQLite 就是轻量级数据库特别适合嵌入式操作系统 ,如果数据库不懂没关系,只要会最基本的就可以了,每次看到了就自己查资料,这里讲用到的基本数据库操作和使用SQLiteOpenHelper 介绍源码和 google 介绍,SQLiteOpenHelper 主要功能是 创建、升级、打开数据库和获取数据库对象 如果想使用 SQLiteOpenHe原创 2017-10-28 12:42:27 · 2532 阅读 · 2 评论 -
CTS 测试 入门
CTS 测试 入门下载CTS对应工具如果可以翻墙,直接登录兼容性测试套件下载对应版本的我这次使用的是7.1.2的android 版本,于是就下载了对应7.1版本(700多M) 然后检查自己手机芯片架构是ARM 还是 x86,澎湃S1是ARM架构,所以选择对应ARM的CTS兼容性工具和兼容性验证程序的包下载下载 media 资源 选择最新版本下载 很大(大概4.3G)配置手机和电脑环境配原创 2017-12-29 17:14:07 · 3924 阅读 · 0 评论 -
编辑器神器推荐 atom
atom github优秀的项目作为一款优秀的编辑器,就是很了解程序员的工作,atom就是 主要用来作为前端开发,在ubuntu系统上sublime不支持中文输入,网上的解决方案不理想,这就是我选择atom的其中一个原因,官网地址,也可以去github查看atom项目。atom 有很多优秀的插件比如 activate-power-mode很酷的输入操作 combo的显示太...原创 2018-04-09 16:59:27 · 458 阅读 · 0 评论 -
git 新用法总结
终于在这里有任务做了,最近提交就遇到了问题以前提交问题,或者使用github 项目提交流程 这里特地记录下,以前没遇到过的git add 修改的文件后git commit 直接回车 像文本一样编辑,然后按ctrl+o ,输入 enter,最后 ctrl+z 就可以保存,commit 成功,很明显好处就是添加commit 注释 很规范 最后git push 就可以了...原创 2018-06-30 15:23:21 · 147 阅读 · 0 评论 -
android 第三方jar 包 替换源码 使用
最近要修改一点表格相关的东西我也没怎么研究过,今天刚改完 ,做一个总结我用的https://github.com/PhilJay/MPAndroidChart git clone git@github.com:PhilJay/MPAndroidChart.git 因为需要对表格做一些定制,所以我直接把jar 包替换成 开源代码进行编译clone 代码 clone 代码 在MPA...原创 2018-07-04 16:43:15 · 2556 阅读 · 0 评论 -
Toast 完美使用
今天看见用了很多次toast 的代码,做了一下简单的优化,看到其他人已经写了,就直接改一下private Toast mToast = null;public void showToast(String text) { if(mToast == null) { mToast = Toast.makeText(Activity.this, text, Toast.L...原创 2018-07-04 16:46:50 · 217 阅读 · 0 评论 -
Android 源码 中写后台应用
在Android 开机启动的时候会有一些后台进程跑起来,当然我么也可以定制在vendor 的目录中放置 一个Android.mk文件还有一个server.cpp,头文件配置makefile配置# LOCAL_PATH变量。它用于在开发树中查找源文件 my-dir 编译系统提供LOCAL_PATH := $(call my-dir) # executable bin #清除所有loc...原创 2018-11-08 20:14:58 · 518 阅读 · 0 评论