- 博客(40)
- 资源 (8)
- 收藏
- 关注

原创 recyclerview适配器(recyclerview万能适配器)
RecyclerView,它是Android5.0的时候出来的一个新控件,主要目的就是替代的ListView和GridView控件,也就是说RecyclerView能够实现ListView控件和GridView中的效果,甚至比原来的更好,更方便,关于RecyclerView的使用本章不做讲解,请自行百度。本次讲解的RecyclerView万能适配器相比网上的一些例子更加简单,功能更多...
2019-07-22 11:59:18
2237

原创 无侵入布局多界面管理 Loading Empty retry
多布局页面 无侵入布局 为Activity、Fragment、任何View设置等待(loading)、重试(retry)、无数据(empty)页面。
2019-05-30 13:11:06
2667

原创 Android 材料设计Material Design 动画篇(一)
Material Design动画,揭露动画,转场动画,过度动画,共享元素动画,矢量图动画
2018-10-30 15:17:05
64737
1

原创 关于Android Studio 3.0 报错 com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
当你使用android插件for gradle 3.0时,会默认启用Aapt2。Android的Gradle 3.0插件默认启动Aapt2,目的是为了改进增量资源的处理。aapt2 适配之资源 id 固定在网上大部分给出的解决方案 都是在工程目录下打开gradle.properties并添加这个:android.enableAapt2=false注意 : 如果你
2018-02-06 16:13:38
2287

原创 文章总结
Android开发中,哪些可以“要”,哪些不可以“要”? Android Studio插件整理 Android开源工具库 减少APK的大小,Android官方这样说 Android Studio JNI 开发简单案例 构建 Android 应用程序一定要绕过的 30 个坑 Android 混淆从入门到精通 Android探索之旅 | 开发资源大搜罗! Gradle 实现 Andr
2017-09-25 16:53:04
379

原创 activity波纹效果切换界面
Android的Material Design设计理念 先上效果图Circular Reveal官方将这一动画称为揭露效果,它在官网中的描述是这样的:当您显示或隐藏一组 UI 元素时,揭露动画可为用户提供视觉连续性。波纹扩散效果
2017-08-16 19:55:38
853

原创 完全自定义RecyclerView下拉刷新上拉加载
自从谷歌推出SwipeRefreshLayout之后越来越多的博客都是使用SwipeRefreshLayout来完成下拉刷新,但是往往产品经理根本不会使用谷歌的样式.每个公司都有一套自己的下拉样式这个时候就需要我们完全自定义RecyclerView的下拉刷新,基本查阅了网上所有的下拉刷新,但是效果都不怎么样.个人感觉我写的这个下拉刷新效果方面绝对的66666,欢迎可以提出一些改进意见:...
2017-08-10 17:08:18
15638

原创 RecyclerView item按下变色效果+水波纹效果
相信大家肯定有过这样的需求,给recyclerview的条目设置按下变色或者水波纹效果1. 水波纹效果实现1)系统效果系统有界效果 在API 21以上使用,才有波纹效果;API 21以下使用只有变色效果,没有波纹效果android:background="?android:attr/selectableItemBackground"系统无界效果 在API 21以上才能使用...
2017-08-10 16:00:52
10150
1

原创 Android 将图片资源转化为Bitmap的多种方法
图片资源转化为Bitmap的多种方法,总有一款是你需要的 方法1: Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.mingchuseal, newOpts);方法2: Drawable drawable = getResources().getDrawable(R....
2017-07-28 09:56:04
7481
1

原创 Android开发的一些小技巧
本篇讲述的是Android开发中遇到的一些好用的小技巧,或者一些实用的API,很多人都知道,但也有人不知道,记录下来,如果能帮助到大家,也是极好的.有些工具和类我也会经常用,所以我会根据自己的想法去写.有些地方坐在并没有将这个工具的作用讲出来,我会补充上去.正文:Activity.startActivities()) 常用于在应用程序中间启动其他的Activity.
2017-07-21 19:32:57
371

原创 Android 使用FlexboxLayout完成优雅的布局
去年 Google I/O 上发布了 ConstraintLayout使得在构建复杂布局的同时能够让视图层级得到精简。与此同时,也开源了 FlexboxLayout使得 Android 里的 CSS Flexible Layout 模块也能拥有同样强大的功能。下面我们介绍几个例子来说明一下 FlexboxLayout 的得力之处。FlexboxLayout 可以理解为高级的 LinearLayout
2017-07-10 10:38:55
4348

转载 Git的简单使用及远程仓库的推送
Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。本教程是史上浅显易懂的 Git 教程,能够帮助读者迅速掌握并上手操作 Git 命令。本教程实用性超强,边学边练,一点也不觉得枯燥。而且,你所学的 Git 命令是“充分且必要”的,掌握了这些东西,你就可以通过 Git 轻松地完成你的工作。
2017-07-06 19:54:19
552

