自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fanfan

隔绝人世纷扰,只为纯粹技术,我在微信公众号等你

  • 博客(117)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android蓝牙配对弹出框过程分析

刚好最近项目需求需要到这方面的知识,才发现这个有些欠缺,完善一下,记录下来,方便以后查阅根据远程蓝牙设备(remote devices)的要求,手机端发起与远程蓝牙设备Bluetooth remote Device的配对有两种情况第一种:配对时需要pin码(pin request event)即有配对请求pairing request :所对应的action为 : BluetoothD

2017-01-04 15:56:55 16534 4

原创 Android6.0之修改或者查看系统属性值

系统属性值存在于system.prop文件中,也有一些存在于settings中1,查看settingsprovider中的值的方法命令为adb shell settings list [system,secure,global]2,查看系统属性值的方法命令格式为adb shell getprop [key]3,只设置手机本身的

2017-01-03 16:15:55 11622 1

原创 Android6.0源码分析之View(二)--measure

接着上一篇Android6.0源码分析之View(一)紧接着来学习view的measure,(注,开始写博客之后,很明显我的学习效率高多了,研究了俩星期硬是没有研究view的measure,接下来终于可以来好好研究研究了)既然onMeasure是view的生命周期方法,那么就先来看一下onMeasure方法的实现与介绍

2016-12-30 09:48:53 2128

原创 那年,我北漂-----闲话2016

写在前面:我是15年毕业的,本科不在北京,一毕业就成了北漂了,其实很早就想写一篇了,正好借着“我的2016”这个主题征文活动来说一说我这毕业后的一年半的历程吧。我本科学电子的,当时大四的校招直接就拒绝电子专业的女生-----这我也能理解,也导致了我这个热爱编程的自学起了Java。自学之路怎么样呢?没人指导,没有路线。没有一个系统的学习目标,学习视频全是网络上找别人要的,在此要感谢那

2016-12-27 10:15:48 3800 22

原创 Android6.0源码分析之View(一)

目前对于view还处于学习阶段,本来打算学习结束之后再写一篇进行总结,但是发现自己自制力太差,学习效率太低,所以在此,边学边写博客,不仅督促自己完成对view的学习,而且还可以看看大家对于view有什么想知道的,顺便来看看自己需要研究些什么。请尊重技术原创,转载请注明出处 ,本文出自fang_fang_story接下来就是对view的学习。对于view我的学习思路是先要对vie

2016-12-19 14:33:27 10375 1

原创 Android6.0蓝牙开发中获取附近低功耗蓝牙设备结果权限问题分析

问题描述:近期做一个扫描附近低功耗蓝牙设备获取到rssi并进行一系列的相对的定位的功能。在开发前期一直使用低版本(Android6.0以下)的手机进行测试,没有任何问题。在运行到Android6.0的手机上后,出了一个问题。每当扫描到附近ble设备并进行回调时都会报错,根本获取不了扫描的结果,报错如下:D/BluetoothLeScanner: onClientRegistered

2016-12-06 15:59:29 19246 19

原创 Android6.0源码之蓝牙研究汇总(一)--from初学者

因为原先刚开始看蓝牙时比较匆忙,而且整个流程都不太懂,感觉遗漏了好多东西,打算从头分析,分析跟蓝牙相关的所有问题,所以如果对蓝牙有任何问题的,可以留言,一起探讨。1,BluetoothService----蓝牙第一个服务开机启动的蓝牙服务为BluetoothService,这个可以从SystemServer中看到。在开启后首先启动的是SystemServer。i>,在SystemSer

2016-11-25 15:13:41 7501 6

原创 Android6.0蓝牙协议之OPP

因为毕设做了蓝牙通信相关的,所以工作后让我负责蓝牙模块。但是有bug的时候才发现对蓝牙协议的了解少之又少,现在先分析一个文件传输协议Chapter One,简单介绍1,OPP:Object push profile 面向对象传输协议,用于传输文件。2,代码所在目录为\android\packages\apps\Bluetooth\src\com\android\bluetooth\

2016-11-16 17:02:35 10227

原创 简单直白教你理解Java中四大引用强引用,软引用,弱引用,虚引用

我属于自学型的,所以知识不够系统,只能是一边儿工作一边查漏补缺,在此要对那些写技术文章的人由衷的说句谢谢,谢谢各位大神们的分享1,强引用,看好多文章喜欢x

2016-11-14 13:32:17 5565 4

原创 ubuntu系统上配置git

