自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

文韬武略的专栏

我就是我,追求自由快乐的自我!

  • 博客(370)
  • 资源 (10)
  • 收藏
  • 关注

原创 死锁

解决死锁的常用方法:1.避免一个线程同时获取多个锁2.避免一个线程在锁内同时占用多个资源,尽量保证每个锁只占用一个资源3.尝试使用定时锁,使用lokc.tryLock(timeout)来替代使用内部锁机制4.对于数据库,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况5.使用jstack和ThreadMXBean查找死锁原因,然后解决。 参考自:《Java并发...

2018-08-25 14:59:52 236

转载 ConstraintLayout使用

最近看到郭林大神推了一篇关于ConstraintLayout控件的使用博客,特意看完了,写的很好。之前一直没太关注这个控件,虽然知道有这么个控件,现在才知道这个控件的强大。感谢作者的付出。ConstaintLayout拖动操作篇:https://blog.csdn.net/guolin_blog/article/details/53122387 ConstraintLayout...

2018-08-21 16:48:41 291

转载 一次完整的HTTP事务是怎样一个过程?

转载自:http://blog.51cto.com/linux5588/1351007声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解。 当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 以下过程仅是个人理解: 域名解析 --> 发起TCP的3次握手 --> 建立TCP...

2018-08-10 18:08:46 402

原创 ExecutorService详解

前言        在我们的日常开发中,难免会使用到线程,部分还会用到多线程并发问题。我们知道,线程的创建和释放,需要占用不小的内存和资源。如果每次需要使用线程时,都new 一个Thread的话,难免会造成资源的浪费,而且可以无限制创建,之间相互竞争,会导致过多占用系统资源导致系统瘫痪。不利于扩展,比如如定时执行、定期执行、线程中断,所以很有必要了解下ExecutorService的使用。...

2018-08-09 11:10:50 85966 4

原创 线程并发--CocurrentHashMap和CopyOnWriteArrayList详解

在多线程开发中,我们经常要考虑线程并发的问题,那么如何来避免线程并发代码的数据读写问题呢?我们常见的HashMap、TreeMap、LinkedList、ArrayList都是线程不安全的,而Java也提供了一些线程安全的容器类:如:各种并发容器:CocurrentHashMap、CopyOnWriteArrayLis等;各种线程安全队列(Queue/Deque):ArrayBlo...

2018-07-19 10:29:30 1730

转载 git工作流

常见的工作流方式:1.中心化的工作流2.基于功能分支的工作流3.Gitflow工作流4.Fork工作流https://www.jianshu.com/p/0d8ff3324535?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendationgit-flow详解:G...

2018-07-12 15:37:24 294

转载 volatile的适用场景

转载自:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html,关于volatile写的很好的文章。把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor obje...

2018-07-10 15:12:34 873

原创 GBK字符无法映射

在android studio3.1.2的java library库中,中文字符串和中文注释都无法编译通过,报错:“GBK字符无法映射”。在对应的module中的build.gradle中添加下面这段就可以了:”tasks.withType(JavaCompile) { options.encoding = "UTF-8"}...

2018-07-09 14:50:50 1435

转载 Java多线程学习之sleep、wait、notify/notifyAll 详解

1、wait()、notify/notifyAll() 方法是Object的本地final方法,无法被重写。2、wait()使当前线程阻塞,前提是 必须先获得锁,一般配合synchronized 关键字使用,即,一般在synchronized 同步代码块里使用 wait()、notify/notifyAll() 方法。3、 由于 wait()、notify/notifyAll() 在syn...

2018-07-09 14:32:53 609 2

原创 ButterKnife 无法找到id问题

忘记有多久没用ButterKnife ,最近又想起来使用Butterknife了,但是却遇到了很多错误,总结下。官网:http://jakewharton.github.io/butterknife/,github: https://github.com/JakeWharton/butterknife开始导入的是8.6.0和8.8.1,然后各种报错,说BindView是id不是常量,原谅我很久没用...

2018-06-26 18:04:41 6087

原创 NavigationView阴影