原创 Android跳转系统应用
收集的一些关于android系统级别的跳转 类似与跳转到视频列表,跳转到系统浏览器,跳转到系统拍照,跳转到相册,跳转到拨号界面,跳转到录音机,跳转到直接拨打电话,跳转到打开联系人列表,跳转到sd卡,跳转到打开系统设置,跳转到网页,等等
2017-07-06 16:39:35
711
1

原创 Android RecyclerView的中级进阶 侧滑删除和拖拽排序
RecyclerView相信大家都已经了解,以前我们使用的listView,gradView渐渐的使用的人越来越少.可以说RecyclerView肯定会取代listView,gradView.今天我们来讲讲recyclerview的侧滑删除和拖拽排序.不了解RecyclerView的请自行去百度在很多时候我们需要使用这样的功能,如果自己用代码去实现拖动排序与滑动删除会比较麻烦还好谷歌为我们提供了一个
2017-07-06 12:33:45
809

原创 AndroidStudio统一管理依赖包
在很多时候我们使用AndroidStudio开发安卓App的时候都会引入第三方的库,在一个project下我们可以有很多的module,每一个module就是一个app,但是每个module在进行第依赖第三方的时候,有可能所依赖的第三方的版本不同,记住每次使用的版本号也不太可能,所以统一管理第三方依赖就尤其的重要。我们可以将依赖的第三方集中放入到一个gradle中,然后在需要使用的的modu...
2017-07-05 19:02:26
1266
2