1,首先第一步检查一下本机是否已经安装了git随便到一个git目录下执行git status或者其他git命令,如果本机没有安装,则会提示你去安装,ubuntu还是很好的,直接命令都给你提示出来了sudo apt-get install git2,安装成功后目前git status命令可以使用,但是git pull或者push也不能使用,利用以下命令查看时会提示git/.config文

2016-11-08 19:12:56 2771

原创 Android源码编译出错No rule to make...

在领导出差项目量产的节骨眼上,公司服务器出问题了,具体是硬盘问题,于是就派我这个刚入行半年的来重装ubuntu系统然后搭建服务器,好不容易在别人的指导下搭建起来了,却又出这样那样的问题(这些问题都是重新安装了ubuntu12.0.4之后)问题1,挂载硬盘因为原先主机有两个硬盘,一个系统盘,一个数据盘,因为系统盘坏掉了但数据盘完好,所以重装完系统后就把数据盘挂上,数据盘里存着代码,省的再重新

2016-10-27 19:55:55 12950

原创 Android中资源各种引用方式?,@,@*等等

本文参考于http://www.cnblogs.com/greatverve/archive/2011/12/27/Android-xml.html,

2016-10-12 14:25:27 3311

转载 git撤销修改各种情况

如何在Git里撤销(几乎)任何操作一、撤销一个已经公开的改变场景:已经执行了gitpush,将修改发送到了github,需要撤销某一个commit。方法:git revert,则改commit的所有改变都会被反转。这是git最安全、最基本的撤销场景。二、修正最后一个commit消息场景:在最后一条commit消息里有一个笔误,已经执行git commit –m’xxx’,但在p

2016-08-29 15:20:00 6085 1

原创 Android中ContentProvider简介

翻看Android源码可以发现,Android一般的代码架构如下:activity,service,receiver----contentProvider------db(file)也就是说创建数据库保存数据,借助contentprovider对数据进行增删该查,上层利用Android组件进行交互。于是想着给自己新写的项目也添加个contentProvider来学习Android谷歌工程师的高

2016-07-31 17:53:27 990

原创 利用Androidstudio开发Java工程图文详解

作为一名安卓开发工作者,有时候希望可以借助简单的Java程序来验证或测试一些代码,目前Androidstudio开发工具越来越火,但是很遗憾在使用了as一年后才会使用利用其开发Java项目,实在惭愧,在此记录一下利用as开发Java工程。其实说起来也很简单,但希望本博文对那些刚入坑的战友们多少有点儿帮助第一步,新建项目肯定是去new,但到底是new project还是new module是

2016-07-16 10:38:56 22466 4

原创 Android6.0源码分析之蓝牙显示接收到的文件

