关闭
当前搜索:

[置顶] 使用阿里ARouter路由实现模块化开发流程

Android平台中对页面、服务提供路由功能的中间件,我的目标是 —— 简单且够用。这是阿里对Arouter的定位,那么我们一起来梳理一下Arouter使用流程,和使用中我所遇到的一些问题!先来看看有哪些功能模块化的要解决的问题 模块间页面跳转(路由); 模块间事件通信; 模块间服务调用; 模块的独立运行; 模块间页面跳转路由拦截(登录) 其他注意事项; 对项目模块进行划分app模块:主模块,主要进...
阅读(1921) 评论(4)

[置顶] android:一步步实现插件化与热更新

由于插件化开发与热更新最近貌似越来越火,新开的项目准备也使用插件化进行开发!其中遇到不少坑,在这里写了一个小的例子,记录一下开发流程,有助于自己,同时希望能够帮助大家理解,并且对于自身项目接入插件化有所帮助!插件化效果:插件化开发的含义:插件化开发也是将一个项目app拆分成多个模块,这些模块包括宿主和插件。 每个模块相当于一个apk,而组件化相当于一个lib。 最终发布的时候将宿主apk和插件apk...
阅读(1849) 评论(2)

[置顶] android:线程池和AsyncTask使用小结

AsyncTask3.1之前: 2.3系统同时execute执行10个异步任务 2.3到3.1版本之前的系统默认最大并发执行5个线程,缓冲线程队列最大128个。虽然开了10个异步任务, 但是只能同时并发执行5个,其他的任务都得等前面5个执行完后才继续执行,接着也是5次并发执行。 3.1版本之后 默认是使用SERIAL_EXECUTOR串行任务执行,可以预料到异步任务将会是一个个顺序执行一个个线程按加...
阅读(1756) 评论(2)

[置顶] android替换Glide通讯组件为Okhttp并监控加载进度

效果图前几天看到郭霖博客(在此对其表示感谢)发表了一篇关于Glide替换通讯组件为Okhttp并监控加载进度的博客,当时看了一下,按照他的思路,就写了一下,把Glide替换Okhttp基本完成,并且监听到了加载进度的log了。然后,这几天一直在忙,今天突然发现他的博客竟然删除了!于是我就接着把剩下的步骤完成,在列表中进行展示进度,图片比较小,所以显示不是很明显,但是基本逻辑和核心代码是一致的。好了看...
阅读(1445) 评论(2)

常用中文字体 Unicode 编码

字体名称 英文名称 Unicode 编码 宋体 SimSun \5B8B\4F53 新宋体 NSimSun \65B0\5B8B\4F53 黑体 SimHei \9ED1\4F53 微软雅黑 Microsoft YaHei...
阅读(56) 评论(0)

android打开手机相册获取真正的图片路径

根据打开相机返回的Uri uri = data.getData();获取该相片的真正SD卡路径! 权限 uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> uses-permission android:name="android.permission.WRITE_EXTERNAL...
阅读(350) 评论(0)

移动端强大的富文本编辑器richeditor-android

通常我们使用富文本编辑器都是在H5端实现,但是如果你遇到在移动端发表文章的功能,那么richeditor-android这套框架可以轻松为你实现,不需要再使用大量的控件进行拼凑! 功能表如下图所示: 引入richeditor-android richeditor-android需要的jar: implementation 'jp.wasabeef:richeditor-a...
阅读(436) 评论(0)

android程序崩溃框架—CustomActivityOnCrash

在android中如果你的程序发生崩溃,一般程序就会退出,这时用户就要重新打开App并重复进行操作,当这个时候,我们或许会需要一个需求,让App自动重启,有的公司会发布公测版App这个时候,如果发生问题,可以让用户填写反馈报告,这时CustomActivityOnCrash就给我们带来了便利! 效果图 使用框架自带错误页面 使用自定义错误页面 引入CustomActiv...
阅读(192) 评论(0)

android 优秀框架整理

程序员界有个神奇的网站,那就是github,这个网站集合了一大批优秀的开源框架,极大地节省了开发者开发的时间,在这里我进行了一下整理,这样可以使我们在使用到时快速的查找到,希望对大家有所帮助! 1. Retrofit   一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言 上榜理由:Retrofit以21.8k的stars量雄踞gith...
阅读(291) 评论(0)

android适配手机升级:最新布局FlexboxLayout替代LinearLayout(支持RecycleView)

FlexboxLayout是google前一段时间推出的新控件,目前github已经有了10K颗星星了,FlexboxLayout的功能十分强大,使用FlexboxLayout代替LinearLayout是最好不过的选择,同时结合之前的百分比适配的话,很好的解决手机布局适配问题。 FlexboxLayout主要5大布局属性,分别是flexDirection,flexWrap,justifyCon...
阅读(1109) 评论(2)

android 和RxJava配合使用的两个图片压缩框架LuBan、Compressor

在android中,图片压缩已经是必备技能,相信大家都有自己的工具类,但是在如果你的项目中使用了RxJava,那么为了保证代码的风统一性,使用LuBan或者Compressor就在合适不过了! LuBan Luban(鲁班) —— Android图片压缩工具,仿微信朋友圈压缩策略。 目前做App开发总绕不开图片这个元素。但是随着手机拍照分辨率的提升,图片的压缩成为一个很重要的问题。单纯...
阅读(1662) 评论(0)

