自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Maintel notes

迷途小工

  • 博客(26)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android 获取屏幕高度,虚拟导航键检测

本篇文章主要总结一下在全面屏上获取高度的问题。获取屏幕高度一般 Android 上获取设备的高度都是通过 DefaultDisplay 的方式来获取的如下:public int getScreenHeight(Activity activity){ WindowManager manage = activity.getWindowManager(); Display disp...

2019-10-31 19:50:11 12820

原创 Android 判断是否有刘海屏

文档查阅了网上很多文章几乎都是抄的下面这些文档中的内容,所以就不详细说了,大家可以直接去看就可以了。android P在 android P 上 google 官方提供了标准的 api 来识别是否有刘海屏,以及刘海屏的宽高等,文档参考显示屏缺口支持非 android P非 android p 不同的厂商提供了不同的 API,这里只包含了目前国内市场主流的机型。可以参考他们的官方文档。...

2019-01-28 19:40:26 10386 12

原创 【ARouter】 跳转 Activity 过程分析

本篇内容主要分析一下 ARouter 的跳转过程——本篇只分析 Activity 的跳转过程。跳转ARouter 的简单跳转比如这样子 ARouter.getInstance().build("/main/mainActivityTest").navigation() 就实现了一个简单跳转,那么它的具体是怎么运作的呢,下面就一步一步来分析。生成跳转信息build在简单跳转的调用过程中...

2018-12-02 20:58:57 2570

原创 【ARouter】初始化过程分析

对于正常配置后的经过编译会在 app/build/generated/source/kapt/debug/包名 下生成至少三个类,分别为:ARouter$$Group$$组名存储某一组的路由映射ARouter$$Providers$$appARouter$$Root$$app用于初始化,将路由按组存储到一个 map 中。上面这一些类是在编译过程中生成的。应用打开时的初始化过程在 a...

2018-11-28 21:29:55 2215

原创 【ARouter】 ARouter 接入笔记

ddad

2018-11-28 20:45:54 891

原创 Android TextView局部下划线及点击弹出popu

由于一些原因导致两个多月没有更新博客,从今天开始继续更新。最近在项目中遇到一个需求,产品要求实现一个可以部分点击的 TextView,可点击的部分需要有虚线下划线以及在点击区域弹出 Popupwindow,这里把我的实现过程记录下来。这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成...

2018-10-16 16:14:11 1649

原创 Android 检测 View 的可见性

目前遇到一个需求,为了增加应用中广告投放的精确度与有效程度,现在需要对 app 中广告位的展示情况做一个统计并上报。设计思路思路很简单,因为需要对多个广告位做统计,那么就封装出来一个广告的控件,然后在这一个空间里面统一的检测广告的出现次数,即曝光的有效程度。根据产品需求,要广告出现在屏幕中2秒以上才算是有效曝光,所以就要动态的来检测展示广告的 view 的可见性。而这个也是...

2018-08-03 00:48:08 6199 9

原创 Android 基于zxing的二维码扫描功能的简单实现及优化

由于项目中需要接入一下简单的二维码扫描功能,最终使用 zxing 来实现,把官方例子中的部分代码摘除出来做了简单的封装,并进行了一些优化。这里简单做一个记录。扫描二维码Android 中关于二维码扫描的库有很多,但是归根到底无外乎下面这几种实现方案:zxingZBar其中基于以上两者实现的比较知名的库有:QRCodeReaderViewBGAQRCode-...

2018-07-29 22:51:05 1923 6

原创 【爬坑】一次OOM爬坑之旅

记一次 OOM 引起的爬坑之旅。问题测试反馈首页在刷新的时候有偶尔崩溃的情况,但是情况描述的不是很清楚,因为不是能一直复现的。复现找到测试妹子要来出问题的手机自测。根据测试的描述既然是在刷新的时候崩溃,所以就一直刷新首页看看能不能复现,果然复现了出来,在进行多次刷新以后首页出现了崩溃,然后再尝试几次并且统计各种数据发现每到第 12 次刷新的时候就出现崩溃。崩溃日志:...

2018-07-27 21:34:23 750

原创 【源码学习】window 的删除及更新过程

此类文章主要是用来记录学习源码的过程,更多的参考别人的分析过程自己去追踪源码,然后做下的记录。看 Android 源码是一个痛苦的过程,之前几次尝试都以失败而告终,这里把这个过程记录下来,算是对自己的一种激励。上一篇分析了 window 的添加过程,这一篇来继续分析 window 的删除和更新过程。和添加类似的,分析了添加的过程,删除和更新已经很明了了。删除和添加一样,也是通过...

2018-07-18 01:04:44 258

原创 【源码学习】window 添加 view

可以知道的是 Android 中的所有视图都是通过 Window 来呈现的,Window 是 View 的管理者。向 Window 添加 View 是通过 WindowManager 来实现的。WindowManager 是一个接口,并且继承自 ViewManager。关于 ViewManagerpublic interface ViewManager{ public ...

2018-07-10 01:27:31 450

原创 Android 面试总结【中级】-2018

从毕业至今经历了两家公司,都是比较小的创业型公司。目前因为公司的缘故(算是倒闭吧—停业清算)不得投入到轰轰烈烈的求职大军中来。面试经历不算丰富因为推掉了很多,没有BAT这样的大公司,不够也都不算是小公司了,自认为还是比较有代表性的。的东西吧大大小小的项目做过很多,技术也涉及到很多方面。本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Mar...

2018-06-27 00:57:31 996

原创 Jni 内存泄露(Failed adding to JNI pinned array ref table (1024 entries))

问题重现 错误代码 解决办法 原因 问题重现 Failed adding to JNI pinned array ref table (1024 entries)在开发蓝牙模块升级的时候, 由于要传送的升级文件较大,而 BLE 模块一次传输数据大小有限制,因此需要拆包,并需要频繁的通过JNI调用so库来组装报文,结果在低版本手机测试时遇到Fa...

2018-06-06 16:14:01 1184

原创 Kotlin 使用高阶函数实现回调

lambda 和 高阶函数之前学习了 lambda 和高阶函数,然后在 android 开发中对 onClick 事件进行监听是一个很常用的功能,kotlin 的常规实现如下: rootView.setOnClickListener { view -> println("点击了这个ID=${view.id}的view")

2018-06-02 11:17:57 12320 6

原创 Bitmap 在内存中有多大?

占了多大内存? 举个例子 怎么计算的 Bitmap 的生成 获取大小 所以呢大小怎么算? 网络图片大小 占了多大内存?首先这里要明确的是占用内存图片大小以上两者是不同的,占用内存表示图片被加载进来以后占用的内存空间大小,图片大小则是图片在磁盘存储时占用的大小。两者之间有什么关系么?下面再讲。获取一个biemap占用多...

2018-05-31 14:25:29 2319

原创 JNI 引用第三方 so

概述 举个例子 编写JNI文件 编译MK文件 概述在Android开发中有时会遇到使用JNI调用C/C++函数库的场景。一般这个时候都是使用NDK将C/C++源代码编译出so文件,然后进行调用。但是有时候会遇到另外的情况:我们在NDK项目中还要再引入其他第三方的SO库这个时候该怎么编译呢?通过使用动态函数库的调用方法,直接包含其头文件,便...

2018-05-28 14:06:45 2094 1

原创 记一次首屏加载优化过程-动态路由提升加载速度

背景 现有路由 动态路由 Webpack 配置 路由配置 优化结果 背景之前分别从原生层面以及 H5 层面对 HTML 的加载过程进行了分析,确定出加载的耗时主要出现在渲染阶段,但是页面本身并不复杂,dom 的结构也很简单,应该渲染很快才对,所以又通过 chrome 的 timeline 来进行更详细分析的开发文档,结果如下图,可以确定出在一...

2018-05-28 12:17:48 2607

原创 记一次首屏加载优化过程-分析

由于首页页面打开的过程中白屏情况严重,要解决问题,首先要分析问题出在哪。监控加载过程获取 webView 加载过程中的各个阶段的耗时情况从源生层面分析分别在加载 webView 的 activity 的 onCreate 、onResume 方法中记录时间LogUtils.e("onResume::" + System.currentTimeMillis());对 we...

2018-05-28 12:03:37 1766

原创 Android 普通蓝牙学习笔记

Android 普通蓝牙学习虽然做开发有一段时间了,但是有关蓝牙方面一直接触的不多,正好目前有一个关于蓝牙开发的需求,虽然是用到的BLE和普通蓝牙有些区别,但是既然学习了就顺便把普通蓝牙也学习一下,也为了以后自己少走些弯路,先将这些学习笔记学习下来。官方文档本例的源码已经上传,查看源码需要的权限<uses-permission android:name="android.permission.BLU

2016-09-04 00:35:23 1239

原创 Android BLE蓝牙通讯学习

Android 4.0 蓝牙BLE学习在app应用的开发过程中,一般和蓝牙接触的不多,但是随着智能穿戴设备的发展,穿戴设备和手机关联的app越来越多,之前也是没怎么接触过这一块的东西,正好最近需要做一个和蓝牙有关的app,所以研究学习下,把应用的东西总结一下。介绍BLE是Bluetooth Low Energy的缩写,又叫蓝牙4.0,区别于蓝牙3.0和之前的技术。BLE前身是NOKIA开发的Wibr

2016-09-02 15:50:35 3964 2

原创 android 微信支付当body标签为中文时出现编码错误的问题

将genProductArgsWX()方法中最后返回的xml编码更改为IOS8859-1即可如下:return new String(xmlstring.toString().getBytes(),"ISO8859-1");

2016-01-11 15:13:11 396

原创 android 百度地图标注覆盖物学习

介绍最近着手做一个新的项目,其中涉及到地图定位,以及从服务器获取附近的特定商家并在地图上面标注出来。于是就研究了一下百度地图标注覆盖物功能,然后进行一点个人总结,以便学习交流使用。一、定位百度地图SDK从2.0.0版本起,将定位功能进行了分离,开发者在使用过程中,下载开发包的时候注意下载带有定位功能的SDK。 定位功能的具体实现这里不过多赘述请参看官方文档; 核心代码如下: /**

2016-01-05 22:47:03 4118 1

原创 android studio 安装插件的方法

android studio 安装插件的方法最近学习使用android studio,其中android studio提供能各种强大的插件真是的大大的提高了开发效率,今天在安装插件的时候出了一个问题,一直报错。问了许多人也没有得到答案,网上也没有查到想要的,最后突发奇想简单粗暴的将问题解决。所以顺便也把android studio的插件安装方式总结一下。转载请注明出处。方式一 、通过网络添加如下所示

2016-01-04 23:14:53 1856

转载 XUtils中的BitmapUtils全注解

转载自:http://yangguangfu.iteye.com/blog/2212847/** * 加载图片工具类 * @author afu * */public class BitmapUtils implements TaskHandler { /** * 判断任务是否暂停 */ private boolean pauseTask = false;

2015-07-23 21:38:16 1003

原创 百度地图定位功能的简单应用

虽然以前了解过百度地图,但是今天突然用到发现原来自己什么都不会,只能先学习一下,根据需求从最简单的开始吧,首先说说地图的定位功能,这里只是实现了一它最简单最基本的功能,仅供初学者参考交流。有关下载:百度地图开发文档;下载SDK;申请key;需要的SDK下载完以后。将so文件的压缩文件解压出来,把对应架构下的so文件放入自己APP的对应架构下的文件夹中,建议全部放入,程序兼容性会大大提升,将

2015-06-30 00:03:26 472

原创 Android:使用JDBC链接MySQL数据库

Android:使用JDBC链接MySQL数据库今天别人问怎么用android链接mysql的数据库,说到一般都是需要建一个web项目,然后用http访问服务器,通过服务器来查询数据库;突然想到可不可以直接用android访问数据库呢?在网上查到的确可以这样做,就是用jdbc链接本机的mysql数据库,于是自己写了一个小的demo写在这里供以后查看复习以及大家学习交流使用,错误不当之处还请指正。

2015-06-21 21:13:22 1207

仿饿了么点餐页

完全仿照饿了么点餐页面,实现左右两边列表联动,添加购物车动画实现。

2016-02-28

android 百度地图实现定位以及批量添加标注

android 百度地图实现定位以及批量添加标注以及一些操作的基础代码,对应博客http://blog.csdn.net/u011494285/article/details/50465802

2016-01-05

Android绘图api+jar包

很好用的安卓绘制图表的api,方便绘制折线图、柱状图、饼状图等

2015-04-01

空空如也

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

TA关注的人

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