随笔分类 - Android 经验之谈
摘要:做Android开发很多年了,多次思考过App开发和SDK开发在架构方面及其他各个方面的异同,以及各自方向开发时需要注意的事项。 下面是我个人对SDK开发的理解及相关经验分享。 一、SDK 开发概念 SDK即Software Development Kit,通常是为辅助开发某类软件,而编写的特定的软
阅读全文
摘要:使用 git branch -a 命令可以查、看所有本地分支和远程分支(git branch -r 可以只查看远程分支)。发现很多在远程仓库已经删除的分支在本地依然可以看到。 $ git branch -a movtop task_develop * weibo remotes/origin/HEA
阅读全文
摘要:做Android SDK开发的时候,一般我们会将初始化的方法封装为,然后让调用SDK的开发者在Application的onCreate方法中进行初始化。但是目前一些主流的SDK框架,并没有提供相关的方法进行初始化,但是我们在使用的时候也能正常使用,通过挖掘其源码,可以看出来他们一般使用的Conten
阅读全文
摘要:一、什么是 AOP? AOP就是面向切面的编程,是一种通过预编译方式和运行期动态代理实现程序功能的统一维护的技术。通过AOP技术,我们可以对业务逻辑的各个部分进行分拆,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 二、Android 中使用AOP场景 1. 可以
阅读全文
摘要:一、DeepLink 技术介绍 DeepLink,即为深度链接技术,主要应用场景是通过Web页面直接调用Android原生app,并且把需要的参数通过Uri的形式,直接传递给app,节省用户的注册成本。 DeepLink 通常运用于App社交分享、App广告引流、App裂变活动、Web to App
阅读全文
摘要:问题现象 为了防止在app启动时出现黑屏或者白屏问题。需要选择冷启动处理。实现方式如下: 在styles文件中添加自定义主题: <style name="ThemeSplash" parent="Theme.AppCompat.Light.NoActionBar"> <item name="andr
阅读全文
摘要:需求: 近段时间正好有一个需求,是要实现Gif图只加载播放一次,并且要在Gif播放完毕后回调给系统的需求。 因为Glide 3系列的API与4系列还是有很大差距的,这里我们针对Glide 3.x和Glide 4.x的分别进行实现方案的说明。 解决方案: 在Glide3.x的解决方案: Glide.w
阅读全文
摘要:做 Android 音视频播放器开发的时候,我们基本都会遇到一类需求:音量 & 亮度 调节。其中做亮度调节功能的时候,发现还是有一定复杂度的。 Android亮度调节分为两个类,分别是: Android 系统亮度调节 Android 当前屏幕(Window)亮度调节(即App亮度调节) 一、Andr
阅读全文
摘要:问题背景 Android Studio 开发时使用到了 GSYVideoPlayer 开源的播放器框架,配置信息如下: 在这之前,已经配置了support库: 运行时报错如下: 通过报错的内容大概可以猜测出来是播放器使用的V4库和我们配置的V4库出现冲突了,而且是版本冲突。 解决方案 解决方案无非就
阅读全文
摘要:为何加上“国产”二字呢,因为目前测试时就国产手机存在的安装问题多,而且都很奇葩,不得不说对于开发者时很不友好的。 下面就是个人总结的针对不同的机型调试时出现的问题做的总结: 1、VIVO 手机 解决方案: 二、华为手机 1. 真机调试无法使用 在Android开发中,一直在使用华为的荣耀8进行调试,
阅读全文
摘要:一、说明 官方原文如下: We hope the division between android.* and androidx.* makes it more obvious which APIs are bundled with the platform, and which are stati
阅读全文
摘要:在做视频播放器的时候,遇到一个问题,在用户播放视频然后锁屏之后,视频播放器仍然在继续播放,遇到类似手机系统状态改变的问题的时候,首先想到了广播,下面做个总结: public class ScreenListener { private Context mContext; private Screen
阅读全文
摘要:通过onTouchEvent判断是否为双击事件,通过前面一次up 跟本次down之间的时间差,并且点击的点的坐标偏移来确定是否为双击事件DOUBLE_TAP_TIMEOUT。
阅读全文
摘要:问题背景:话机连接了头戴式的耳机,在通话过程中短按按钮是挂断电话,长按按钮是通话静音。客户需求是把长按改成挂断功能,短按是静音功能。 android版本:8.1 在通话中,测试打印信息,可以看到button的Keycode 是79, 对应着按键KEYCODE_HEADSETHOOK。 Phonewi
阅读全文
摘要:Android API 21新增了Camera2,这与之前的camera架构完全不同,使用起来也比较复杂,但是功能变得很强大。 在讲解开启预览之前,首先需要了解camera2的几个比较重要的类: CameraManager: 管理手机上的所有摄像头设备,它的作用主要是获取摄像头列表和打开指定的摄像头
阅读全文
摘要:使用此方法下载Jar包的前提是已经配置好了Gradle的环境了,配置好的标志是在终端输入gradle不提示command not found。 1. 编写build.gradle文件代码: 2. 执行下载的指令 3. Maven 下载方式 http://www.cnblogs.com/tangshe
阅读全文
摘要:1.分包背景 我们在Android开发中,会不断的在App代码里面增加新功能,引入新的类库,如果不加控制的话,那么会碰到编辑器IDE爆出一下错误: 这个错误是Android应用的对方法总数有限制造成的。Android平台的Java虚拟机Dalvik在执行DEX格式的Java应用程序时,使用原生类型s
阅读全文
摘要:Android手写板和涂鸦的功能,代码如下:
阅读全文
摘要:核心逻辑为AndroidMainfest.xml里面的指定Activity里增加配置: 添加了<intent-filter>标签的 Activity里面可以获得启动应用的链接的信息: 后续的工作就是针对性处理链接里面附带的相关信息就行了。
阅读全文