android动态权限适配:基于RxJava2后的RxPermissions的快速使用

在android6.0中需要动态的权限适配,相信大家都明白了,而且现在RxJava也越来越火,如果你的项目中使用了RxJava,那么,你就可以使用RxPermissions进行6.0权限的适配,简单而又快捷! 引入需要的Jar implementation 'io.reactivex.rxjava2:rxjava:2.1.7' implementation 'com.t...
阅读(988) 评论(0)

基于RxJava2后的RxBus的快速使用

效果图如下: 引入需要的Jar包 compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.7' 定制RxBus package tsou.cn.rxbus; import io.reactivex.Observable; import...
阅读(1590) 评论(0)

Android仿淘宝最新向上滚动广告条

首先看看效果 在之前的淘宝中。向上滚动的广告条只有文字,而现在的广告条不仅有文字还有图片。但是我在这里使用两个控件,分别对文字和图片进行滚动,当然你也可以合在一起!在这里先看看我的实现方式! 创建自动滚动的文章控件 package tsou.cn.loopview.view;import android.content.Context; import android.text.TextUtils;...
阅读(1037) 评论(0)

Android使用Vector进行适配和瘦身

Android Vector在android5.0开始google提供了Vector的支持,到现在为止google已经提供了低版本的兼容,Vector的技术也越来越完善,因此日后在android中使用Vector是一个趋势。Android Vector的优势: Vector图像可以自动进行适配,不需要通过分辨率来设置不同的图片,一套解决问题 Vector图像可以大幅减少图像的体积,同样一张图,用Ve...
阅读(1698) 评论(0)

Android Priority Job Queue:一个专门为Android轻松调度任务的工作队列

在android中使用多线程已经是不可或缺的逻辑了,当然你可以直接使用子线程或线程子,在这里介绍的是一个专门为Android轻松调度任务的工作队列——Android Priority Job Queue如果你需要线程池请看这里:android:线程池和AsyncTask使用小结 引入Android Priority Job Queue compile 'com.birbit:android-pri...
阅读(1113) 评论(0)

android图片加载库Glide4使用教程(项目中如何快速将Glide3替换成Glide4)

我想大多数人在自己的项目中还是使用Glide3.7.1这个版本吧!不过Glide版本现在已经到4.4.0了! 当我们把Glide3更换成Glide4,会发现大部分地方都报错了,那么该怎样快速替换Glide3为Glide4呢? 下面我们一起来看看怎样实现Glide3到Glide4的快速替换。 Glide4的基本用法: 引入Glide implementation 'com....
阅读(2018) 评论(0)

Glide4.4.0报java.lang.NoSuchMethodError

在使用Glide的时候有时会报错,错误信息如下:这是因为Glide4中已经引入了appcompat-v7包,版本不一致引起解决方法:Glide4.4.0引入的是27.0.2版本,所以把你项目中的appcompat-v7更换为 implementation 'com.android.support:appcompat-v7:27.0.2'ok!,解决…....
阅读(1261) 评论(0)

Realm数据库使用教程(七):数据库加密和Realm使用注意事项

Realm数据库使用教程(六):数据迁移数据库加密Realm自带数据库加密,需要64位字节数据进行加密。 官方原文Realm 文件可以通过传递一个512位(64字节)的密钥参数给 Realm.getInstance().encryptionKey() 来加密存储在磁盘上。byte[] key = new byte[64]; new SecureRandom().nextBytes(key); Rea...
阅读(1052) 评论(0)

Realm数据库使用教程(六):数据迁移

Realm数据库使用教程(五):删除数据数据迁移 数据迁移前的数据Model package tsou.com.simple.realmtest.bean;import io.realm.RealmObject; import io.realm.annotations.PrimaryKey; import io.realm.annotations.Required;/** * Created by...
阅读(1671) 评论(0)

Realm数据库使用教程(五):删除数据

Realm数据库使用教程(四):更新数据删除数据 同步删除(一):先查找到数据:deleteFromRealm(int index) 删除指定数据final RealmResults students = mRealm.where(Student.class).findAll(); mRealm.executeTransaction(new Real...
阅读(1750) 评论(0)

Realm数据库使用教程(四):更新数据

Realm数据库使用教程(三):查询数据更新数据 同步操作:executeTransaction修改 mRealm.executeTransaction(new Realm.Transaction() { @Override public void execute(Realm realm) {...
阅读(1063) 评论(0)

Realm数据库使用教程(三):查询数据

Realm数据库使用教程(二):增加数据查询数据 同步操作:findAll查询 /** * 注意:RealmResults虽然实现了List接口,不过有很多方法是不能用的。 * 比如add、addAll、remove、clear等, * 调用后会直接抛异常。 *...
阅读(1680) 评论(0)

Realm数据库使用教程(二):增加数据

Realm数据库使用教程(一):Realm配置和Stetho配置Realm配置已经完成那么就应该增删改查等操作,如上图功能,在这里考虑循序渐进,就从“增加->查->改->删->数据迁移->问题”的功能进程介绍增加数据同步操作 同步操作:使用executeTransaction方法插入数据 mRealm.executeTransaction(new Realm.Transaction() {...
阅读(1032) 评论(0)
179条 共9页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:368385次
    • 积分:5377
    • 等级:
    • 排名:第5993名
    • 原创:147篇
    • 转载:32篇
    • 译文:0篇
    • 评论:167条
    博客专栏