
Android
文章平均质量分 60
AndroidGuy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最简洁无bug版本圆角webview实现
webview实现圆角原创 2022-09-21 18:06:31 · 1062 阅读 · 2 评论 -
隐藏重要字符串的一部分让其显示****的小方法
项目中打LOG, 因为有涉及到token的打印, 涉及安全, 不让全部显示, 写了两个简单小方法, 好用! 记录下1. 对普通字符串mask, 让中间14位显示*****public static String maskStr(String s) { if (!TextUtils.isEmpty(s) && s.length() > 14) { char[] a = s.toCharArray(); ...原创 2020-08-14 14:06:23 · 1122 阅读 · 0 评论 -
遍历删除文件夹方法
private void removeDirectoryRecursive(File parent) { if (parent.isDirectory()) { String[] files = parent.list(); for (String filename : files) { File child = new File(parent, filename); r...原创 2020-08-05 13:43:44 · 422 阅读 · 0 评论 -
关于Gson解析容易出错的几点
1. 当json有某个字段, 解析实体类无此字段时, 正常解析2. 当json没有某个字段, 解析实体类有些字段时, 正常解析, 但是实体类get出来的这个值是null3.当确定json中某个字段类型时, 如float, 建议实体类也定义成float, 而不要定义成string, 如果是定义成string, 刚应该加上默认值, 如"", 防止后台给过来的数据有调整, 没有这个字段, 就容易出现NullPointerException了, Float有默认值0, 所以不会出错, 而且减少了在代码中再去原创 2020-07-19 12:58:43 · 774 阅读 · 0 评论 -
android国际化时关于单复数及时间的处理
1. 关于单复数:getQuantityString()2. 关于时间的处理, SimpleDateFormat支持的时间格式:* G: 公元 时代,例如AD公元* yy: 年的后2位* yyyy: 完整年* MM: 月,显示为1-12* MMM: 月,显示为英文月份简写,如 Jan* MMMM: 月,显示为英文月份全称,如 January* dd: 日,2位数表示,如02...原创 2020-03-24 09:49:51 · 579 阅读 · 0 评论 -
关于android事件分发, 总结成一个经典例子!
关于android事件分发的总结, 就一句话:假如你是一个公司的员工,你的上头有一个主管,主管上头还有一个经理。为了简单,你们这个团队就有这三个人。那么如果上头安排一件事下来要处理,流程是怎样的呢?显然应该是由你的经理将这件事安排给你的主管来处理,你的主管再将这件事安排给你来处理。等你把这件事办好了,你就应该给你的主管报告,再由你的主管来向你的经理报告。显然,你的主管和经理也有处理这件事的权限...原创 2020-03-09 13:10:26 · 303 阅读 · 0 评论 -
关于Binder中clearCallingIdentity()与restoreCallingIdentity()的作用及如何实现权限认证
链接:https://www.zhihu.com/question/41003297/answer/89328987, 这文章写的很详细, mark下一、源码分析(1)clearCallingIdentity方法,最终调用如下:int64_t IPCThreadState::clearCallingIdentity(){ int64_t token = ((int64_t)...转载 2019-06-03 13:39:17 · 7795 阅读 · 3 评论 -
关于EventBus的onEvent()、onEventMainThread()、onEventBackgroundThread()、onEventAsync()的解释
几句话概括:1.onEvent() 使用onEvent来接收事件,那么接收事件和post事件在同一个线程中执行2.onEventMainThread() 使用onEventMainThread来接收事件,那么不论post事件在哪个线程运行,接收事件永远在UI线程执行3.onEventBackgroundThread() 使用onEventBackground...原创 2019-05-31 10:34:43 · 7144 阅读 · 0 评论 -
关于synchronized 关键字
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对...转载 2019-05-27 17:25:21 · 264 阅读 · 0 评论 -
Android事件分发总结
1.dispatchTouchEvent是处理触摸事件分发,Android中所有的事件都必须经过这个方法的分发,然后决定是自身消费当前事件还是继续往下分发给子控件处理。返回true表示不继续分发,事件没有被消费。返回false则继续往下分发,如果是ViewGroup则分发给onInterceptTouchEvent进行判断是否拦截该事件,事件(多数情况)是从Activity的dispatchTo...转载 2019-03-26 13:44:17 · 246 阅读 · 0 评论 -
打印正在运行的service及runningtask
Mark下, 尤其是service这个: public void printRunningService(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<Runnin...原创 2018-12-28 14:41:39 · 609 阅读 · 0 评论 -
Android 5.1版本以上WebView内存泄漏问题及快速解决方法
转载自:http://www.jb51.net/article/113315.htm问题背景今天在排查项目内存泄漏过程中发现了一些由WebView引起的内存泄漏,经过测试发现该部分泄漏只会出现在android 5.1及以上的机型。虽然项目使用WebView的场景并不多,但秉承着一个泄漏都不放过的精神,我们肯定要把它给解决了。遇到的问题项目中使用WebVi转载 2017-07-24 16:44:19 · 1553 阅读 · 0 评论 -
关于android内存泄漏的两篇好文章
纯markhttp://droidyue.com/blog/2015/04/12/avoid-memory-leaks-on-context-in-android/https://drakeet.me/android-leaks/原创 2017-06-09 13:29:53 · 358 阅读 · 0 评论 -
minSdkVersion、targetSdkVersion、targetApiLevel的区别
转载自:http://site.douban.com/128911/widget/notes/5269368/note/177080440/在AndroidMenifest.xml中,常常会有下面的语句: android:targetSdkVersion="10" android:maxSdkVersion="10转载 2013-05-15 11:58:01 · 591 阅读 · 0 评论 -
解决:Invalid project description overlaps the location of another project [android] 最有效方法
估计是Eclipse ADT插件的bug,导入android工程时有时候会提示这个错误:按照提示,说是当前的工作空间内已经有同名的工程了,但实际是没有的。。。多次碰到这种问题后,无意间找到解决办法。。。不要选择导入android工程,而是General工程。。上图!转自:http://blog.chinaunix.net/uid-243524转载 2013-06-25 17:28:45 · 1180 阅读 · 0 评论 -
mark下,Android 5.0状态栏透明解决方案
首先说明下,这个跟什么沉浸式状态栏完全就是两回事,这个实现的是状态栏一直存在,但是是透明的存在!给需要的了publicclass MainActivity extendsActivity { @SuppressLint("InlinedApi") @Override protectedvoi转载 2015-07-24 10:05:07 · 707 阅读 · 0 评论 -
android 如何自定义view
1. 首先在 attrs.xml 中声明自定义view要自定义的属性: 注意:(1) name 不是 android:name (2) format一共有:string, color, dimension, integer, enum, reference, float, boolean, fraction,原创 2016-04-27 14:39:06 · 513 阅读 · 0 评论 -
Eclipse设置TAB和编码
具体设置步骤如下:1、打开选项:General -> Editors -> Text Editors在右侧找到Displayed tab width:把下面的“Insert spaces for tabs” 勾选上,点OK保存之后,新建一个html文件输入几个tab键并按左右方向键移动光标测试一下,发现原来的tab已经被替换成了4个空格字符。 但如果要...原创 2016-09-09 11:23:22 · 895 阅读 · 0 评论 -
[Android分享] 彻底理解ldpi、mdpi、hdpi、xhdpi、xxhdpi
来自: http://www.eoeandroid.com/thread-565562-1-1.html?_dsign=42bed080非常感谢楼主分享 这个问题我相信困惑了好多人包括很多老鸟,而且有的人以为自己理解其实是错误的,包括之前的我在内,一般让美工做720*1280的切图,就直接放到xhdpi下,如果是做了1080*1920,就直接放到xxhdpi下。其实这四个文转载 2016-08-25 10:26:09 · 490 阅读 · 0 评论 -
UI设计师不可不知的安卓屏幕知识
转自:http://www.zcool.com.cn/article/ZNjI3NDQ=.html 谢谢作者不少设计师和工程师都被安卓设备纷繁的屏幕搞得晕头转向,我既做UI设计,也做过一点安卓界面布局,刚好对这块内容比较熟悉,也曾在公司内部做过相关的讲座,在此,我将此部分知识重新梳理出来分享给大家!1、了解几个概念(1)分辨率。分辨率就转载 2016-08-25 10:32:42 · 1192 阅读 · 0 评论 -
Android中常见的内存泄漏
转载自:【huachao1001的专栏:http://blog.youkuaiyun.com/huachao1001】我们经常会在不经意间写出造成内存泄漏的代码,往往在代码上很难查出来。但是我们可以通过一些辅助工具来检测是否存在内存泄漏,比如通过AndroidStudio的monitors来查看内存的变化情况,或者是通过开源框架《LeakCanary》来检测。本文主要是从网络中搜索汇总一些常见的内转载 2017-01-06 14:56:06 · 428 阅读 · 0 评论 -
线程同步总结--synchronized方法和synchronized代码块
转载自:http://991690137.iteye.com/blog/1948882 阅读前必须明白:程序代码的目的是操作数据,而在操作数据时有可能发生同时操作同一个数据,所以为了避免同时操作一个数据产生错误才出现线程同步的概念,即synchronized方法和synchronized代码块技术。这里的同一个数据包括 所有对象...还有每一个对象都有转载 2017-02-09 10:45:14 · 645 阅读 · 0 评论 -
关于开机启动应用的两种好方式
针对于系统应用一种是监听开机广播, boot complete另一种是设置app manifest 属性persistent="true", 这样能达到开机启动并常驻的目的mark下原创 2017-04-10 12:20:14 · 721 阅读 · 0 评论 -
Android AndroidManifest.xml相关flag详细说明
android:stateNotNeeded: 默认为false,若设为true,则当Activity重新启动时不会调用onSaveInstanceState()方法,同样,onCreate()方法中的Bundle参数将会用null值传进去,也就是说,Activity每次启动都跟第一次启动一样。这样,在某种特殊场合下,由于用户按了Home键,该属性设置为true时,可以保证不用保存原先的状态引用转载 2017-04-18 10:49:12 · 1770 阅读 · 0 评论 -
如何在PreferenceActivity中加载普通控件及Preference
众所周知,在一个继承PreferenceActivity的类中,可以通过addPreferencesFromResource(R.xml.preference); 来添加preference。如果要在这个Activity中同时加载普通VIew控件,如TextVIew, Button等,下面是解决方案:1、新建你要加载的View:如:<LinearLayout xmlns:android原创 2012-03-31 14:04:28 · 1424 阅读 · 0 评论