最近在使用NavigationView时,发现顶部有一块阴影去不掉,看到有写各种方法的,包括布局和代码设置的都有,但是并没有效果,最后在https://bbs.csdn.net/topics/391920463有人在论坛里提问才知道的。其实只要一行代码就解决了:app:insetForeground="@android:color/transparent"亲自测试过是可以的。没加前:加了后:...

2018-06-25 17:09:51 945 1

转载 解决 Android N 7.0 上 报错:android.os.FileUriExposedException

最近在做app安装功能,弹框APP安装界面,遇到下面的错误:android.os.FileUriExposedException: file:///storage/emulated/0/Download/appName-2.3.0.apk exposed beyond app through Intent.getData()我的安装系统是8.0的。参考链接:https://blog.csdn.ne...

2018-04-10 16:59:18 249 2

原创 kotlin常用语法

1.创建单例 object Resource {    val name = "Name"} 2.类名引用SecondActivity::class.java3.静态方法class VExecutorService private constructor() { private val executorService = ScheduledThreadPoo...

2018-03-10 11:53:42 236

原创 RTL布局

当我们需要支持阿拉伯语等右左UI布局时,我们就要考虑RTL Layout了。1.在AndroidManifest.xml中设置:android:supportsRtl="true"2.当我们只想要支持RTL布局时,可以在xml布局中设置:android:layoutDirection="rtl"此时,布局就是右左顺序显示了3.当我们需要同时支持LTR和RTL呢?那就需要用几个特殊属性了androi...

2018-03-06 17:41:05 1663

原创 本地时间和格林威治时间转换

/*** * 转成格林威治时间 * * @param LocalDate 时间格式必须是yyyy-MM-dd HH:mm:ss * @return */public static String LocalToGTM(String LocalDate) { SimpleDateFormat format; format = new SimpleDateFormat("y

2018-02-03 16:40:35 3358

原创 Duplicate zip entry [okhttp-2.4.0.jar:com/squareup/okhttp/Address.class]

最近由于导入了一个第三方的sdk,打包的时候报错“Duplicate zip entry [okhttp-2.4.0.jar:com/squareup/okhttp/Address.class]”。通过命令:gradlew dependencies可以查看我们的工程依赖包的情况:进行了多重尝试,终于解决了,下面分享下解决方法。网上有人说这么会解决问题:

2018-01-12 21:45:18 1758

转载 一位程序员工作10年总结的10条建议

转载自:http://www.sohu.com/a/206522412_100047109展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性建议。1.想清楚,再动手写代码刚入行的新手,为了展示自己的能力,拿到需求迫不及待地就开始上手写代码,大忌!2.不交流,就会头破血流不爱说话和沟通,需求都理解错误了,最后做出来才发现,只能加班

2018-01-11 14:17:02 5883 4

原创 获取状态栏和虚拟键高度

public static int getScreenWidth(Context context) { return context.getApplicationContext().getResources().getDisplayMetrics().widthPixels;}public static int getScreenHeight(Context context) {

2017-12-15 11:12:18 443

原创 状态栏沉浸式

参考自:http://blog.csdn.net/brian512/article/details/520964451.部分机型状态栏是黑色背景,无法完全设置为透明2.部分机型状态栏文字是白色或黑色代码: /** * 初始化状态栏相关, * PS: 设置全屏需要在调用super.onCreate(arg0);之前设置setIsFullScreen

2017-12-15 10:02:48 289

原创 Layout state should be one of 100 but it is 10

最近使用RecyclerView时遇到如下错误:E/AndroidRuntime: FATAL EXCEPTION: mainjava.lang.IllegalStateException: Layout state should be one of 100 but it is 10at android.support.v7.widget.RecyclerView$State.asse

2017-12-14 14:49:34 8215

原创 Android Lint优化

在Android Studio 中已经集成了Lint的功能,将鼠标放在代码区点击右键->Analyze->Inspect Code–>界面选择你要检测的模块->点击确认开始检测,结果如下:然后我们可以一个个对照看是否需要优化。

2017-12-04 15:20:18 195

转载 Git冲突:commit your changes or stash them before you can merge

转载自:https://www.topjishu.com/8875.html用git pull来更新代码的时候,遇到了下面的问题:error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.phpPlease, commit your changes o

2017-11-28 09:46:28 432

原创 Launcher加载流程

1.theme加载设置theme来源,是使用本地theme,还是在线theme,然后进行解析。2.app桌面图标加载获取所有appInfo信息3.appwidget加载  通过appwidgetmanager获取系统所有的widget信息,同时,对widget信息进行处理,如需要过滤不需要显示的widget,错误的widget配置,widget的高宽配置等等信息

2017-11-03 14:31:35 445

原创 常用git命令

1.提交代码git add filenamegit pullgit commit -m "说明"git push2.删除文件2.1新写一个文件,并提交到暂存区先删除工作区中的文件,在删除暂存区的文件rm 文件名git rm 文件名2.2同时删除工作区和暂存区中的文件git rm -f 文件名2.3删除暂存区的文件,不删除工作区的文件git rm...

2017-10-16 14:38:06 511

原创 从android源码中查看android的版本

想要查看安卓源码版本,一般有两个方法:1,如果是已经编译过的,则会在源码下生成build.prop文件,我们可以通过命令查找文件find -name build.prop然后再打开查看版本信息。2,如果未编译过,在源码目录下的build/core/version_defaults.mk文件中也有版本信息PLATFORM_SDK_VERSION := 26 说明我的是

2017-09-29 10:32:51 9279 1

转载 Android 恢复出厂设置(recovery)

转载自:http://blog.csdn.net/kehyuanyu/article/details/47054325Android 恢复出厂设置基本流程(1)遥控器/按键板后门键触发,或者应用里面从系统设置里面恢复出厂选项也可触发; // 后面以系统设置的应用触发为例(2)选择恢复出厂设置之后,就会发送广播“android.intent.action.MASTER_CLE

2017-09-27 19:11:12 8437 1

转载 Android数据备份(Android Data Backup)

转载自:http://blog.csdn.net/y505772146/article/details/51291609Android的备份服务为了给我们的应用数据和配置提供还原的功能,它允许我们把我们的应用数据拷贝到远程的“云”存储上去。如果一个用户在他的手机上恢复了出厂设置或者换了一部新的Android设备,当开发者的应用被重新安装的时候,系统将会自动修复你的已经备份的数据

2017-09-27 18:54:13 2513 1

转载 Android Studio系列(二)使用AS开发/调试整个android系统源代码(不定时更新)

转载自:http://blog.csdn.net/aaa111/article/details/43227367一、修改AS的配置由于Android源码太大了,在过导入源码和后续工作中,AS需要占用大量内存,所以我们要先做些设置。在2.3.1以后的版本中修改/home/username/.AndroidStudio2.3/studio64.vmoptions文件,增加-

2017-09-27 18:51:43 539

转载 Ubuntu安装JDK详解

转载自:http://www.linuxidc.com/Linux/2016-11/136958.htm已试过,我安装的是java-oracle-8的jdk,可以用,感谢博主。许多人比较厌恶Java, 但是很有可能因为某些原因你需要安装Java,尽管你很讨厌它. 在这篇文章中,我们将展示如何在Ubuntu 14.04安装Java(也可能在Linux Mint 17同样适用)。

2017-09-23 15:38:02 328

原创 android源码下载

转载自:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/Android 镜像使用帮助注意: 本镜像是 AOSP 镜像,Android SDK因版权原因,我们不能提供镜像服务。参考 Google 教程https://source.android.com/source/downloading.html, 将https://and

2017-09-23 14:52:00 322

转载 android判断前台应用

转载自:http://blog.csdn.net/zhgxhuaa/article/details/62419006Andoid系统从Android5.0开始对获取前台进程接口进行相关限制。本文为对突破Android接口限制进行的一系列研究的总结。目前所有获取前台进程的接口有如下7种方式:接下来将对每一种方案进行详细的阐述。1.RunningTask当一个App处于

2017-09-21 17:39:25 503

转载 Android应用流量统计

我主要参考的是这篇博文:http://www.mamicode.com/info-detail-1802432.html

2017-09-18 16:36:46 650

原创 activity和fragment生命周期

2017-09-01 11:47:53 186

转载 垃圾回收原理

转载自:http://www.cnblogs.com/killmyday/archive/2013/06/12/3132518.html

2017-08-31 17:46:30 229

原创 Android 音频输出方式监听

1.获取输出音频数据开始与 API 级别 16  有 MediaRouter API 使您能够获取一些有关当前音频和视频路由信息。到路由信息,您将使用 getSelectedRoute 方法,与 ROUTE_TYPE_LIVE_AUDIO 或 ROUTE_TYPE_LIVE_VIDEO 的标志。这使您 RouteInfo 对象,通过它你可以的路线使用名称 getName 方法。

2017-08-13 22:44:56 7858 2

原创 android境外支付

最近碰到境外支付的需求,找了下资源,难得有人分享出来,感谢以下链接的博主。境外支付宝:http://blog.csdn.net/xiaopingping1234567/article/details/48288205境外微信钱包:

2017-08-12 11:21:08 2214

原创 获取广播地址

最近手上有个项目,需要通过广播地址来获取另一客户端的ip地址等信息,但是又不知道另一客户端的ip地址,所以就在另外一端配置了下,当app通过UDP发送广播时,另外一端就会返回它自己的信息,包括ip和mac地址等。那么怎么获取到广播地址呢?在网上查了下,发现有对有错。当然,我写的肯定是自己验证过了的。先看个栗子:假如计算机的IP位址是192.15.156.205,子网掩码是255.255.2

2017-08-01 16:15:35 3370 1

原创 自定义滚轮选择器Wheelview

源码下载:https://github.com/victorfan336/WheelView 喜欢的话就star下吧。

2017-07-25 17:02:56 7911

原创 android上传库到maven中央

前言部分参考自:http://blog.csdn.net/H_Zhang/article/details/51558800和http://www.2cto.com/kf/201608/532583.html发布到maven中央仓库的话,有两种方式,一种是使用sonatype(https://issues.sonatype.org/),一种是使用bintray(com.bintray.com

2017-07-25 16:08:06 2212

原创 Android 发布项目到私服Nexus仓库

部分参考自:http://blog.csdn.net/H_Zhang/article/details/51558800

2017-07-24 14:26:06 1747

connect.apk

用于安装在设备或手机上,让电脑能够通过adb远程调试手机或设备

2018-09-19

connect-apk

用于安装到已经root了的机器上,用于开启adbd端口5555,才能用adb connect ip命令连接

2018-09-19

onTouch demo

在平常开发中,我们经常会遇到点击事件冲突的情况,或者在面试中被问及,那么下面我们来看下onTouch事件到底是怎么回事。

2017-05-10

Hello-jni-ndk

jni层和java层代码的互相调用demo 相关说明见我的博客:http://blog.csdn.net/fwt336/article/details/52296927

2017-03-03

RoundProgressBar

自定义进度条

2016-10-31

jni开发源码

http://blog.csdn.net/fwt336/article/details/52296927 文章源码

2016-08-24

fragmentargs

fragmentargs demo

2016-08-09

设计师测量文本行距

由于设计师在标注段落行距时,测量出来的行距不标准,或者说不精确,为什么呢?因为他们只能顶着上下两行文字进行行距的测量,所以量出来就不准了。你又或许会说,那就让他上下空出几个像素来测量不就准确了吗?但是,具体又该空出多少像素呢?老板的要求是“最多1个像素的误差,或者根本就不能有误差”,我要撞死了去!所以就只能自己写demo来研究研究了。

2016-06-23

viewpage切换动画

viewpage切换动画,包括了缩放效果、alph透明度效果、选择效果和移动效果。解决了安卓3.0以下版本的不兼容问题。

2016-05-13

Snake Eclipse

基于eclipse的贪吃蛇游戏,添加到eclipse中运行就可以了

2012-11-06

空空如也

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

TA关注的人

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