Android基础
文章平均质量分 94
Android系统开发的技术、总结、源码分析和使用细节
喜欢辣椒的胖子
这个作者很懒,什么都没留下…
展开
-
RxLifecycle源码解读—如何绑定生命周期
Rxjava在使用过程可能会造成内存泄漏,因此我们在开发中可能使用到Rxjava来绑定生命周期来及时释放Rxjava的流,RxFrament中的bindToLifecycle 方法如何实现和Fragment的生命周期绑定的?原创 2024-02-27 16:20:26 · 1075 阅读 · 0 评论 -
Gradle编译的那些事——从Groovy到Gradle插件开发
1.Android项目中的一些build.gradle分析apply plugin: 'com.android.application'apply from: 'test.gradle' allprojects { repositories { google() jcenter() }}最初的疑问:想这几句gradle的设置是什么含义?其中apply是什么,做了什么?allprojects、repositories这些语句设置了什么,原创 2021-11-09 12:02:28 · 3000 阅读 · 0 评论 -
setSpanSizeLookup-RecyclerView 中一个合并Grid的方法
RecyclerView从出来到现在基本上广泛使用了,但是对于我这样的还有很多东西不会用。基本使用包含listview模式和GridView模式,最近使用GridView模式,也就是使用GridLayoutManager 发现了一个有用的方法,可以像word中表格合并单元格一样使用,合并掉一些单元格。使用方法,在获取GridLayoutManager 以后调用一个方法:setSpanSizeLookup();这个方法可以像word中和表格合并单元格一样使用,方便我们在使用GridLayoutManager时原创 2016-12-19 15:13:52 · 6585 阅读 · 4 评论 -
RecyclerView 多布局使用
RecyclerView 的多布局使用,setSpanSizeLookup()方法设置占位比。原创 2017-08-31 12:38:48 · 2302 阅读 · 0 评论 -
Git的使用
Git作为开发人员的管理工具,使用的最为广泛。从仓库的创建,到分支的创建提交,代码的拉取、合并、rebase,commit压缩简化,前前后后有若干命令,经常使用完毕就忘记,这里将最近常用的命令做一整理以供参考和记忆。主要包含:git暂存区介绍git分支的创建、远程分支服务添加,多个远程服务代码管理;git 代码拉取、合并,commit合并,rebase命令使用等原创 2021-07-12 21:55:46 · 3550 阅读 · 0 评论 -
Retrofit 入门概念
Retrofit 这个东西火了很久了,之前项目一直用别的网络框架没用到。现在也出来学学这个新东西,现在一起看看官网的一些介绍。原创 2017-07-06 16:40:41 · 356 阅读 · 0 评论 -
Retrofit2 简单的使用
Retrofit2 很火的网络框架,前段时间了解了一些概念,最近又练了一下基本的用法,把一些东西记录下来,逐步一点点的学习使用。原创 2017-07-31 17:15:04 · 361 阅读 · 0 评论 -
完成一个进度条的定义
自定义View绘制图形,绘制文字基础实现。 2.创建一个类创建一个类,继承View 开始重写构造方法。写出需要的变量,在构造方法中获取将来属性中传递的原创 2017-11-28 17:25:38 · 660 阅读 · 0 评论 -
Android中的属性动画理解
属性动画中常用到类ValueAnimator,ObjectAnimator,属性动画就是通过改变对象的属性实现动画,这两个类完成了对象的属性从初始值到结束的值的变化。属性动高级使用,自定义估值器,自定义插值器。原创 2017-11-22 15:22:33 · 418 阅读 · 0 评论 -
Android 代码设置启动模式
今天一个朋友问道了这个问题,从A activity启动一个B activity,B启动一个C,C启动一个D,A、B、C、D四个都是默认的启动模式。现象需要D直接回到A activity,但是不能重新创建一个新的Activity。怎么给D的Activity 设置一个Intent的参数能实现这个需求。其实我们之前写过启动模式是SingleTop,或者SingleTask的就知道,当一个activi原创 2018-01-09 21:36:36 · 7159 阅读 · 0 评论 -
7.0系统中FileProvider使用和源码解析
Android 7.0强制启用了被称作 StrictMode的策略,带来的影响就是你的App对外无法暴露file://类型的URI了。如果你使用Intent携带这样的URI去打开外部App(比如:打开系统相机拍照),那么会抛出FileUriExposedException异常Android7.0系统中添加了一个新的设置,采用新的方式FileProvider访问文件系统。下面结合源码对Fil...原创 2019-04-26 15:18:44 · 1477 阅读 · 0 评论 -
Handler到底是如何完成线程切换的?
Handler到底是如何完成线程切换的?这个问题要从Handler最初的用法和原理讲起。首先我们列出正常情况下一个Handler使用的步骤然后讲解分析如何实现,这里不对一些基础的概念做解释,具体的请查阅源码。Handler的使用步骤:1.调用Looper.prepare();2.创建Handler对象;3.调用Looper.Loop()方法。4.线程中发送消息。这样我们...原创 2019-05-09 18:01:48 · 3766 阅读 · 2 评论 -
MVP架构入门梳理
MVP已经算是一个很常见的架构了,网上一搜一堆相关的内容。但是貌似实际的项目中使用的还不是很多,周围的朋友有个别的公司项目架构用到了。自己也常常听说相关的概念。虽然没有使用到,但还是动手操作,梳理一下,有一个更深刻的认识,这里对Google的demo和比较有名的demo梳理学习其架构的思路。原创 2017-07-04 16:34:12 · 352 阅读 · 0 评论 -
安卓文件操作方法区别
这个总结记得之前发了一次,今天突然找不到了,不知道是不是账号弄错了,很是着急,幸亏之前的保存还在,今天重新发一次,希望不要再找不到了。安卓文件操作涉及的可以分为三类:1. SharedPreferences共享文件操作2. 安卓内部文件存储操作3. 外部存储操作(SD卡)4. 数据库存储操作本文主要总结一下安卓内部和外部(SD卡)不包括数据库的操作过程和使用的方法和他们之间原创 2016-12-17 21:15:28 · 560 阅读 · 0 评论 -
自定义View操作一
自定义view ,组合的方式实现自定义view作为ListView 的item,内部嵌套GridView实现默认显示3条数据点击可以展开全部的需求。原创 2017-03-29 10:12:59 · 358 阅读 · 0 评论 -
几个简单动画属性使用
activity 切换动画overridePendingTransition()方法,属性动画translate 的基本使用。原创 2017-03-25 15:55:53 · 313 阅读 · 0 评论 -
Android 中的“64k”问题和分包
前段时间做项目,因为项目应用了太多的第三方库和包,也出现了著名了“64K”问题。就是说代码中的一些东西超出了Android本身架构的极限。当时太着急,找到了解决的办法就搁置了。今天在看Android官方文档时发现,Android对这个问题早就做了处理。所以今天在此粘贴复制,做一个记录。随着 Android 平台的持续成长,Android 应用的大小也在增加。当我们的应用及其引用的库达到特定大小原创 2017-04-06 11:28:29 · 614 阅读 · 0 评论 -
DatePicker隐藏“天”选择
最近使用了DatePicker 这个控件,采用的是往上又一次分装的这种,就是两个卡片切换选择年月日和时间。有一个需求时这个选择器不显示出来“天”的这个选项。查资料发现,有人做了实现,具体代码还没弄清楚,这里做一个记录,方便后续使用。创建对象是调用方法: /** * 隐藏“天” * @param mDatePicker */ private void原创 2017-04-05 15:07:35 · 774 阅读 · 0 评论 -
Diffutils打造不一样的recyclerview
DiffUtil是recyclerview support library v7 24.2.0版本中新增的类,根据Google官方文档的介绍,DiffUtil的作用是比较两个数据列表并能计算出一系列将旧数据表转换成新数据表的操作.使用这个类可以优化如RecyclerView的刷新效果,提高效率。转载 2017-05-05 10:05:21 · 1273 阅读 · 0 评论 -
android多媒体数据库三
虽然今天来看,有关数据库,图库操作的库已经很多了,个人还是觉得要学一下基本的原理。前面学习了两篇大牛的多媒体数据库分析,觉得这里应该添加上一些基本操作方式,以前自己学习使用的时候没有做一个记录,这里为了让成一个系统,找到一篇相关文章,予以记录。数据库的基本操作方式分析:MediaStore这个类是android系统提供的一个多媒体数据库,android中多媒体信息都可以从这里提取。这个Me转载 2017-05-06 10:57:07 · 595 阅读 · 0 评论 -
android 多媒体数据库二
android多媒体数据库表分析,深入学习android数据库。转载 2017-05-06 10:34:37 · 3762 阅读 · 0 评论 -
Android 多媒体数据库一
android 多媒体数据库,对数据库表,存储做一个分析。转载 2017-05-06 10:26:16 · 527 阅读 · 0 评论 -
翻译的很好的一篇Android mediaplayer
android MediaPlayer 播放音频,视频流程分析。转载 2017-05-06 11:18:52 · 277 阅读 · 0 评论 -
Android开发架构的一些思考
App架构的一些思考做了很长时间的的andrroid,也学了不少的技术,知识点,但是知道自己对于Android架构和面向对象的思想还是很缺少。之前学过一些JavaEE开发的东西,学习过程大牛们总是对于开发的架构分的很细很有层次。Dao,Service,Servlet 不同的层负责不同的功能。代码结构清晰,明白。我们在大学初期学习javaWeb,自己做项目的时候就是代码全部写在Servlet中,原创 2017-06-24 17:58:30 · 394 阅读 · 0 评论 -
Android 选择图片拍照裁剪压缩整理
一般项目中如头像这样的一些图片选择我们都直接调用系统的相机和图片库来操作,所以从这个调用到剪裁一起在捋一捋。调用选择图库:调用拍照,图片裁剪,图片压缩,图片旋转原创 2017-05-13 11:31:11 · 758 阅读 · 0 评论 -
从Notification发通知跳转引发的几个问题
这两天做了一个Notification 通知消息的东西,需要从通知点击调到指定的Activity,一般来说,这个需求挺简单的,直接在通知中添加,一个Intent 然后使用PendingIntent就可以完成需求。问题出现在了需求是要跳转到正在运行的MainActivity中的Fragment中去。结果发现使用原来的方法getIntent去获取数据就获取不到了。经过一通的搜索Google才找到了解决方法,使用onNewIntent 方法,这其中有涉及到了启动模式的一些东西以及FLAG_ACTIVITY_NEW原创 2016-12-17 21:22:12 · 2992 阅读 · 3 评论