在蓝牙界面有个menu:显示接收到的文件。本文分析显示接收到的文件/android/packages/apps/Settings/src/com/android/settings/bluetooth/文件夹下的BluetoothSettings.java开始分析case MENU_ID_SHOW_RECEIVED: MetricsLogger.action(

2016-07-02 11:29:43 30475 1

原创 Android中ViewStub控件分析及使用

在分析Android6.0源码时碰到以下一个布局 <ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="fill_parent"/> <ViewStub android:id="@+id/

2016-07-01 14:16:56 3132

原创 Android中include和Merge节点分析

大家可能都会遇见这样一种情况,开发apk时顶部标题或者底部标题好多activity都相同,如果你每个activity的布局界面都去添加代码,一是会使代码冗余而且无用,二是会让别人觉得你编程水平不行,关键是需要不断地去重复一样的代码在我看来对编程水平的提高没有任何帮助,而且只会更累浪费时间。有一个很重要的衡量编程能力的指标,那就是看你代码的复用性,这是后就要想到include节点,是对UI布局进行复

2016-07-01 13:31:20 1682

原创 Android6.0源码分析之蓝牙

前言首先说一下在修改蓝牙时所涉及到的目录,Android6.0的源码目录文件稍微有一些改动相关文件位于以下几个目录,1,\android\frameworks\base\core\java\android\bluetooth,该目录下存放有诸如BluetoothAdapter,BluetoothDevice,等一些底层文件,2,\android\framewor

2016-06-23 11:24:23 7395 8

原创 常用adb命令相关总结

1,前期工作首先要保证你能使用adb命令---即正确配置adb相关的环境变量,通过命令窗口输入cmd,运行cmd程序2,adb命令,adb root :root设备,adb remount:挂载设备3,查找文件或文件夹命令首先adb shell,接着busybox find . -name filename ,命令如下图4,将手机中的system

2016-06-17 15:29:18 1318 1

原创 Android中framework层下添加aidl编译说程序包不存在

因为特殊要求,我在framework层下添加了一个aidl文件IBluetoothShp.aidl文件,但是在编译时却说程序包不存在,错误如下frameworks/base/core/java/android/bluetooth/BluetoothShp.java:227: 错误: 找不到符号 private IBluetoothShp mService; ^

2016-06-15 12:12:02 16146 3

原创 Android6.0编译时out目录下文件无法自动生成问题解决方案

Android6.0编译时需要使用openjdk7编译,然后服务器上还有别的项目需要使用openjdk6进行编译,于是在编译时就出现了一些问题Installing recovery patch to system partitionWarning: could not find SYSTEM/build.prop in using prebuilt recovery.img from BO

2016-06-15 09:52:35 21307 26

原创 activity嵌套fragment,fragment内嵌fragment之间传值切换fragment

至于fragment的用法,fragment+viewpager的滑动切换代码请参考博文Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用fragment与Activity当在使用activity嵌套fragment,fragment再嵌套子fragment时,相当于有两层fragment,假设最外层为第一层,其中

2016-06-07 16:49:25 16381 9

原创 Android中单个View的触摸事件分发机制

有时候会遇见点击事件和滑动事件冲突,一直搞不明白,接下来分析一下如果只是点击,而没有对控件进行滑动的话,log日志如下05-17 19:32:17.800 10211-10211/com.fang.zrf.qrcodedemo I/MainActivity: ----onTouch---05-17 19:32:17.800 10211-10211/com.fang.zrf.qrc

2016-06-07 11:54:53 1266 1

原创 自定义View之带进度百分比ProgressBar

先上一张我自定义所实现的效果图

2016-06-03 17:42:59 12017

原创 Android中如何gone掉列表中的任意一条数据

前几天解决了一下这个问题本来没当回事,没想到今天恰巧有人问,在这里简单记录一下:问题描述:加载一个列表,当列表数据符合一定要求时去掉该item(无论是使用listview还是recyclerview加载列表道理等同)刚开始遇到这个问题想到的第一种解决方案就是在adapter中加载item时去判断一下本条item数据是否应该gone掉,如果符合要求,那么久直接将整条item进行g

2016-06-02 15:48:01 1337

原创 跳转activity时出现空白界面问题解决笔记

上个星期遗留了一个问题一直没搞明白,今天终于解决了。问题描述,在进行页面跳转时会先出现一个空白界面一闪而过:解决该问题时我进行了两种方案,第一,按照网上搜索的解决方案,查看onCreate方法是否正确布局,5.0以前oncreate方法是只有一个bundle参数,5.0以后onCreate方法oncreate(Bundle saveInstanceState,Persisitanble

2016-05-30 10:31:35 16260

原创 fragment使用时getArguments报空解决

今天在使用fragment获取到activity的值时遇到一个问题,耽误了好长时间,在此分享给大家遇到的问题是getArguments为空,05-21 23:13:51.906 3262-3262/com.fang.zrf.smartlockdemo I/fang: onCreate--->arg:null05-21 23:13:51.906 3262-3262/com.fang.zrf

2016-05-27 13:31:20 20978 3

原创 Android6.0源码分析之Settings(二)

本博文主要讲述6.0列表的加载首先外层布局setContentView(mIsShowingDashboard ? R.layout.settings_main_dashboard : R.layout.settings_main_prefs);因为是显示的设置主界面,即mIsShowingDashboard为true,所以加载settings_mai

2016-05-23 15:24:22 5430 10

原创 Android6.0源码分析之Settings(一)

前一段时间一直在研究4.4.2setting和、Bluetooth、WiFi源码,由于工作需要现在要直接从4.4.2跳到6.0的源码,。写博文两个目的,一个呢是在自学时做个笔记,还有一个就是网上关于6.0源码的分析少之又少,给大家的学习做个参考,也可互相交流学习经验。ONE,前言Android6.0的Settings源码路径未改变,从Androidmanifest中发现设置入口Sett

2016-05-23 14:07:54 17648 4

原创 Android4.4.2源码分析之WiFi模块(三)

参考博文Android4.4.2源码分析之WiFi模块(一)Android4.4.2源码分析之WiFi模块(二)获取到WiFi列表后就是对WiFi进行连接WiFi列表中存有需要密码的WiFi和不需要密码的WiFi,分这两种情况进行分析1,连接无需密码的WiFiif (mSelectedAccessPoint.security == AccessP

2016-05-18 11:39:25 4294

原创 Android4.4.2源码分析之WiFi模块(二)

接着上一篇继续对WiFi源码的分析Android4.4.2源码分析之WiFi模块(一)onResume方法中6>,首先是调用WiFiEnabler的resume方法对switch进行管理接下来注册广播getActivity().registerReceiver(mReceiver, mFilter);广播监听的action如下 //wifi状

2016-05-11 10:50:47 13734 2

原创 Android4.4.2源码分析之WiFi模块(一)

由对Androidsetting的源码分析之WiFi模块的界面fragment为WiFisettings.java,关于setting模块的源码分析可以参考Android系统源码剖析(一)---Settings已经写了几篇关于Android源码的,源码代码量太大,所以如果想分析某个模块可能不知如何下手,说一下思路1,分析源码英文阅读能力要够,想要分析某个模块一般找模块对应的英文

2016-05-09 11:31:19 7310 1

原创 蓝牙API介绍及基本功能实现

本文已授权微信公众号<<码农修仙儿>>独家发布ONE,传统蓝牙BluetoothAdapter:本地蓝牙设备适配器,用于管理蓝牙的开启/关闭、重命名、扫描、配对、连接 BluetoothClass:蓝牙设备类,用于描述蓝牙设备类型 BluetoothDevice:远程蓝牙设备类 BluetoothSocket:与tcpSocket类似,进行蓝牙连接 Bl...

2016-04-29 10:47:42 25459 32

原创 Android蓝牙BLE低功耗相关简单总结

在看Android4.42的源码时看到有添加对BLE设备的处理,看的一头雾水,多方百度,终于有种柳暗花明的感觉。本文总结来源于百度多篇文章,欢迎转载,分享交流BLE蓝牙概念BLE:Bluetooth low Energy  低能耗蓝牙,实现低成本,短距离的无线传输,传输速率于传统蓝牙相同位2.4GHZ,采用非常快速的连接方式,适用于发送数据量少而且发送次数较少的蓝牙通信相比于传

2016-04-13 17:21:54 14364

原创 Source insight安装使用相关问题解决方案

ONE,sourceinsight不兼容64位怎么办?大部分的sourceinsight都是针对32位破解的,在64位机上安装时会提示不兼容,解决方案很简单,两种方案1>,新建一个文本文档,添加一些内容,具体可参考http://www.cnblogs.com/sixiweb/p/3421533.html,将txt文本文档后缀改成reg,然后双击运行点击确定,这时再次打开source

2016-04-07 10:11:32 14176

原创 Android4.42-Settings源码分析之蓝牙模块Bluetooth整体实现(总)

ONE,SWITCH蓝牙开关蓝牙开关相关的有两个类,switch从创建到动作状态监听过程如下在BluetoothSettings中创建switch对象Switch actionBarSwitch = new Switch(activity);

2016-03-28 11:54:35 14321 12

原创 Android4.42-Setting源码分析之蓝牙模块Bluetooth(下)

接着上一篇 Android4.42-Settings源码分析之蓝牙模块Bluetooth继续蓝牙模块源码的研究THREE,蓝牙模块功能实现switch的分析以及本机蓝牙重命名和可见性的分析见上一篇,接下来进行第三章第三部分的介绍:关于蓝牙远程设备列表的加载。如果没有看过,建议看看上一篇关第一章蓝牙的布局,有助于理解3>,设备列表的加载因为这部分代码很多,所以在介绍时

2016-03-25 17:26:00 16122 10

原创 Android4.42-Settings源码分析之蓝牙模块Bluetooth(上)

继上一篇  Android系统源码剖析(一)---Settings接着来介绍一下设置中某个模块的源码,本文依旧是基于Android4.42源码进行分析,分析一下蓝牙模块的实现。建议大致看一下关于Settings的剖析。ZERO,蓝牙模块的fragment及其配置     1>,首先由Settings_headers.xml文件可以知道,蓝牙对应的fragment为Bluet

2016-03-22 17:13:44 23292 6

原创 Android系统源码剖析(一)---Settings

最近在研究Android的Settings源码,先看一下源码的目录结构。大概967左右个文件,刚开始接触着实不好下手,待我娓娓道来~~~~~首先,这么多文件,到底哪个文件是主界面呢?在Settings目录下找到Androidmanifest.xml清单配置文件,找到首先启动的activity:- 可以看到,设置的主界面是Set

2016-03-10 15:50:18 18440 14

自定义百分比的progressbar

自定义view

2016-06-03

自定义带百分比的progressbar

自定义view

2016-06-03

Sourceinsight32位兼容64位所需文件

sourceinsight32位兼容64位所需注册表文件

2016-04-07

listview+checkbox乱序问题解决demo

listview+checkbox乱序问题

2016-03-06

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

TA关注的人

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