原创 Android Retrofit HTTPS 单向认证 双向认证
由于最近要做一个安全性比较高的项目,因此需要用到HTTPS进行双向认证。客户端基于Retrofit + Rxjava+EventBus来实现
2017-06-12 16:25:08
3423
1
原创 android添加任务到最近任务列表
标题微信小程序添加到任务列表实现原理微信中打开了"(小程序)“后,可以看到,任务列表不仅显示了"微信”, 还显示了"(小程序)"的入口.通过这个入口,就可以很方面的切换小程序了, 体验和原生程序也一样一样的.分析:.Android系统中,显示最近程序列表的View是 RecentsPanelView.他通过refreshRecentTasksList()加载程序列表,我们来看看代码:可以看到RecentTasksLoader mRecentTasksLoader负责真正处理数据加载.p
2022-04-24 12:44:39
3556
原创 Android Glide实现加载加密后的图片
Glide的基本使用Glide.with(this).load(url).into(image)前言由于图片被加密,如果每次都是解密之后才进行Glide加载则失去了Glide的默认缓存机制。所以怎么样才能做到像Glide加载普通文件一样,只需要一次加载解析,其他情况在缓存中查找呢? 查找了相关资料发现Glide 还能够加载ModelType类型数据加载加密后的图片测试代码: //读取一张普通图片 val bitmap = BitmapFactory.decodeRe
2021-04-27 15:22:29
1490
1
原创 Android必问面试题
内存优化布局优化渲染优化图片优化使用 lrucache缓存机制网络优化内存泄漏内部类持有外部类的引用单例造成的内存泄漏Handler的使用资源对象没有关闭,如游标(Cursor),File文件(io流)bitmap使用完毕没有释放注册没取消造成的内存泄漏,如 eventBus 动态注册广播调用registerReceiver后未调用unRegisterReceiver集合...
2021-03-24 18:16:29
150
原创 保存图片到相册(适配安卓11)
保存图片到相册 /** * 保存图片到相册(适配安卓11) */ fun saveBitmapPhoto(bm: Bitmap) { val resolver = AppUtils.getApplication().contentResolver val contentValues = ContentValues().apply { put(MediaStore.MediaColumns.DISPLAY_NAME,
2021-01-05 19:05:25
3972
2
原创 Android闪屏页(启动页)秒开的实现
简单分析一下闪屏页白屏,黑屏原因市面上的有些App,点击App图标后,会出现白屏或者黑屏一段时间的问题。为什么会出现这种问题呢,其实在启动Acitivty的启动过程中,onCreate()方法并不是发生在窗口绘制的第一步,系统会在执行这个步骤之前,先绘制窗体,这时候onCreat()还没被执行,我们的setContentView(R.layout.activity_splash)就更不会被执行了,布局资源还没有被加载,这时系统就会使用当前Activity的主题默认背景色来展示。简单两步实现闪屏页秒开无白
2020-12-16 13:27:17
3220
1
原创 Mysql最新安装方式绝对可靠
1.下载https://dev.mysql.com/downloads/mysql/2.选个目录解压3.在根目录新建my.ini文件4 复制以下内容到my.ini basedir目录datadir目录 修改为你自己的目录[mysqld]# 设置mysql的安装目录basedir=D:\mysql-5.7.22-winx64# 设置mysql数据库的数据的存放目录,必须是datadatadir=D:\mysql-5.7.22-winx64\data#...
2020-06-22 09:27:35
245
原创 java.net.SocketException: socket failed: EPERM (Operation not permitted)
解决办法1加入两个权限uses-permission android:name=“android.permission.ACCESS_NETWORK_STATE”uses-permission android:name=“android.permission.INTERNET”解决办法2卸载App重新运行解决办法3前俩种方案同时进行亲测有效...
2020-05-16 20:39:51
826
原创 Android 提高开发效率
多布局管理无侵入布局 为Activity、Fragment、任何View设置等待(loading)、重试(retry)、无数据(empty)页面。https://github.com/liulong123/MultiPageControl下拉刷新上拉加载SmartRefreshLayout: https://github.com/scwang90/SmartRefreshLayout动态权...
2020-05-01 18:57:46
399
原创 Viewpager2最全使用方式
1.介绍:viewpager2使用recycleview加LinearLayoutManager实现水平竖直滚动, 其实可以理解为对recyclerview的二次封装。viewpager2的适配器FragmentStateAdapter在遇到预加载时,只会创建Fragment对象,不会把Fragment真正的加入到布局中,所以自带懒加载效果;2.常用方法API://刷新Viewp...
2019-11-15 11:58:14
7136
3
原创 Flutter 保存页面状态
一,在需要保存页面状态的dart文件里加入AutomaticKeepAliveClientMixin混入,加入后需要重写wantKeepAlive方法。主要代码如下:class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin { @override bool get ...
2019-10-17 11:56:12
1785
原创 Flutter web flutter
flutter web No pubspec.lock file found, please run "pub get" first.
2019-08-13 11:59:59
892
原创 java.net.UnknownServiceException: CLEARTEXT communication to appid.aigoodies.com not permitted by ne
Google表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android No...
2019-06-13 13:06:32
477
原创 Java Fx 使用详解
1.编写主程序启动代码首先新建一个主窗口类,继承自javafx.application.Application类:public class Main extends Application { public static void main(String[] args) throws Exception { launch(args); } ...
2019-02-19 14:59:07
7575
原创 jackson map转对象
Jackson已经满足了大部分的序列化和反序列化工作,但是对于复杂的泛型实体估计未必能如愿的正常反序列,而此时对于一些泛型里面的实体对象就会反序列化成LinkedHashMap类型的 Map<String,String> map = new LinkedHashMap<>(); ObjectMapper objectMapper =...
2018-12-10 11:39:43
9389
原创 Android Jetpack简介
Android Jetpack简介2018年谷歌I/O 大会上,Google发布了一系列辅助android开发者的实用工具,合称Android Jetpack,并称其为下一代的 Android 组件,旨在帮助开发者加快应用开发速度。Android Jetpack组件以现代设计实践为基础、将支持库向后兼容和立即更新的优点融合到更多组件中,让开发者能够快速轻松地开发出拥有卓越性能的高质量应用。它能...
2018-11-08 10:08:26
329
原创 Android 计算行高(新特性)
PrecomputedText显示文本可能很复杂,包含多种字体,行间距,字母间距,文本方向,换行符,连字符等功能。TextView必须做很多工作来测量和布置给定的文本:读取字体文件,查找字形,确定形状,测量边界框以及在内部字缓存中缓存单词。更重要的是,所有这些工作都发生在UI线程上,它可能会导致您的应用程序丢帧。文本测量花费的时间占据文本设置的90%。为解决这一问题,在 Android ...
2018-10-26 15:36:59
1644
原创 Android9.0对非 SDK 接口的限制
在 Android 9.0 版本中,谷歌加入了非 SDK 接口使用限制,无论是通过调用、反射还是JNI等方式,开发者都无法对非 SDK 接口进行访问,此接口的滥用将会带来严重的系统兼容性问题。 在开发过程中,开发者如果调用了非 SDK 接口,会导致应用出现crash,无法启动;或在运行过程中出现崩溃、闪退等现象;也可能导致应用功能不可用等严重兼容性问题,其影响范围波及所有调用此接口的应用。 ...
2018-10-19 12:00:59
4293
原创 Android5.0之材料设计各大组件
简介 在Google I/O 2015大会中,Google为Android开发者介绍了Design Support Library。这个library可以让开发者很容易地实现更多Material Design概念到他们的应用中,因为很多关键元素是不可用的在原来的框架外。首先就是很易于使用,Design Support Library向下兼容到API 7。Design Support Lib...
2018-02-07 11:39:07
520
原创 Android 时间戳转化为文字描述
Java Android 时间戳转化为 文字描述 小于1分钟 :刚刚大于等于1分钟 小于1小时 几分钟前大于等于1小时小于1天 :几小时前大于等于1天小于1年 :几月几日大于等于1年:几几年几月几日 /** * 返回文字描述的日期 * * @param time 时间戳 秒 * @return ...
2017-09-27 15:50:02
569
1
flutter移动电商实战.zip
2019-10-16
侧滑删除SlideDelete
2017-09-18
完美的Android使用Activity用作弹出式对话框dialog
2017-09-18
自定义RecyclerView下拉刷新上拉加载
2017-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人