
不做框架只做UI
文章平均质量分 86
Android开发实战经验,只为更快更好更方便。这里没有框架没有骚操作,只有逻辑代码。
王能
授之以鱼不如授之以渔
展开
-
Android RecyclerView 滑动过程中刷新数据崩溃异常 notifyDataSetChanged
不是IndexOutOfBoundsException,这个问题很简单,你改list数据的下一行必须刷新rv,如果你等干完其他事后(比如请求数据)才刷新就会偶发这种问题,解决就是改list后紧跟notify。是用户正在滑动过程中,你想刷新数据了。崩溃场景:商品列表秒杀的倒计时,当倒计时结束时删除该商品,用户如果恰好正在滑动就会崩溃。java.lang.IllegalStateE...原创 2019-12-12 14:52:27 · 2273 阅读 · 0 评论 -
Android 仿京东淘宝拼多多的商品分类,双列表联动,RecyclerView嵌套
淘宝京东的相对简单很多,两个RecyclerView就可实现了。现在要做的是右边滑动的时候左边跟着联动,如下图:思路:左右肯定都是RecyclerView了,至于中间的图片嘛当然也是RecyclerView了,嵌套冲突的时代已经过去了。(如果你想用多条目,每张图片也要复用我也不反对,但你会掉头发...)注意:嵌套的内层RecyclerView会失去复用,不适合单个分类上百张图片(是...原创 2019-10-23 14:31:52 · 7234 阅读 · 2 评论 -
Android studio build.gradle 基本设置配置
今天给大家示范一下基本设置和说明ps:博主的这套配置让你的项目可以在任意电脑使用as打开无需额外文件、无需额外配置哦,当然as的版本是不能差距太大复制项目减少体积见:android 快速方便的将项目复制到其他电脑上由于多数博客鱼龙混杂,本博客如果让你非常满意或解决了大家的根本性问题,希望多多支持在右边点赞和回复一下,举手之劳方便大家。首先根目录project的build.grad...原创 2018-12-12 12:01:11 · 7660 阅读 · 2 评论 -
android git .gitignore 忽略文件基本配置 经常冲突解决
本文介绍android开发在使用git多人开发时出现各种更新冲突、无法运行、虽然添加了忽略但仍然冲突等问题1.首先删除其他所有的.gitignore文件,只留下根目录的(你只需要一个)2.配置如下*.iml*.bat*.apk# app用到zip的请忽略*.zip# 自定义了local.properties的请删除这条*.properties/captures~$*g...原创 2019-01-11 10:40:14 · 6487 阅读 · 0 评论 -
Android 正式测试预发布环境一键切换——不要再注释来注释去了
本文主要解决实际开发过程中各个环境之间繁琐的切换问题。案例:正式环境域名“http://abc.net",测试环境域名“http://test.abc.net",预发布环境域名“http://develop.abc.net",h5正式为“http://h5.abc.net",h5测试...,h5预发布...,图片加载正式...,...于是你在url里这么写(为了省去前缀也许你写成了In...原创 2019-04-10 10:49:59 · 1847 阅读 · 0 评论 -
Android简单基类封装(三)OKhttp网络请求——其实你也可以
本文介绍如何抛弃那些高大上的、花里胡哨的、适配所有的完美http封装(壳子而已)。学习地址:https://github.com/weimingjue/http首先,OKhttp是现在所有安卓开发的网络请求框架(还在用Apache的我就不多说什么了,自行绕道),那些所谓的完美封装只是在OKhttp上加了几行代码而已。其次,那些封装也是要考虑全局性,只是把OKhttp简化了一两行而已,真...原创 2019-03-13 17:33:16 · 10398 阅读 · 2 评论 -
Android简单基类封装(二)——RecyclerView BaseAdapter
使用或学习地址:https://github.com/weimingjue/BaseAdapter封装的第一条:理清思路,RV最大的痛点:没有点击事件,list的时候还要额外写一堆重复代码,没有header、footer第二条:寻找解决办法,点击事件在bind时可以设置;列表时传入list将size返回;headerfooter也是list产生的问题,只需要增加3种type:HEADER、...原创 2019-03-05 18:03:58 · 3513 阅读 · 0 评论 -
Android studio MultiDexApplication 多个dex分包教程——一键解决65536问题
首先app的build.gradle里面配置android { ... defaultConfig { ... multiDexEnabled true ... } ...dependencies { ... api 'com.android.support:multidex:...原创 2018-12-12 17:48:26 · 10845 阅读 · 5 评论 -
Android Proguard 不混淆所有第三方jar(忽略配置设置)
今天给大家分享一个只混淆自己的项目代码而不混淆所有第三方jar的方法(没错,是所有的第三方都不进行混淆,无论来什么第三方,都不需要动混淆配置)一、为app添加混淆在app的buildTypes里开启对指定包进行混淆,这里我混淆了release和debug的,并且增加了一个不混淆的类型(注①)buildTypes { release { mini...原创 2018-12-12 17:24:50 · 23401 阅读 · 43 评论 -
Android 工具类去掉context Application——如何让你的工具类更简洁
有没有经常用过 public static int dip2px(Context context, float dipValue) { return (int) (dipValue * context.getResources().getDisplayMetrics().density + 0.5f); } public static void toas...原创 2019-04-10 10:47:40 · 783 阅读 · 0 评论 -
android 屏幕适配 详解——其实你并不需要这么麻烦
bd“android屏幕适配”会发现全是类似于增加文件夹values-1080x1920文件夹并为每一个px(dp)都写进去的方式,个人是非常鄙视这种方式的(不喜欢的可以关闭了)。首先千篇一律:没有任何新鲜感。2.冗余较大:创建的文件太多,杂乱不堪看着都难受。3.适配性低:这个是最致命的,据统计仅仅是屏幕分辨率的个数就有上千种,你写的那十几个只不过是满足了部分(部分)而已,目前虚拟按键...原创 2019-01-02 16:51:10 · 578 阅读 · 0 评论 -
Android如何正确的写startActivity——这些年你写对了吗
有没有在两个Activity之间调试了半天怎么也取不到intent里面的值,最后才发现原来数据类型对不上? intent.putExtra("id",1L); int id = getIntent().getIntExtra("id", 0);有没有准备增加Activity的接收字段,确发现n多界面都突袭而来,根本无从下手的情况?有没有改了...原创 2018-01-25 18:02:49 · 2587 阅读 · 0 评论