自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 问答 (4)
  • 收藏
  • 关注

原创 Android 实现开机自启动无界面的Apk

我们有时候会遇到这样的需求,需要将一个apk作为一个后台程序为第三方应用提供服务。开发这样的apk我们会遇到两个问题:1、apk不需要界面。2、由于apk没有界面,我们需要启动运行,就需要实现开机自启动。1、我们先来看看如何实现一个无界面的apk.大家都知道,我们新建一个应用,默认都是有Activity的,如果把默认的Activity去掉会报错。那么我们可以这样修改:打

2017-09-30 14:58:22 14912 11

原创 Wi-Fi理论基础概述

 一  . 什么是Wi-Fi?    Wi-Fi(Wireless Fidelity),在中文里又称作“行动热点”, 是Wi-Fi联盟(Wi-Fi Alliance,缩写为WFA)的商标,Wi-Fi联盟限制使用Wi-Fi认证这一术语来成功完成互操作性认证测试。严格得说,Wi-Fi是一个认证的名称,该认证用于测试无线网络设备是否符合IEEE 802.11系列协议的规范。也常有人把Wi-Fi当做I...

2018-12-05 10:38:34 4199

原创 Android 原生Wi-Fi室内定位探究

一.关于室内定位的一些技术包括:RFID、蓝牙、红外、UWB、 ZigBee、WiFi和行人航迹推算PDR(Pedestrian Dead Reckoning)       参考资料:http://wap.cnki.net/lunwen-1014235696.html二.Android内置的定位服务,目前Android内置的定位方式有以下几种:GPS定位优点:速度快、精度高、可在无网...

2018-11-27 17:37:38 4897

原创 Android Wi-Fi模块学习计划

第一阶段:Wi-Fi理论基础:Wi-Fi是什么? 802.11协议介绍(802.11a到802.11AD) 相关概念(频谱划分,接收灵敏度2.4GH,信道划分,SSID和BSSID) 无线接入过程三个阶段 Wi-Fi的应用场景和解决方案,相对于其他无线通信的优劣势 omnipeek抓包方法参考资料:https://blog.csdn.net/myarrow/article/deta...

2018-11-27 17:13:21 1399

原创 Android ContentProvider(内容提供者)的使用

ContentProvider简介ContentProvider(内容提供者)是Android的四大组件之一,可以实现不同进程间的数据共享。在Android 源码系统中,像设置,联系人,多媒体等都使用到了ContentProvider。其实ContentProvider最终也是操作Sqlite数据库,实现数据的增删改查。接下来我们看看怎么使用。使用步骤:一、新建一个UserConten...

2018-09-10 16:55:41 533

原创 Android 使用adb shell 和android studio插件Database Navigator查看sqlite数据库

在android 开发中,有时候我们需要查看数据库文件,这里介绍两种查看方式供大家参考。这里我们以android中的多媒体数据库为例,android中的多媒体数据库存放路径如下:/data/user/0/com.android.providers.media/databases第一种:使用adb shell 查看获得root权限,打开数据库位置,列出当前的数据库如下,有两个数据库,分...

2018-09-10 11:10:00 3312

原创 Android ANR分析实践(二):由输入事件无响应产生的ANR分析及解决

首先,我们简单写一个测试应用,手动制造一个ANR,代码如下public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState...

2018-08-29 17:35:13 6661 5

原创 使用Android Studio中的HierarchyViewer 及UI Automator Viewer定位当前UI界面的代码位置

有时候调试别人写的代码或者是android源码的时候,不知道当前界面的代码位置,那我们如何定位呢?以下,以SnapdragonCamera为例,定位拍照按钮的点击实现。首先我们将设备连接电脑,打开camera如下图:打开Android Studio,打开ADM打开之后,选择HierarchyViewer 选项由上图可知,当前界面所在的Activity为CameraLaunc...

2018-08-29 16:30:20 2127

原创 如何用Android Studio调试Android源码

众所周知,Android源码是Eclipse结构的,我们怎样导入到Android Studio中并进行调试呢?首先,打开Android Studio,点击File-->Open(注意:这里是open而不是import),这里,我们以打开SystemUI为例:接着我们点击上图中的Project Structure按钮,如下所示:选择左边的Modules选项,选中System...

2018-08-29 14:58:14 2941 2

原创 Android 骁龙Camera拍照流程梳理

