android
Coder君
Live for coding
展开
-
SpannableStringBuilder采坑指南
1、 SpannableStringBuilder nick = new SpannableStringBuilder("开头-"); SpannableStringBuilder flagSpanStr = new SpannableStringBuilder(" flag "); ImageSpan imageSpan = new ImageSpan(this...原创 2019-11-22 08:43:36 · 497 阅读 · 0 评论 -
全网最清晰的WebView自定义长按菜单教程
一、背景某些情况下,我们希望能够自定义WebView的长按菜单功能,但网络上各种文档都不是很准确或是兼容性不好,经过综合探索,整理出WebView自定义长按菜单的技术方案。二、技术原理概述突破口是三点:1、拦截WebView中的startActionMode2、自定义ActionMode.Callback23、菜单选项的隐藏与显示三、代码实现public class CustomA...原创 2019-10-24 15:06:45 · 3419 阅读 · 5 评论 -
开发自检测工具集合(持续更新)
内存泄露检测:LeakCanary 代码空指针等检测:FindBugs原创 2017-02-23 09:40:42 · 706 阅读 · 0 评论 -
Android获取View的宽高为0问题的解决方法
在activity中可以调用View.getWidth、View.getHeight()、View.getMeasuredWidth() 、View.getgetMeasuredHeight()来获得某个view的宽度或高度,但是在onCreate()、onStrart()、onResume()方法中会返回0,这是应为当前activity所代表的界面还没显示出来没有添加到WindowPhone的De原创 2017-03-21 17:13:14 · 4861 阅读 · 0 评论 -
类序列化问题-java.io.InvalidClassException
当一个类实现了序列化接口,有时会遇到 java.io.InvalidClassException 异常出现: java.io.InvalidClassException: com.test.Test; local class incompatible: stream classdesc serialVersionUID = 7981560250804078637, local class seri原创 2017-04-11 12:55:55 · 2780 阅读 · 0 评论 -
Android图片压缩
http://blog.csdn.net/jdsjlzx/article/details/44228935http://blog.csdn.net/harryweasley/article/details/51955467http://blog.csdn.net/dzsw0117/article/details/51492172转载 2017-05-24 12:59:07 · 254 阅读 · 0 评论 -
Android透明度对应的数值
透明度 数值 100% FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3 65% A6 60% 99 55% 8C 50% 80 45% 73 40% 66 35% 59 30% 4D 25% 40 20% 33 15% 26 10% 1A 5% 0D 0% 00原创 2017-05-15 17:15:37 · 642 阅读 · 0 评论 -
RecyclerView使用踩坑全过程
Long long ago,谷歌就推出了RecyclerView来替代ListView,有人说它好,功能强大,方便扩展,也有人说它极其难用,最近Coder哥的项目需要代码重构,于是就想用RecyclerView来替代ListView,在此总结一下使用过程中的一些坑点,为大家今后的使用铺平道路。一、点击事件及分割线需自定义这一点不需要我多说,大家自行谷歌,代码很全,不在此造轮子了。二、item布局ma原创 2017-02-23 09:47:41 · 11000 阅读 · 2 评论 -
.9图制作
1、左、上代表缩放区,右下代表内容显示区(相当于padding的左右)2、3倍图放在drawable-xxxhdpi目录下,放在drawable下拉伸时会有问题原创 2017-10-20 16:05:01 · 288 阅读 · 0 评论 -
Android Studio优秀插件分享(持续更新)
1、FindBugs 2、GsonFormat3、JsonOnlineViewer4、Android-DPI-Calculator5、Android Studio Prettify6、MVPHelper7、Android WiFi ADB8、 java2smali9、 Alibaba Java Coding Guidelines参考:参考链接一原创 2017-03-13 09:53:50 · 723 阅读 · 0 评论 -
Android多层View点击穿透问题
如过View1覆盖在View2上方,在View1只改变透明度而非设置成INVISIBLE或是GONE状态下,点击View1的同时View2也会相应点击事件。解决方案:给View1设置clickable为true原创 2017-10-26 12:35:13 · 17469 阅读 · 0 评论 -
TextView中使用ImageSpan显示“...”问题
Android原生的TextView在单纯的文字显示时,设置setMaxLines()后,Ellipsized属性是正常的。但当出现图文并排情况时,就不太好使了,所以进行了一些调研后,自定义了EllipsizedTextView来适配图文混排时“…”的显示。/** * 超过一定行数显示固定行数时末尾添加 "..."的TextView(适配图文混排) */public class Ellips原创 2017-01-09 17:53:09 · 2299 阅读 · 0 评论 -
迄今为止最通俗易懂的RxJava讲解
转载出处: https://zhuanlan.zhihu.com/p/20687178转载 2016-11-25 17:56:56 · 690 阅读 · 0 评论 -
Canvas和Paint那点事(2)
最近在研究一个音频图的绘制,用到了Canvas画图方法,一个奇怪的问题困扰了我好久,最后终于解决了。本来是想得到这种不断跳动的音频频谱柱状图的:谁能想到,本想要个格格,谁知道来了个嬷嬷。。。得到了这样的效果:后来才知道,Canvas绘图时不会自动清空的,所以,在下一次绘制之前,需要进行清空处理,否则就会出现这种重叠绘制的效果。 有两种方法可以清除canvas内容:方法一:canvas.drawCo原创 2016-03-21 23:33:52 · 1643 阅读 · 0 评论 -
Canvas和Paint的那点事(1)
android 绘图机制原创 2016-03-17 16:50:05 · 863 阅读 · 0 评论 -
Errors while building APK. You can find the errors in the 'Messages' view.
最近在用android studio打包签名apk时遇到了一个问题,经过查找资料,顺利解决。问题一:Messages报错如下:Error:Execution failed for task ':app:lintVitalRelease'.> Lint found fatal errors while assembling a release target.To proceed, either f原创 2016-04-30 09:51:12 · 43681 阅读 · 8 评论 -
Android Studio如何用release签名进行debug调试
当我们在做微信、微博sdk分享的时候调试非常麻烦,因为要使用对应的签名版本才能调用sdk成功。所以今天就教大家如何用release签名进行debug调试。我们只需要在moudle的build.gradle中添加一些代码即可。android { compileSdkVersion 23 buildToolsVersion '23.0.3' defaultConfig {原创 2016-05-03 16:25:48 · 7758 阅读 · 0 评论 -
Android利用Gson库解析复杂结构的JSON数据
最近在应用Face++进行人脸识别开发时,经常需要解析Face++返回的结构复杂的JSON数据,于是便决定应用Google开发的Gson库来减轻工作量。首先给大家看一个比较复杂的JSON数据:{"face":[{"attribute":{"age":{"range":5,"value":6},"gender":{"confidence":89.7809,"value":"Male"},"race":原创 2016-05-05 19:10:02 · 2290 阅读 · 0 评论 -
RecyclerView抢夺item焦点的问题
使用了RecyclerView的布局文件代码:<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="300dp" android:layo原创 2016-05-09 15:48:18 · 17118 阅读 · 3 评论 -
Service实用型讲解(startService和bindService)
startService( )、bindService( )原创 2016-08-01 23:15:35 · 397 阅读 · 0 评论 -
Android广播的意义及两种注册方式的优缺点
一、Android引入广播的意义Android广播机制最大的特点是只管发送,不管有没有接收,也不管接收方怎么处理数据,这是它与普通方法的区别。事实上,Android广播机制是为了解决跨进程通讯。而这一点是直接调用方法所不能实现的。例如,电量变化,很多应用要根据这个改变来作出相应操作,而在最初设计时,我们是不可能知道所有这些应用的,也就无法进行逐个实例化对象,不能直接调用方法,这时广播机制的作用就体现原创 2016-08-27 23:40:12 · 7989 阅读 · 1 评论 -
用RxBus替代EventBus、Otto
RxJava已经渐渐走进了程序员的日常生活,用习惯了EventBus的Coder哥决定用Rxjava的思想来实现一个Rxbus,用于替代EventBus。闲话少说,直接上代码,欢迎批评指正原创 2016-09-20 10:26:35 · 1599 阅读 · 0 评论 -
Android进程间通信方式
Android进程间通信方式有4种:1、Activity通过Intent与其他进程Activity通信(Component或隐式Intent) 2、利用BroadcastReceiver进行进程间通信 3、通过ContentProvider实现进程间通信 4、AIDL前三种比较简单,这里不多做介绍,主要介绍一下AIDL的使用。(1)服务端创建一个AIDLFunctions.aidl文件(记住文原创 2016-10-20 12:28:26 · 499 阅读 · 0 评论 -
Android优秀开源框架分享(持续更新)
内存泄露检测 Leakcanary网络加载 VolleyJSON解析 GSON异步处理 EventBus RxJava原创 2016-11-30 09:39:59 · 518 阅读 · 0 评论 -
UI分析神器-uiautomatorviewer+Android Studio
当我们拿到了别人的app源码时,如何快速熟悉代码?如何看着UI来熟悉代码?今天Coder哥就传授给大家一个终极神器—uiautomatorviewer!话不多说,show me the code!Step 1:查找Android Sdk->tools->uiautomaatorviewer.bat 并点击,点击后会出现一个console黑窗口,使用时不要关掉。Step 2:uiautomaatorv原创 2016-11-19 12:29:12 · 18367 阅读 · 0 评论 -
JNI的入门使用及so库的生成(Android Studio环境)
设置NDK路径 在Activity中添加本地方法public static native String helloJni();加载SO文件static { System.loadLibrary("hello_jni"); // 注意没有前缀lib和后缀.so}利用javah命令生成JAVA所对应的JNI头文件,1、打开终端,2、将目录定位到java目录下,3、通过javah产生头文件。原创 2016-11-14 23:18:35 · 635 阅读 · 0 评论 -
迄今为止最通俗易懂的MVP架构讲解
从MVC到MVP再到MVVP,相信大家就已经听说过这些架构了。但你真正应用到哪个阶段了呢?是不是还苦于网上对MVP晦涩的讲解?今天,Coder哥就用最通俗易懂的方式告诉你,MVP怎么用!先上一张MVP结构图。 接下来就一步步教你用:1、首先把结构包分好,方便理清思路2、定义Model层的接口IModel/** * Model层接口---实现该接口的类负责实际的获取数据操作,如数据库读取、网络加载原创 2016-11-24 23:52:53 · 18733 阅读 · 7 评论 -
设计模式初探析
“设计模式”是一个很高大上的词汇,但也是最虐程序员的词汇。。。因为它很重要,但又是最难理解和运用的。鉴于笔者现在还没运用的如火纯青,所以只对常见的十个设计模式的应用场合进行介绍,这样,至少可以给大家做个提醒,当你遇到某个场景时,会联想到具体的设计模式,这样有导向性的学习也许效果会更好。1、单例模式 应用场景:确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该原创 2016-03-17 23:04:08 · 358 阅读 · 0 评论