![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 59
clusterer
这个作者很懒,什么都没留下…
展开
-
图片和文字的混合显示
天气小图片显示在文字的后面,要实现此效果可以自己写一个View,但是也可以使用TextView结合android.text.Spanned来实现此效果。Spanned的内容可以是一段html文本,图片就可以用img元素嵌入进去了,图片的内容可以根据img元素的src地址获取,也可转载 2011-07-19 02:43:51 · 741 阅读 · 0 评论 -
Android Studio快捷键设置
以下设置基于android studio 1.4版 1、当你已经下载完成了studio的安装文件、android sdk等等只需要安装并不需要联网下载各种文件,不需要漫长的等待,那么第一步需要如下的配置信息: Android Studio安装目录的bin目录下面的idea.properties文件,添加一条禁用开始运行向导的配置项:disable.android.first.run=true2、原创 2015-09-23 16:56:27 · 528 阅读 · 0 评论 -
保存图片到相册
直接调用系统方法MediaStore类实现需要图片路径和名称 /** * Insert an image and create a thumbnail for it. * * @param cr The content resolver to use * @param imagePath The path to the image to insert原创 2016-05-04 11:44:47 · 603 阅读 · 0 评论 -
修改状态栏字体颜色
目前只有小米的MIUI、魅族的Flyme和Android6.0以上系统可以把状态栏文字和图标换成深色。/** * 设置状态栏图标为深色和魅族特定的文字风格 * 可以用来判断是否为Flyme用户 * @param window 需要设置的窗口 * @param dark 是否把状态栏字体及图标颜色设置为深色 * @return boolean 成功执行返回true * */publ原创 2016-11-01 14:47:31 · 679 阅读 · 0 评论 -
二维码扫描逻辑梳理
http://coolshell.cn/articles/10590.html(二维码生成细节及原理)http://blog.csdn.net/u012917700/article/details/52369175(二维码扫描及优化策略)http://blog.csdn.net/Tau_Chan/article/category/1846313(打造极致二维码详解)打开摄像头扫描二维码拍照相关主要原创 2016-11-01 14:49:48 · 2775 阅读 · 0 评论 -
多输入条件逻辑判断(一)
例如下面图片这种情况有EditText、有TextView、有按钮点选EditText本身有输入限制包括错误提示和错误数据不支持输入、TextView或其它控件错误提示以上所有条件 错误或全部正确时自动修改底部按钮状态底部按钮点击时 如果有错误时提示通常做法: //fragment或activity添加EditText监听,并对各种条件进行判断 TextWatcher con原创 2016-11-01 14:52:49 · 1277 阅读 · 0 评论 -
Android Studio实用插件
dexcount-gradle-plugin 编译时提示apk的方法数 https://github.com/KeepSafe/dexcount-gradle-pluginJenkins集成apk size与dexcount http://www.jianshu.com/p/c5c8528841eb#rd配置方式:在 app/build.gradlebuildscript { reposit原创 2016-11-01 14:57:30 · 617 阅读 · 0 评论 -
崩溃捕获并上报服务器
Java 异常的分类: 基类为:Throwable Error 和 Exception 继承于Throwable RuntimeException和IOException等继承Exception 其中,Error和RuntimeException及其子类属于unchecked exception:可以不处理、抛出或交给其它代码或JVM完成 而其他异常为checked exception:原创 2016-11-01 15:00:47 · 483 阅读 · 0 评论 -
HashMap源码探究
HashMap的创建public HashMap() { table = (HashMapEntry<K, V>[]) EMPTY_TABLE; threshold = -1; // Forces first put invocation to replace EMPTY_TABLE } public HashMap(int capacity) {原创 2017-05-03 11:10:01 · 326 阅读 · 0 评论 -
LinkedHashMap源码探究
LinkedHashMap继承于HashMap,有HashMap的所有特性,除此之外LinkedHashMap维护了一个双重链表,这个链表定义了元素的访问顺序包括:插入顺序和访问顺序,默认为按照插入顺序关于HashMap介绍参考以下 http://blog.csdn.net/nuannuandetaiyang/article/details/71108241LinkedHashMap的构造函数原创 2017-05-03 11:16:15 · 266 阅读 · 0 评论 -
图片缓存策略
内存缓存+sd卡缓存: 内存缓存策略LruCache:Least Recently Used最近最少使用算法即会淘汰最近最少使用的数据,可以看看源码:public class LruCache<K, V> { private final LinkedHashMap<K, V> map; /** Size of this cache in units. Not necessaril原创 2017-05-03 11:07:59 · 442 阅读 · 0 评论 -
Android开发&测试工具
http://www.tuicool.com/articles/EFBjequ (参考) Android Studio PluginAndroid Studio-Preferences-Plugins 进入该界面可安装插件 GsonFormat 将json格式的数据转换为Java代码 robolectric 测试用例&编写框架 https://github.com/robolectr原创 2016-03-03 16:46:27 · 505 阅读 · 0 评论 -
android布局之二:布局复用
对于上一篇文章提到的布局管理器,使用起来容易,但是要想达到高效的目的还是没那么容易的,尤其是仅仅是利用它的最基本的特征往往创建不了最优的View,对于inflate布局文件本身是有性能消耗的,尤其是每增加一个嵌套布局或视图都会对应用程序产生很大的影响,所以我们就要尽量的做到对已存在的布局在更新时最小的变化一般原则有:避免不必要的嵌套:不要把一个布局放置在其他布局里,除非是必要的。避免使用太多视原创 2016-03-01 16:30:16 · 1069 阅读 · 0 评论 -
android定时刷新界面
在做Android客户端软件的时候经常需要刷新某区块内容,比如微博客户端就需要定期检测是否有新发布的微博内容,如果有新微博客户端就显示出来。Android里可以选用两种方式来实现此功能。方式一、使用Timer(定时器)和TimerTask实现示例代码:public class M转载 2011-07-19 02:40:03 · 2388 阅读 · 0 评论 -
android布局之一:简单入门
Android中UI涉及的Layout主要有:LinearLayout、RelativeLayout、TableLayout、TabLayout、GridView、Listview这里的六个为文档中提到的布局方式,除此之外,常用的还有AbsoluteLayout和FrameLayout布局。其中这些布局中需要注意的地方有: LiearLayout本身是ViewGroup,它可以横向或者纵原创 2011-11-04 14:12:28 · 722 阅读 · 0 评论 -
android实现自定义标题栏
全屏显示:requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView(R.layout.test);自定义具有进度条和滚动标题文字在需要修改标题栏的Activity的onCreat原创 2011-07-19 02:39:05 · 818 阅读 · 0 评论 -
android问题多多
刚买的华为荣耀,发现竟无法输出log信息,查了下资料,自己也作为备忘:报错:Unable to open log device '/dev/log/main': No such file or directory解决:1.拨号盘输入*#*#2846579#*#*2.进入ProjectMenu->后台设置->log设置->log开关3.选择日志开OK!log正常输出...原创 2012-02-22 11:16:44 · 836 阅读 · 0 评论 -
Android数据库更新机制
Android源码:1、通过下面的构造方法传入新的版本号/** * Create a helper object to create, open, and/or manage a database. * This method always returns very quickly. The database is not actually * crea原创 2014-04-02 17:41:10 · 802 阅读 · 0 评论 -
Handler MessageQueue Looper消息循环原理
Handler概述Handler在Android开发中非常重要,最常见的使用场景就是在子线程需要更新UI,用Handler来投递消息到主线程执行UI更新操作。因为Android系统的View是非线程安全的,所以需要在主线程更新UI。总的来说Handler就是用来做线程间通信,在不同线程之间传递消息。消息循环主体结图例从图中可以看出,四种颜色分别代表了四个对象,并且大致描述了几个对象之间的关系,以及消转载 2015-04-17 17:23:56 · 578 阅读 · 0 评论 -
home键监听(Android应用切换到后台监听)
1、通过注册广播监听package country.company.project.util;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import andro转载 2015-10-26 17:20:48 · 2122 阅读 · 0 评论 -
GPU Debugging Tools
From:http://tools.android.com/tech-docs/gpu-profilerGPU debugging tools 是正在实验中的功能,目的是为了帮助检查GPU的状态和了解是什么导致了特定的渲染结果安装 GPU debugging tools默认studio没有安装GPU debugging tools,用之前你需要添加一下,你可以在SDK manager里边 SDK T翻译 2016-03-01 16:07:51 · 7252 阅读 · 2 评论 -
ThreadLocal源码探究(Android版)
Android的Looper实现中核心用到了ThreadLocal这个类,但是基于对这个类不甚了解,所以详细看了源码和参考了一些博客,下面谈下自己的理解源码参考:Android源码的java.lang.ThreadLocal类(这里边实现同jdk关于ThreadLocal的实现有所区别)首先可以看下关于ThreadLocal类的官方注释:/** * Implements a thread-loca原创 2017-05-04 15:54:22 · 389 阅读 · 1 评论