-
Android开发百度人脸识别模块使用分享
首先介绍下百度人脸识别模块(baiduFaceRec): baiduFaceRec模块封装了百度AI人脸识别功能,使用此模块可实现百度人脸检测(包括age,beauty,expression,faceshape,gender,glasses,landmark,race,quality,facetype信息)、人脸对比功能(比对两张图片中人脸
-
Android Fragment 懒加载实践
开发中,Fragment 最常见的两种使用方式就是 ViewPager 嵌套 Fragment ,以及直接通过FragmentManager 来管理 Fragment,对应的交互场景相信大家心里都有一个原型,没有的话也没关系,后边会有例子的。但这和懒加载有什么关系呢?试想一下,如果每个 Fragmen
-
Android开发一步步封装实现自己的网络请求框架
一、前言 现如今 Android 领域流行的网络请求框架基本都是用 Retrofit 加 RxJava 来搭配构建的,而以 ViewModel + LiveData + Retrofit + RxJava 来构建请求框架的例子要相对少得多。而本文就是以这四者作为基础组件,介绍如何一步步封装实现自己的网络请求
-
Android开发彻底搞定 Kitkat+沉浸式状态栏效果
首先,我要实现的最终效果是这样的,即在Android4.4及以上版本系统上,统一显示为如下效果: 所谓沉浸式状态栏 这里所说的沉浸式状态栏,就是指上面的效果,状态栏和Toolbar的颜色保持一致,融为一体的效果。 版本差异及解决方法 本文所用的示例使用的style
-
Android 辅助功能服务AccessibilityService使用
Android提供辅助功能服务的目的在于帮助那些具有视觉、身体或年龄相关限制的用户更轻松的使用Android设备和应用,例如当用户悬停在屏幕的重要区域上时将文本转换为语音或触觉反馈,从而使一些有视力缺陷的用户也能够使用。除此之外,我们还可以使用Accessibi
-
Android提升开发效率和团队协作效率
在业务开发的过程中,往往存在 平台代码和业务代码耦合严重难以分离、业务和业务之间代码交织缺少拆解 的现象。平台和业务代码交织导致不易修改,不同业务的代码交织增加了不同负责团队之间的协同成本。因此不论从代码质量,还是从团队协作的角度来看都严重
-
Android 网络请求原理以及原始数据包
我们在请求网络的时候都是使用各种框架,或者是 Android SDK 为我们提供的网络请求类。但是你知不知道原始的网络请求包是什么样的呢?或许你说这有什么作用,我会使用框架就好了。很显然,这种想法是有问题的。一些网络请求的基本知识我们还是需要掌握的。这
-
Android三步实现地图自定义InfoWindow
前言 现在的app很多都需要接入地图,不同的app都会定义自己的marker以及InforWindow,本文以高德地图为例,描述自己自定义InfoWindow之路。 先看看效果图: 高德地图的SDK以及接入流程,官方文档已经写的很明白了:http://lbs.amap.com/ 第一步:自定义Infor
-
Android自定义 LayoutInflate 实现酷炫引导页
今天,我们来搞点事情,自定义一个 LayoutInflate,搞点有意思的东西,实现一个酷炫的动画。首先,在自定义 LayoutInflate 之前,我们要先分析一下 LayoutInflate 的源码,了解了源码的实现方式,才能定制嘛~~~~ 好了,怕你们无聊跑了,先放效果图出来镇贴
-
Android开发DRouter:完美支持多进程的组件化方案
写在开头 组件化技术适用于需要多人协作的中大型项目,如果是一个人的项目且开发人员未实践过组件化方案则不建议采用。 组件化的优点 1.业务隔离,使得各业务模块专注于自己的业务实现,而不必关心其他业务模块. 2.单独调试,每个模块可以独立运行,方便开发
-
Android一种海量多维数据复杂计算的解决方案
1、业务背景 随着闲鱼业务的发展,用户规模达到数亿级,用户维度的数据指标,达到上百个之多。如何从亿级别的数据中,快速筛选出符合期望的用户人群,进行精细化人群运营,是技术需要解决的问题。业界的很多方案常常需要分钟级甚至小时级才能生成查询结果。
-
android开发美团猫眼电影模块化实战
1 写这篇博客的初衷 首先一句话概括:我想把这几个月做的事情记录下来,并且希望尽量详细,希望读者读了这篇文章能够知道项目进行模块化,项目改业务框架可能会遇到哪些问题,具体每个步骤都做什么,而不是大致的了解。 现在很多人都在谈模块化,网上有一大
-
Android开发优雅地在Flutter中嵌入Native组件
引言 在漫长的从Native向Flutter过渡的混合工程时期,要想平滑地过渡,在Flutter中使用Native中较为完善的控件会是一个很好的选择。本文希望向大家介绍AndroidView的使用方式以及在此基础之上拓展的双端嵌入Native组件的解决方案。 1. 使用教程 1.1. DemoRun
-
NestedScrollView+RecyclerView优雅的解决滑动冲突问题
在此之前,经历过ScrollView嵌套ScrollView滑动冲突,ScrollView与ListView嵌套滑动冲突等等,网上解决方法比较多暂不赘述了,RecyclerView出来已经差不多2年了,ListView可以说已经成为了过去式了,现在开发完全使用RecyclerView就行了。 我亲自试验过,Rec
-
Android Kotlin开发偶遇Rxjava、Retrofit进行网络请求
本篇能学到什么 Kotlin配合Rxjava+Retrofit+缓存策略进行网络请求 Kotlin Retrofit简单封装 Kotlin使用单例模式 开始 Kotlin配合Rxjava+Retrofit+缓存策略进行网络请求 网络请求基本上每个应用App都要具备的需求之一,网络请求库也有许多,Android源码中用 j
-
Android开发 沉浸式状态栏 渐变颜色的实现
最近在开发中遇到一种个性化的需求,类似于QQ顶部的渐变状态栏的实现,如下图 首先我们要了解在Android5.0以后,系统API提供直接设置StatusBar来改变状态栏的颜色,然而在4.4上StatusBar变色的基本原理就是将StatusBar本身设置为透明,然后在StatusBar的位置
-
Android开发中classloader加载class文件的原理和机制
1 JVM架构整体架构 在进入classloader分析之前,先了解一下jvm整体架构: JVM被分为三个主要的子系统 (1)类加载器子系统(2)运行时数据区(3)执行引擎 1. 类加载器子系统 Java的动态类加载功能是由类加载器子系统处理。当它在 运行时 (不是编译时)首次
-
Android实现仿微博导航条效果
前言 老早就想写这篇博客了,demo早就完工了,博客到现在才写,惭愧。忘记什么时候开始看微博时,无意中注意到微博的导航条,好有趣,就无聊的拖过来拖过去。不多说,上图。 可以看下微博,自己滑动试一试。 看到上面的黄色的条条,可长可短,邪恶~~ 两个TAB
-
AndroidStudio用久了,磁盘越来越不够用了怎么办?
AndroidStudio用久了,磁盘越来越不够用? 你应该需要这个 以 Windows 10 为例 先提醒下,如果文件目录删不掉,应该是文件目录的字符长度太长,所以把那些长的重命名一下再删就好。 批量重命名,先 ctrl+A 全选,鼠标右键选重命名就好 首先来到用户目录 C:\U
-
Android内存优化——常见内存泄露及优化方案
如果一个无用对象(不需要再使用的对象)仍然被其他对象持有引用,造成该对象无法被系统回收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费,这中情况就是内存泄露。 在Android开发中,一些不好的编程习惯会导致我们的开发的app存在内存泄