android教程
文章平均质量分 71
王能
授之以鱼不如授之以渔
展开
-
Android TextView、EditText代码取消加粗(设置字体加粗、粗体效果、代码加粗无效)
tv.setTypeface(Typeface.create(tv.getTypeface(), Typeface.NORMAL), Typeface.NORMAL); tv.invalidate();原创 2020-10-18 19:49:35 · 4011 阅读 · 0 评论 -
.gitignore教程详解(!的用法、Android Studio、忽略文件、git)
今天给大家介绍一下git的.gitignore的正确使用方式(尤其是“!”这种不忽略某个指定文件)首先发一下已经烂大街的解释:/表示忽略指定目录下的文件或文件夹:/.idea(忽略根目录下的.idea文件或文件夹)*表示n个字符:/*(忽略所有文件) *.apk(忽略以.apk结尾的文件或文件夹)?表示1个字符:??.apk(你懂得)[]表示可能是数组中的某1个字符!(英文的)表示不忽略 !*.java(不忽略以.java结尾的文件或文件夹)...原创 2020-07-31 14:15:05 · 871 阅读 · 0 评论 -
Android 获取app启动来源(是被谁启动的、被哪个第三方app启动?)
经常有人提问:如何知道我的app是被谁启动的?首先很遗憾的告诉你,如果对方app不做任何改动的话是不可能获取到的,因为没有任何标识能区分是从哪个app跳转过来的。如果你有能力让第三方和你对接或只需要笼统的区分通知栏、launcher、第三方这3个种类,有如下解决方案:首先你的默认启动的Activity逻辑://属性为LAUNCHER的Activity(如:MainActivity...原创 2019-12-17 15:07:12 · 9780 阅读 · 0 评论 -
Android 列表大量倒计时卡顿的解决方案
如下商品列表秒杀,每一个商品都自带倒计时,如果每个商品都用timer或handler很容易出现卡顿甚至oom的情况所以如果我只使用一个倒计时来管理这所有的时间实现起来会怎样呢?what?一个倒计时管理这全部?想想都恐怖......其实换个思维你会发现,一切如此简单:我们不需要管这些时间剩多少,只需要管好每隔1秒告诉别人:兄弟,过1秒了。至于别人拿这一秒干嘛,那是别人的事。...原创 2019-12-12 17:57:00 · 2145 阅读 · 1 评论 -
IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling
当正在滑动过程中调用notifyDataSetChanged刷新数据就会出现这个异常:java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling android.support.v7.widget.RecyclerView{d51...原创 2019-12-12 14:51:37 · 2276 阅读 · 0 评论 -
Android api 28 9.0 EditText无法自动弹出软键盘(windowSoftInputMod stateAlwaysVisible targetSdkVersion)
很简单的需求:打开界面就弹出软键盘于是://build.gradle中targetSdkVersion 27//Mainfest中android:windowSoftInputMode="adjustResize|stateVisible"//xml中<EditText android:layout_width="match_parent" andro...原创 2019-08-19 17:48:15 · 2702 阅读 · 4 评论 -
Android 仿京东淘宝拼多多的商品分类,双列表联动,RecyclerView嵌套
淘宝京东的相对简单很多,两个RecyclerView就可实现了。现在要做的是右边滑动的时候左边跟着联动,如下图:思路:左右肯定都是RecyclerView了,至于中间的图片嘛当然也是RecyclerView了,嵌套冲突的时代已经过去了。(如果你想用多条目,每张图片也要复用我也不反对,但你会掉头发...)注意:嵌套的内层RecyclerView会失去复用,不适合单个分类上百张图片(是...原创 2019-10-23 14:31:52 · 7062 阅读 · 2 评论 -
Android Studio 查看不到系统源码终极解决方案
以前从来没有出现过看不到源码的情况,今天突然找不到源码了。原因当然不是as抽风而是属于手贱打开微信分享的源码WXApiImplV10会发现头顶上出现如图样式意思就是反编译失败了(失败后有些代码会显示不全,并且debug这里的代码会对不上),并且右上角的2个蓝字非常诱人...于是就乱点一通(里面的操作会修改源码路径),第二天(重启as后导致的)你就会发现Android源码变成了和上面一模...原创 2019-06-18 10:22:43 · 8715 阅读 · 3 评论 -
android 仿全民k歌 线谱乐谱音高图
全民k歌大家都不陌生吧,在嗨歌时有一个线谱样式的动画效果是不是很吸引人呢。效果似乎很复杂,感觉上非自定义view莫属了,然而如何处理滑动、如何处理颜色、如何处理多段线条、如何处理数据变化......等都搞好了准备写的时候才发现————一个星期过去了......原创 2019-05-30 10:17:21 · 3873 阅读 · 10 评论 -
Android简单基类封装(三)OKhttp网络请求——其实你也可以
本文介绍如何抛弃那些高大上的、花里胡哨的、适配所有的完美http封装(壳子而已)。学习地址:https://github.com/weimingjue/http首先,OKhttp是现在所有安卓开发的网络请求框架(还在用Apache的我就不多说什么了,自行绕道),那些所谓的完美封装只是在OKhttp上加了几行代码而已。其次,那些封装也是要考虑全局性,只是把OKhttp简化了一两行而已,真...原创 2019-03-13 17:33:16 · 10345 阅读 · 2 评论 -
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 · 761 阅读 · 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 · 1794 阅读 · 0 评论 -
android 辅助功能(无障碍) AccessibilityService 实战入门详解
本君初入辅助功能也是一头雾水,各种百度结果还是一知半解,得到的大多都是对辅助功能类的翻译,仅仅是理论层面上,到实战上确是千差万别,在此记之。一、原理:大致简述一下,谷歌已经在View、ViewGroup、TextView等控件的文字改变、滑动、UI变化埋下了接口,当这些状态变化时控件会回调系统API,API系统然后对这些对象的数据进行组装,为了数据的安全性,系统会重新创建一些对象(Access...原创 2018-09-17 18:24:53 · 101451 阅读 · 138 评论 -
Android Proguard 不混淆所有第三方jar(忽略配置设置)
今天给大家分享一个只混淆自己的项目代码而不混淆所有第三方jar的方法(没错,是所有的第三方都不进行混淆,无论来什么第三方,都不需要动混淆配置)一、为app添加混淆在app的buildTypes里开启对指定包进行混淆,这里我混淆了release和debug的,并且增加了一个不混淆的类型(注①)buildTypes { release { mini...原创 2018-12-12 17:24:50 · 22864 阅读 · 43 评论 -
Android如何正确的写startActivity——这些年你写对了吗
有没有在两个Activity之间调试了半天怎么也取不到intent里面的值,最后才发现原来数据类型对不上? intent.putExtra("id",1L); int id = getIntent().getIntExtra("id", 0);有没有准备增加Activity的接收字段,确发现n多界面都突袭而来,根本无从下手的情况?有没有改了...原创 2018-01-25 18:02:49 · 2562 阅读 · 0 评论 -
Android跳转跳到打开百度地图、高德地图等第三方地图导航,最新最全2020
最近发现打开第三方的教程五花八门,遂记之高德:打开高德地图API>开发支持>点击开发文档(居然可以点击...)>高德地图手机版(在"其他"类下)>左侧路径规划直达链接简单举例:Uri uri = Uri.parse("amapuri://route/plan/?dlat="+"目的地lat"+"&dlon="+"目的地lng"+"&dn...原创 2018-09-17 15:41:04 · 17052 阅读 · 0 评论 -
Alibaba FastJson parseObject 不能解析支持私有属性字段
支持私有属性的操作:XXBean bean = JSON.parseObject("{json文本}", XXBean.class, Feature.SupportNonPublicField);//支持私有变量FastJson默认是不支持私有属性的,在解析时的第三个参数就是对特殊情况的支持,可以进去瞅瞅...原创 2018-10-31 10:43:21 · 3826 阅读 · 11 评论 -
Android studio MultiDexApplication 多个dex分包教程——一键解决65536问题
首先app的build.gradle里面配置android { ... defaultConfig { ... multiDexEnabled true ... } ...dependencies { ... api 'com.android.support:multidex:...原创 2018-12-12 17:48:26 · 10741 阅读 · 5 评论 -
Android studio build.gradle 基本设置配置
今天给大家示范一下基本设置和说明ps:博主的这套配置让你的项目可以在任意电脑使用as打开无需额外文件、无需额外配置哦,当然as的版本是不能差距太大复制项目减少体积见:android 快速方便的将项目复制到其他电脑上由于多数博客鱼龙混杂,本博客如果让你非常满意或解决了大家的根本性问题,希望多多支持在右边点赞和回复一下,举手之劳方便大家。首先根目录project的build.grad...原创 2018-12-12 12:01:11 · 7481 阅读 · 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 · 6460 阅读 · 0 评论 -
android 快速方便的将项目复制到其他电脑上
是否经常出现在公司电脑上运行没有任何问题,但复制到自己或其他电脑上却是各种报错,各种打不开的情况?是否发现app才30M不到,但复制项目却要300M甚至更多,有时还不得不压缩的问题?现在,你只需要这样既可:1.首先你的build.gradle的key等路径配置不要写死,见Android studio build.gradle 基本设置配置,如果还使用git见android git ....原创 2019-01-11 11:06:20 · 3755 阅读 · 0 评论 -
android 屏幕适配 详解——其实你并不需要这么麻烦
bd“android屏幕适配”会发现全是类似于增加文件夹values-1080x1920文件夹并为每一个px(dp)都写进去的方式,个人是非常鄙视这种方式的(不喜欢的可以关闭了)。首先千篇一律:没有任何新鲜感。2.冗余较大:创建的文件太多,杂乱不堪看着都难受。3.适配性低:这个是最致命的,据统计仅仅是屏幕分辨率的个数就有上千种,你写的那十几个只不过是满足了部分(部分)而已,目前虚拟按键...原创 2019-01-02 16:51:10 · 549 阅读 · 0 评论 -
给新人的一些基础常识
本文主要介绍了对java对象的简单认知、常见错误排查、常见错误思想和常见陋习。本文适合刚上手的小白或者对基础理解不够的人阅览,已经对android有很好的了解或者什么都不会的可以绕道了。首先:引用是什么?指针是什么?new干了什么?对于刚撸代码的小白来说引用、指针是左脑的面粉,new是右脑的水,动一动脑筋...既然面对刚上手的人当然是通俗的讲好了:内存就好比一块矩形,new对...原创 2019-02-26 18:29:49 · 17166 阅读 · 1 评论 -
android 微信授权、分享、支付之坑——纪念那踩不完的坑
微信分享的demo更新了,貌似没有以前坑了,最好先把demo改一下再打开。1.无用的文件删掉否则会报错:Error:Unknown host 'android.oa.com'. You may need to adjust the proxy settings in Gradle,只保留4个:整个app目录、build.gradle、debug.keystore、settings.gradle...原创 2018-04-23 14:57:08 · 2004 阅读 · 2 评论 -
fastjson Json字符串、Map、List、数组、JsonObject、JsonArray、对象之间相互转换
本文介绍用fastjson在各个需求间转换最快最简洁的方法Json字符串>对应ObjectTest test = JSON.parseObject(jsonSt, Test.class);//转对应objList<Test> list = JSON.parseArray(jsonListSt, Test.class);//转对应listJson字符串>Jso...原创 2019-02-14 16:15:20 · 7757 阅读 · 0 评论 -
android studio 模拟器 开机提示 需要输入密码 To start Android,enter your password
如今,谷歌的模拟器开机速度已经比真机还要快,虽然并不推荐使用模拟器测试(国内那些坑爹的乱改api并且还有bug就不多说了),但手机毕竟成本高,而且还有限,对于前期开发测试还是必不可少的了。这不,几个月前(郁闷了几个月啊原创 2017-08-09 11:25:07 · 11469 阅读 · 0 评论