自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (6)
  • 收藏
  • 关注

原创 android 通话程序结构总结

一  通话界面的显示相关文件的路径在 /packages/apps/Dialer 路径下。 每种界面都是以Fragment 的形式控制。比如拨号界面DialpadFragment.java,应答界面AnswerFragment.java, Hold 界面OnHoldFragment.java. 二    下一层是/packages/services/Telecomm    ...

2018-06-17 23:45:46 501

原创 GsmCdmaCallTracker 如何记录Call的状态

GsmCdmaCallTracker 定义了三个GsmCdmaCall, 用于记录Call 的状态。mRingingCallmForegroundCallmBackgroundCall一 这三个GsmCdmaCall 分别用于记录那些状态呢?看一下GsmCdmaConnection 的 以下方法vate GsmCdmaCall parentFromDCState (DriverCall.S...

2018-06-17 22:39:25 758

原创 android 8.0 MO 通话

 本文是作为本人学习总结。首先挂一下流程图。  通话相关界面的显示和控制从/packages/apps/Dialer目录下。一   /packages/apps/Dialer 层  dial 从DialpadFragment 开始,DialpadFragment 显示一个12键拨号键盘。这里说明一下, DialpadFragment 是由DialtactsA...

2018-06-16 20:34:53 2365

原创 apk 反编译

一 apktool      apktool 用来反编译apk内资源文件。     文件路径:http://download.csdn.net/download/shizhonghuo19870328/9927123     使用方法:、     将下载文件解压, 生成apktool 文件夹,将需要反编译的apk 放到apktool 文件夹 下。     打开命令行模式, 运行

2017-08-10 09:39:43 493

转载 AudioPolicyService源码分析

AudioPolicy在Android系统中主要负责Audio"策略"相关的问题。它和AudioFlinger一起组成了Android Audio系统的两个服务。一个负责管理audio的“路由”,一个负责管理audio“设备”。在Android M 版本的系统中,这两个服务都是在系统启动的过程中,通过MediaServer来加载的。AudioPolicyService在Android Au

2017-08-09 11:32:37 542

原创 C++ 知识点

一  audo     C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除。前后两个标准的auto,完全是两个概念      auto自动类型推断,用于从初始化表达式中推断出变量的数据类型。通过auto的自动类型推断,可以大大简化我们的编程工作。   mapint, mapint,i

2017-08-09 09:01:53 186

原创 AudioService

一 重要字段和对象    1. AudioSystem 定义了三种平台类型:普通平台,phone平台和TV 平台。 这三种类型的不同流之间可能是通用的。     所以在AudioService中定义了三个数组如下        1) 普通平台 private final int[] STREAM_VOLUME_ALIAS_DEFAULT = new int[] {

2017-08-08 16:47:26 1654

原创 AudioTrack.cpp 源码分析

AudioTrack. java 进行音频播放的相关处理, 它对应的JNI 中间层为android_media_AudioTrack.cpp 。这部分根据他们之间的对应关系来分析android_media_AudioTrack.cpp  的源码。

2017-08-08 16:21:18 3584

原创 AudioFlinger 源码解析

一 AudioFlinger 的初始化    AudioFlinger的初始化是从main_audioserver.cpp 初始化。   这是系统启动服务的典型方法。 sp proc(ProcessState::self()); sp sm = defaultServiceManager(); ALOGI("ServiceManag

2017-08-08 16:19:54 1309

原创 sharePreference 的一个使用例子

这篇文章只是一个简单的SharePerferences 的使用例子public class RecorderHelper { public interface SpeakerKey{ public static final String SPEAKER_ID="ecarx.tts.speaker"; public static final int

2017-08-07 14:35:14 596

原创 PriorityBlockingQueue 优先级阻塞队列的介绍和使用

一 队列的基本方法(Queue 接口)    1. boolean add(E e), 元素插入队列, 如果队列没有空间, 返回true, 抛出异常。    2. boolean off(E e)   元素插入队列, 如果队列已满, 则返回false    3. E element(), 获取头元素, 但是不移除头元素。 如果队列为空, 抛出异常    4. peek()

2017-07-24 11:52:45 1929

转载 HTTP 中 GET 与 POST 的区别

转载自:http://www.oschina.net/news/77354/http-get-post-differentGET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总

2017-06-21 16:18:07 197

原创 字符串处理类 TextUtils

一  TextUtils  简介      TextUtils  是android 提供的字符串处理类(android.text.TextUtils)。 二  TextUtils  的重要方法      1) 将字符从此字符串复制到目标字符数组 public static void getChars(CharSequence s, int start, int end

2017-06-07 21:33:41 508

原创 OkHttp 用法解析

一 简介     学习完Volley框架, 开始学习OkHttp 网络框架。 OkHttp 框架是     本文 是基于okhttp-3.2.0.jar 开发。http://download.csdn.net/detail/shizhonghuo19870328/9861138二  OkHttp 的重要参数和方法     OkHttp 框架大部分是基于build 方式初始化。

2017-06-05 16:25:27 510

原创 volley网络编程

一 简介      android 开发离不开网络编程,通常情况下都是使用HTTP 协议。 谷歌孙然提供了HTTPURLConnection 来进行网络通信。 但是需要编写大量代码进行 缓存和请求调度。     所以2013年, google 提供了一个新的网络框架Volley。     Volley 使用简单 ,非常适用于那些网络流量不大, 但是使用频繁的场景。二  Volley

2017-06-02 17:44:02 327

原创 XML 及其解析

一  XML 介绍     XML(Extensible Markup Language), 可扩展语言。     XML 的设计是为了传输和存储数据,焦点是数据的内容。    XML 的结构如下:    1) XML 声明        XML 总是以一个XML声明来开始,位于文档的第一行。        它指明了XML 的版本和编码方式。        如以下, 版

2017-06-01 17:33:33 244

原创 HttpClient

HttpClient 是Http 协议的一种 包装类。 可以支持HTTPS,COOKIE。HttpClient需要以下6个步骤:1. 创建HttpClient 的实例。2. 创建某种连接方法,对于get方法是HttpGet, 还有HttpPost, HttpPut 等等。3. 用HttpClient 实例去执行execute 方法, 返回HttpResponse。4.

2017-05-31 16:45:35 254

原创 URLConnection 和 HttpURLConnection

HttpURLConnection 是android 系统最基本的网络编程方式。 也是google 推荐的网络编程方式。这篇博客介绍了HttpURLConnection 的使用方法和重要字段。

2017-05-31 16:12:03 591 1

原创 adb 命令与问题解决

1. adb  devices offline     查看你的adb 版本: adb  version。   从 android 4.2 版本以上, 需要adb 版本1.0.31 版本。2. 查看终端的线程号     adb shell      ps 3. 捕获线程log   adb logcat | grep 线程号 4. 安装adb 遇到问题da...

2017-05-30 12:43:19 430

转载 深入理解AudioService

《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块第

2017-05-28 17:22:05 10050 2

原创 跨进程的双向通信

文章http://blog.csdn.net/shizhonghuo19870328/article/details/53192870 介绍了怎样用aidl 来实现跨进程通信。但是此种架构只能实现从客户端到服务端的传递。 没有服务端向客户端传递的功能。并且直接在服务端实现aidl  interface, 不利于程序解耦。下面介绍一种实现进程件双向通信的方法。有两个模块, 模块Voi

2017-05-26 13:26:28 627

原创 百度地图 android 开发

最近学习了android 基于百度地图的开发, 以下是个人的总结和笔记。    百度地图API:      百度地图 API是一套基于Android 2.3及以上版本设备的应用程序接口。 您可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图类应用程序。    要想进行百度地图开发

2017-03-21 17:21:23 611

原创 Linux 与window 文件转换

在linux系统中,文件使用LF格式换行,但是在windos下面文件使用CRLF换行,这个在sourceInsight菜单Option->preference下面的files的Tab中可以选择:1. window (CR/LF)2. Linux  (LF)3. Mac    (CR) 如果文件已经被编辑并保存为windos格式的CRLF的话,这个可以用file命令查看:pa

2017-03-13 08:59:16 1429

原创 android 应用权限设置

在开发android 应用的时候,经常要给应用添加权限。权限的添加是在AndroidManifest.xml 中。下面是总结的一些常用的 权限添加。

2017-03-12 21:10:42 1350

转载 selector

转载自:http://blog.csdn.net/chark_leo/article/details/20998707一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片     默认时的背景图片-->         没有焦点时的背景图片 -->              android:drawable="@drawabl

2017-03-11 18:08:45 187

转载 protected-broadcast的作用

转载自http://www.cnblogs.com/caidi/p/4513825.html “保护性广播”,在一些AndroidManifest.xml中的一级标记,具体有何作用:此处指定一个广播,该广播只能被系统发送。注 意:只有系统appliaction才能在其AndroidManifest.xml中定义Protected Broadcast,系统appl

2017-03-01 16:11:05 3927 1

原创 一种从数据流中按位 读取数据的方法

typedef struct{ const unsigned char *pMemory; unsigned char mask; unsigned char rack;} BIT_STRING_T;static BIT_STRING_T mBitString;定义一个结构体来存储数据状态。//=======================

2017-02-16 14:52:04 2117 1

转载 c语言中的0UL或1UL是什么意思

转载地址:http://blog.csdn.net/qq1987924/article/details/113690630UL 表示 无符号长整型 01UL 表示 无符号长整型 1如果不写UL后缀,系统默认为:int, 即,有符号整数。1.数值常数有:整型常数、浮点常数;2.只有数值常数才有后缀说明;3.数值常数后缀不区分字母大小写。(1)整型常数的表示形式有:十进

2017-02-16 14:23:22 6002

转载 Makefile 常用函数

1. 比较函数ifeq 和ifneq  ifeq是当相等时继续执行,ifneq 当不等是继续执行。 ifneq ($(strip $(TARGET_VENDOR)),)   //Target_vendor 不等于空,    PRODUCT_LIST += $(TARGET_PRODUCT) endif

2017-01-09 16:40:31 618

原创 添加对话框AlertDialog

对于android 开发来说, AlertDialog 是一个经常用到得小组件。今天用AlertDialog  做了一个小对话框。 所以就顺便总结一下AlertDialog  的用法。一  AlertDialog 与AlertDialog.Builder      如果看过AlertDialog.java 的源码,可以看到AlertDialog 的构造函数是protect.

2016-11-29 21:47:02 287

原创 AIDL 实现跨进程通信(android Studio)

AIDL是android Interface definition language的缩写, 也就是android  接口定义语言。通过 AIDL,android 在java 层很容易实现进程间的通信。以下介绍一下利用AIDL 实现进程间通信的流程。一  建立自定义类 person,public class person implements Parcelable{ Str

2016-11-16 22:58:07 577

转载 PLMN概念和应用设置

链接:http://www.cnblogs.com/bastard/archive/2013/05/09/3068602.html1 PLMN概念PLMN:  PLMN(Public Land Mobile Network,公共陆地移动网络)该网路必须与公众交换电话网(PSTN)互连,形成整个地区或国家规模的通信网。 PLMN = M

2016-11-16 11:06:03 2838

原创 malloc 和 realloc 的使用

最近应美国运营商的需求写一个程序,需要从高通log中解析手机语音和数据的注册信息,显示到组件上。   解析出的信息要写入一个字符串中。在给字符串分配内存空间时,遇到一些小问题。1) malloc  函数      void *malloc(unsigned int num_bytes);   malloc 函数向内存中申请num_bytes 数量的内存块,并返回一个内存块的首地址。

2016-11-13 23:21:01 1232

原创 Bind 实现进程间通信

上一篇文章介绍了Mediaplayer 框架。 但是, Mediaplayer.cpp 是如何调用Mediaplayerservice.cpp 的方法呢? Mediaplayer.cpp 和Mediaplayerservice.cpp 是运行在不同的进程。    现在就以Mediaplayerservice来简要说明一下binder 时如何在C 层中进行进程间通信的。从main_media

2016-11-11 13:58:59 1141

原创 git 提交代码。

一 提交代码修改, 首先要获得你要修改的代码。1 .获得代码需要使用git clone 命令。git clone + ssh 资源地址2. 这是你将远程代码库的对应代码clone到本地。 但是这时你在本地的文件夹里是看不到代码的, 因为代码库中一般有很多分支。需要用checkout 命令将你需要的分支检出。  $ git branch -a 可以命令列出所有branch。  1

2016-11-01 14:50:06 982

原创 git 使用技巧

1. 提交修改 Git  通过提交暂存区来实现对提交的定制。 所以

2016-10-24 17:00:20 301

原创 Android studio 秘钥建立和签名APK

Android studio 秘钥的建立方法 如下:1. build-> generate sigh APK, 此时进入如下界面。这里可以选择你以前建立的秘钥, 也可以重新建立一个秘钥。2. 选择 Create new 建立秘钥相关证书项可以不填, 但是需要添加秘钥库 ,秘钥的密码和秘钥别名。点击OK,返回上一个界面。 点击OK。进入最后界面

2016-10-23 21:26:52 1124

原创 高通工具设置小技巧

一 QXDM  1.  QXDM 能够找到的log太多, 所以Qxdm 可以设置过滤器来抓取特定的log。      设置方法:file->Manager Configuration.      用这种方法选择抓取何种log。  2 抓取到的log也可以用类似的方法去过滤有用log      设置方法:打开isf 文件以后, 右键->  Refiltering Config,

2016-10-19 11:38:51 597

原创 android studio 设置技巧和错误处理

记录一些 android studio 的小技巧。

2016-10-18 21:51:37 415

原创 C 编译错误 及解决方法总结

个人总结的遇到的C 编译错误,以防以后遇到同类问题。

2016-10-17 11:33:20 827

反编译工具dex2jar和jd-gui

用到了资源文件 dex2jar jd-gui, 没有用apktool

2017-08-10

okhttp-3.2.0.jar

okhttp-3.2.0.jar

2017-06-05

android 百度地图开发

上传文件是代码和APK,包括地图显示,定位,周边搜索,驾驶导航的功能。

2017-03-21

百度地图 android 开发

包括地图显示, 定位, 周边搜索, 驾驶导航功能

2017-03-21

百度 地图开发

包括,地图显示, 定位, POI搜索和驾驶导航功能

2017-03-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除