自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Tools工具合集

画图UMLzenuml支持 Chrome 插件draw.io Chrome 插件中文版processonplantuml

2020-05-15 14:11:17 2392

原创 【Java】根据日历计算2个时间相差多少#自然#年、月、日、小时、分钟、秒

iOS 自带了控件,可以自动根据日历来计算 2 个时间相差的自然年、月、日、小时、分钟、秒。Java 没有自带此方法,只能自己来算了~一、竖式减法实现我自己写了一个方法,测试了一些时间和 iOS 作对比,暂时没有发现什么问题。如有错误,欢迎指正,也欢迎提意见~源码见:TimeIntervalUtils.java主要方法是 int[] getTimeIntervalArray(Cal...

2018-08-08 19:03:45 9561 2

原创 Android 关于 CountDownTimer onTick() 倒计时不准确问题源码分析

第一次写源码分析类博客,如有错误,欢迎讨论和指正~~ (^_^)--------------------------------------最近在写一个倒计时控件 CountdownView , 发现系统自带的 CountDownTimer onTick() 并不准确,当然,它的倒计时长度还是比较准确的。本博客 demo 见: countdown一、问题CountDownTimer 使用比较简单,...

2018-02-24 19:53:50 10660 4

原创 【Android】Gradle build 在 transformClassesWithDexForDebug 超慢

重装了 Android Studio 3.4.1 后,第一次运行代码在 build 时一直卡在 :app:transformClassesWithDexForDebug 半个多小时都没结束后来根据 Stackoverflow 上的方法升级了 Gradle Plugin 插件到最新版本(有版本提示)修改 gradle.properties 的配置,我设置成了 4g:org.gradle....

2019-10-15 17:30:41 587

原创 【Android】org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed

项目更新代码后无法运行,会报如下错误:org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.at com.android.build.gradle.tasks.factory.AndroidJ...

2019-10-11 20:09:55 896

原创 【Android】报错:Can't create handler inside thread that has not called Looper.prepare()

在项目一个回调接口里使用 new Handler() 时出现报错:java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()new Handler(Looper.getMainLooper()).post(new Runnable() { @Ove...

2019-09-03 10:46:27 4728

原创 Android Studio 3.5 格式化xml布局文件会导致布局重排的bug

Android Studio 更新到 3.5 后,xml 布局文件格式化会出现布局重排的bug,解决方案如下:选择:File → Settings → Editor → Code Style → XML,右侧的面板上有一个设置按钮,选择 Restore Defaults 后重启 Android Studio 即可:...

2019-08-26 15:29:34 1036

原创 【Android】ScrollView 嵌套 ListView 显示不全以及最后一个item显示不全的问题

1. ListView 数据只显示一条ScrollView 里直接嵌套 ListView 时,数据只能显示一条,通常会重写 ListView 的 onMeasure() 方法,也可以重新计算高度。1.1 ListView 中的 item 高度固定1.1.1 继承 ListView 重写 onMeasure() 方法@Overrideprotected void onMeasure(int...

2019-08-15 23:46:49 1958

转载 【转】TextView预渲染研究

转载自:TextView预渲染研究-----------------------------------------------------------------------------------------------Android中的TextView是整个framework中最复杂的控件之一,负责Android中显示文本的大部分工作,framwork中的许多控件也直接或者间接的继承...

2019-05-16 22:44:48 160

原创 【Android】TabLayout 自定义指示器 Indicator 样式

在布局里加入 TabLayout<android.support.design.widget.TabLayout android:id="@+id/tl" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorColor="@color...

2019-05-09 10:50:26 15385 12

原创 Android Studio 连接 Github 时报错 Failed connect to github.com:443

公司项目使用的 GitLab,之前配置了全局的 git 用户信息。今天在 Android Studio,clone github 项目,但是登录 github 时一直失败,会报如下错误。Failed connect to github.com:443并没有开启代理。试了网上的方法,设置代理或者修改 config 文件什么的都没有用。后来我直接在 控制面板\所有控制面板项\用户帐户 里,点...

2019-05-07 13:59:14 2388

原创 Git 设置全局或者当前项目的用户信息

设置当前项目的 git 用户:git config user.name myName // 自己的用户名git config user.email myEmail //自己的邮箱git config --list //查看当前项目的 git 配置信息在当前项目下面查看的配置是全局配置 + 当前项目的配置, 使用的时候会优先使用当前项目的配置。设置全局的 git 用户:git conf...

2019-05-07 13:51:44 10908

原创 【Git】 Clone failed 克隆失败的解决方法

使用 Android Studio,想 clone 项目,但是进度条下载一段时间后就会报错失败。// 报错 1Clone failed early EOF The remote end hung up unexpectedly index-pack failed RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno...

2019-05-03 23:41:08 37634 1

原创 Android ListView 中 item 设置固定高度无效

Android ListView 中 item 设置固定高度无效给 item 设置 minHeight 属性为指定的高度就可以了android:layout_width="match_parent"android:layout_height="70dp"android:minHeight="70dp" ...

2019-01-15 11:23:34 774 1

转载 【Android Studio】Failed to open zip file. Gradle's dependency cache may be corrupt.

有时候会出现此类报错:Failed to open zip file.Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)Re-download dependencies and sync project (requires network)...

2018-09-01 14:50:02 177

转载 Android 使用 SharePreferences 保存和读取 List

原文:Android 使用SharePreferences保存List集合,保存List集合到本地保存的基本思路是将List数据转换成json格式数据,再保存//首先引入gson库compile 'com.google.code.gson:gson:2.8.1'保存List集合List&lt;String&gt; list = new ArrayList&lt;String&gt;();Gs...

2018-07-04 15:51:31 821

原创 Android 自定义 Dialog 布局设置高度 wrap_content 无效

在以前的一个 Dialog 的布局里加了几行内容后,发现内容总是显示不全,高度没有自适应,可是明明在 Dialog 的根布局设置了是高度 wrap_content。我的根布局是一个 LinearLayout,最下面一行内容是一个 RelativeLayout,RelativeLayout 的高度设为的 wrap_content,但是运行后高度被截断了,内容显示不全。后来把 RelativeLayo...

2018-05-30 16:52:44 7095 1

原创 Android 应用在后台时,跳转 Activity 会自动切换应用至前台

本博客 demo 见:demo。平常用手机的时候经常碰到这种情况,用首屏广告举个栗子~很多应用都会有首屏广告 activity A,假设此应用是 app C,如果此时要使用别的应用,就会使得 app C 在后台运行。可是当 activity A 的广告结束后自动跳转 activity B 的时候 app C 总是会自动跳出来切换到前台展示,挡住了我们正在使用的应用,体验非常不好。这是 androi...

2018-04-08 19:08:33 11552 1

原创 Android Studio 的代码检查功能,使用 Lint 工具优化代码(笔记)

最近在看一篇 Android 开发规范(完结版),收获颇多。10.21 里推荐了 Lint 工具,好吧,我以前还真不知道这个 (°ー°〃)。正好在写一个 demo,就此记录一下使用 Android Studio 自带的 Lint 工具帮助优化代码的过程吧~文中 缩进部分段落 是摘抄自引用的博客~引用结束处标明了出处~本人英语水平有限,若有翻译错误,欢迎讨论和指正~-----------------...

2018-02-11 15:06:22 14106 2

原创 Android Studio debug 时 app 会崩溃

换了一个新测试机后,不论 app 处于哪个页面,什么也不操作,每次一连接 debugger 到手机后,就会立马崩溃。但是取消 debug,app 可以正常使用。参见:Android应用程序在调试模式下启动时会崩溃。我删除了所有断点后,再连接 debugger,加断点,可以正常 debug 了。...

2018-02-08 17:53:01 10229 1

转载 在JCenter发布开源库

gradle-bintray-plugin:一步一步教你在JCenter发布开源库这个虽然配置起来比 bintray-release 麻烦一点,但是成功率比较高。

2018-01-07 13:24:29 358

原创 代码中动态获取 Drawable 文件

private Bitmap getBitmap(int drawableRes) { try { Drawable drawable = getResources().getDrawable(drawableRes); Canvas canvas = new Canvas(); Bitmap bitmap = Bitmap.createBi

2018-01-03 15:34:59 1635

原创 Android Studio 3.0 创建开源库

突然想尝试一下封装一个开源库,看了下 github,基本是有 2 个 Module,"library" 是一个封装的功能代码,"demo" 是对库的功能的使用样例,如下图。翻阅了些资料,总结一下步骤吧。。一、本地封装库,并编写示例代码1. 新建一个 Android Studio 工程。2. 创建 Library:新建一个 Module,选

2017-11-24 17:00:06 417

原创 .9图报错

设计给了一张.9图,直接复制进项目里使用时,无法编译通过,会报如下错误:大概是像素丢失了导致图片变形。在 Android Studio 里打开这张图片,重新保存一下,就可以了

2017-11-02 16:59:47 479

原创 AndroidStudio 调试时部分断点不停

问题:设置了断点,调试时有些断点走了但是无法停住。原因:debug调试不能混淆代码。解决:build.gradle 里设置 buildTypes,将 debug 中的 minifyEnabled 设置为 false。

2017-09-20 14:33:44 2780 2

原创 PopupWindow 滑动时背景失效bug

接手的代码中 PopupWindow 的布局是外面一个 LinearLayout , 内部嵌套一个 ListView ,根布局 LinearLayout 设置了 background 为气泡点九图。在 5.0 及以下手机没有问题,但是在 6.0 系统滑动时整个 PopupWindow 背景会变成透明,在 7.0 系统只是气泡背景变成透明,ListView 保留默认的白色背景(显示为矩形)。

2017-09-19 17:39:19 682

原创 Java 四舍五入

目前 Java 支持 7 种舍入法:1、ROUND_UP:远离零方向舍入。向绝对值最大的方向舍入,只要舍弃位非 0 即进位。2、ROUND_DOWN:趋向零方向舍入。向绝对值最小的方向输入,所有的位都要舍弃,不存在进位情况。3、ROUND_CEILING:向正无穷方向舍入。向正最大方向靠拢。若是正数,舍入行为类似于 ROUND_UP,若为负数,舍入行为类似于 ROUND_DOWN。Math.roun

2016-09-19 18:11:04 530

原创 ListView Tips

ScrollView 嵌套 ListView 自定义可适应 ScrollView 的 ListView,重写其 onMeasure 方法。 此方法默认显示的首项是 ListView,需要手动把 ScrollView 滚动至最顶端:scrollView.smoothScrollTo(0, 0);import android.content.Context;import android.util.

2016-09-13 13:41:07 377

转载 Java 读书笔记

Java 语言把内存分为 2 种:栈内存、堆内存。栈内存:方法中定义的基本类型变量和对象的引用变量都在方法的栈内存中。当在一段代码块中定义一个变量时,Java 就在栈内存中为其分配内存空间,当超出变量的作用域后,Java 会自动释放掉为该变量所分配的内存空间。堆内存:存放由 new 运算符创建的对象和数组。在堆中分配的内存,由 Java 虚拟机的自动垃圾回收器来管理。在堆中创建

2016-08-25 10:30:34 786

原创 SimpleWord 简词开发记录笔记

2015-8-6 15:07:54词库找不到词库,暂时找到一个带音标和释义的考研单词excel(估计是好几年前的大纲词汇),就先用这个吧。excel不能显示音标的话,还得下载字体TOPhonetic.ttf。数据库excel导入SQLite试了几个可视化工具,就SQLiyeStudio比较满意,也没有乱码。开始时把excel另存为.csv文件,系统的分隔

2016-08-16 16:20:49 2753

原创 Android 读书笔记

《Android开发艺术探索》当前 Activity 为 A,此时打开 Activity B:A.onPause() → B.onCreate() → B.onStart() → B.onResume() → A.onStop(),故不能在 onPause 中做重量级操作,使新 Activity 尽快显示出来并切换到前台。当系统内存不足时,系统会按照 [ 后台 Activity

2016-08-16 15:55:03 3535 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除