本文以SnapdragonCamera为例,分析骁龙Camera的拍照流程,其实现与camera2大致相同。首先将SnapdragonCamera源码倒入android studio, 具体操作,可查看如何用Android Studio调试Android源码一文。打开camera,点击拍照,ShutterButton类的performClick()方法会被调用。(如何定位点击拍照会调用Shut...

2018-08-29 13:31:20 4411

原创 Android ANR分析实践(一):ANR是什么、产生的原因及如何避免ANR

  一、  什么是ANR    ANR,(Application Not Responding) 即应用程序无响应,在android应用中,当我们的UI线程被阻塞,就会弹出如下对话框,用户可以选择继续等待或者关闭这个应用程序,这种现象我们称之为ANR.二、  ANR的类型ANR的类型大致分为以下三种1、主线程对输入事件在5秒内没有处理完毕                    ...

2018-08-16 15:07:51 4024

原创 Android 开发之JNI/NDK编程实战(三):Jni编程之调用第三方so库

    有时在项目中,我们不需要编写C++代码,而是由C++开发人员提供so库供我们调用,那如何调用第三方so库呢?本文以上文Android 开发之JNI/NDK编程实战(二): Jni编程之使用ndk+gradle生成so库中生成的so库为例。步骤:1.新建项目,拷贝so库到libs目录 2.编写app下的build.gradle脚本,在android节点中加入sourceSets ,...

2018-08-14 14:54:40 581

原创 Android 开发之JNI/NDK编程实战(二): Jni编程之使用ndk+gradle生成so库

    在上一篇博客Android 开发之JNI/NDK编程实战(一)中我们介绍了ndk环境的配置,以及如何在android studio3.0中实现jni编程,其原理其实是使用CMake+gradle的方式实现编译生成so库。接下来,我们探讨一下如何使用ndk+gradle的方式生成so库。步骤:1.ndk环境配置 2.新建项目,添加Jni实现类并生成.class文件 3.生成.h头...

2018-08-14 13:27:11 530

原创 Android 开发之JNI/NDK编程实战(一):android studio3.0配置ndk环境实现jni编程

android studio3.0配置ndk环境实现jni编程名词解释:    JNI: (Java Native Interface)顾名思义,其为Java 本地的接口调用,使得Java 与 本地其他类型语言(如C、C++)可以交互。    NDK: (Native Development Kit) 是 Android的一个工具开发包,用于快速开发C、 C++的动态库,并自动将so和...

2018-08-13 15:48:08 470

原创 C++开发之Visual Studio 2017 安装与使用

    ”工欲善其事,必先利其器”,学习一门语言,选择一款高效的IDE(集成开发环境)尤为重要,支持C++的IDE有很多,Visual Studio便是其中之一。    Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等...

2018-08-10 15:35:52 53207 3

原创 Ubantu下搭建Android CTS 兼容性测试环境及单项测试操作步骤

    CTS 全称(Compatibility Test Suite),兼容性测试工具,其目的就是让各种Android设备厂商能够开发出兼容性更好的Android设备,同时,Google也提供了一份兼容性标准文档(Compatibility Definition Document, CDD)Android设备只有满足CDD的规定并且通过CTS,才能获得Android的商标和享受Android M...

2018-08-09 16:15:01 3300

原创 Windows下搭建Ubantu环境

    在开发中,有时需要使用Linux开发环境(比如编译Android源码),Ubantu无疑是最好的选择。接下来我们就来聊一聊如何搭建Ubantu环境。    Ubantu的安装方式有两种,一种是裸机安装(适用于Linux开发人员),另一种是通过虚拟机安装,本文只讲第二种安装方式。   首先,我们先下载虚拟机,我使用的是VMware-workstation-full-14.1.2 ,V...

2018-08-09 13:37:37 595

原创 android studio svg使用

1、  svg在线绘制https://c.runoob.com/more/svgeditor/导出svg图片2、  svg素材资源http://iconfont.cn/help/detail?helptype=codehttp://www.easyicon.net/language.en/iconsearch/log/3、  在android中使用svg使用官方或者本地的图标资源:4、  png ...

2018-03-26 17:49:21 1305

原创 Android调用@hide系统隐藏类的几种方法

调用android系统隐藏的API的几种方法(以调SystemProperties这个类为例): 1、用反射://获取系统属性public static String getProperty(String key, String defaultValue) { String value = defaultValue; try { Class<?> c...

2018-03-14 09:28:07 21400 4

原创 Android 实现沉浸式状态栏

android实现沉浸式状态栏有很多种方式,这里介绍常见的几种1、  第一种方法:使用开源库:https://github.com/jgilfelt/SystemBarTint2、  第二种方法:改变style属性:如果想让整个应用状态栏同步,即改变manifest中application的styleandroid:theme="@style/AppTheme"在AppTheme中修改以下两个属性...

2018-03-13 17:46:27 278

原创 Android AIDL的简单使用

AIDL的简单使用 AIDL,是Android中IPC通信的一种,有其独特的优势,能处理大量的并发请求,能满足多进程同时调用服务端的需求。既然这么强大,我们不妨一探究竟,改如何使用。 1、首先,我们需要编写一个AIDL的文件,直接在Android Studio项目上右键,新建一个名为IMyAidlInterface的AIDL文件,此时在工程目录中会生成一个和java同级的aid

2017-10-31 22:27:34 248

原创 Android bug记录

SystemUI:Fix#7982:Recent unlock the ghosting-问题描述:设置指纹解锁,开启一些app,按下Recent键后,锁屏后再解锁,会出现Recent页面的残影-问题原因:快速解锁会重启Recent页面-解决方案:锁屏的时候设置标志位,如果是锁屏后调起的Recent页面,不做相关动画操作SystemUI: Fix#9573: C

2016-12-28 16:25:56 287

转载 android studio 快捷键大全

Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,基于Gradle的构建支持。 来源: http://www.cnblogs.com/zyw-205520/p/5231843.html最常用快捷键1.Ctrl+E,可以显示

2016-12-08 16:26:37 149

原创 用Facebook开源框架Frescok加载网络图片的简单使用

Fresco中文说明:http://www.fresco-cn.org/Fresco项目GitHub地址:https://github.com/facebook/fresco第一步:进入 Fresco项目GitHub地址:第二步:引入到Android Studio项目中第三步:服务及权限:第四步:Xml代码

2015-11-16 16:56:55 405

android 快速放电apk

android 快速放电工具,可用于电池相关的android开发人员。

2018-08-14

时间轴和ScrollView的嵌套Listview及布局隐藏

这是一个自定义的时间轴,里面有ScrollView的嵌套Listview问题的解决方案,以及布局的显示和隐藏逻辑!

2015-07-22

xUtils开源框架

很好用的第三方框架,可用于网络请求,数据库的操作等等。

2015-07-20

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

TA关注的人

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