自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 EventBus源码阅读笔记

EventBus是Android中比较常用的组件通讯方式,可以进行多线程,多Activity,Service进程内之间进行通讯。EventBus是通过“观察者模式”,向订阅者进行消息分发实现的。通过发射,注解等方式进行进行获取观察者订阅的方法ID,然后进行分发。EventBus默认的各个属性参数的设置查看EventBusBuilder。public class EventBusBuild...

2019-08-21 20:33:35 162

原创 Activity的生命周期和启动模式

Activity的声明周期讲述了Activity正常生命周期和异常生命周期各个周期的调用。以下知识点:1.在异常情况下,Activity的onStart这些可能不会调用。而系统会调用onsaveInstanceState,这时我们需要在这个方法内实现我们数据保存。当Activity再次被启动的时候会去调用OnRetoreInstanceState,我们可以在这个方法里进行恢复数据。(1...

2019-08-21 20:48:49 210

原创 单元测试之Mockito

gradle引入testImplementation "org.mockito:mockito-core:2.+"magReader = mock(MagReader.class);1.可以通过when方法来通过指定调用的某个方法的返回值。when(magReader.read()).thenReturn(null);2.使用verify方法来验证某个方法的调用方式。Li...

2019-08-21 20:46:44 386

原创 Java线程之Semaphore

线程同步的目的是让在同一时间只有一个线程同时运行,为了保证逻辑上的正确性,不会出现非线程安全问题。Semaphore是一个线程同步。以下是使用情况:1.当你创建的acquire数量大于申请的limits数量的时候,会直接阻塞当前线程。Semaphore semaphore = new Semaphore(5)semaphore.acquires(6);2.Semaph...

2019-08-21 20:45:24 402

原创 Android Stdio 代理

有时候新导入的一个项目下载jcenter和google的一些库的时候由于国内墙的原因,下载很慢甚至无法下载,项目构建不成功。参考文章:https://blog.csdn.net/yinxing2008/article/details/82106977解决方法:使用国内阿里云的镜像库去下载。只需要将project下的gradle文件中的jcenter() 和google()方法进行替换成下面这种...

2019-08-21 20:42:03 244

原创 View 如何获取点击超时

View 的OnLongClick的默认的超时是500ms,同时可以设置用户,具体不太清楚。View的各种点击超时都在ViewConfiguration中可以找到。最终由CoreSettingsObserver提供CoreSettings,完成的链是:View -> ViewConfiguration -> AppGlobals -> ActivityThread ->...

2019-05-06 08:48:44 437

原创 Java ExecutorService使用要小心

公司的项目中使用了ExecutorService java中的线程池进行管理线程,使用submit进行线程申请线程时出现线程内抛出NullPointException被捕捉,导致调试难度急剧加大,原因是ExecutorService自行捕捉了异常,解决方法:Future result = Executors.newCachedThreadPool().submit(); try

2018-01-17 09:36:17 5667

原创 Android Cordova 插件制作

现在有一个项目使用了Cordova,如果不知道Cordova是个什么东东,可以直接百度Cordova进入Cordova中文官网,其中的入门资料还算全。简单的说Cordova是可以使用Js开发移动应用的神器,就是这些框架使得我们这些原生哥们不得不学(扯淡尼)。最近做项目的时候,看着官方的文档看的半知半解,想到网上看看有没有前辈做过的。不看不知道,我的天呀,好家伙前前后后就那两三个人写的博客,结果一大

2017-08-23 09:31:12 444

原创 更新Android stdio的exploded-aar不见了的问题

因为最新的Android stdio 2.3把exploded-aar放在另外一个地方,只需要在gradle.properties 中添加android.enableBuildCache=false就可以了。参考[他叫自己Mr.张]的原创文章原文链接:http://blog.csdn.net/ys743276112/article/details/62235542

2017-06-09 18:00:30 2183

转载 Android应用的启动优化

应用的启动 启动方式通常来说,在安卓中应用的启动方式分为两种:冷启动和热启动。1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。2、热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程

2017-02-21 11:07:44 405

原创 Android 多Module(组件)开发

看到鸿翔大神订阅号中元斌的组件化之Android路由实现文章,瞬间被组件化的思想给吸引住了,后来又看了App组件化与业务拆分那些事,立马玩一下这个组件化。我所在公司Android项目的现状: 基本上都是使用一个总包把所有的代码逻辑都包裹在其中,在包里在进行模块划分,但很多公用的资源交错纵横,出现如果某一项功能删去很麻烦,有的同学(我们都是学习编程的同学)可能会说把入口隐藏就好...

2017-01-07 10:41:04 6239

转载 Shallow heap & Retained heap

原文链接:http://bjyzxxds.iteye.com/blog/1532937,非常感谢作者所有包含Heap Profling功能的工具(MAT, Yourkit, JProfiler, TPTP等)都会使用到两个名词,一个是Shallow Size,另一个是 Retained Size. 这是两个在平时不太常见的名词,本文会对这两个名词做一个详细的解释。 Shallow

2016-12-15 21:01:48 309

转载 关于 java.lang.NoClassDefFoundError: com.umeng.analytics.d的问题

问题是因为在build.gradle中配置了分包,就是multiDexEnabled true,三种解决方案:1、不配置分包(这个好像不太可能,既然配置了肯定是超了65535)2、自定义的application不要继承Application,而是继承MultiDexApplication。3、仍然继承Application,然后复写Application的attachBaseConte

2016-12-09 10:38:03 2371

原创 Webview加载天猫html页面报错

Android使用webview加载天猫原有Html5页面,加载出错,正确的解决方法是:private static final String INJECTION_TOKEN = "**injection**";class MyWebViewClient extends WebViewClient{ @Override public boolean shouldO

2016-11-19 13:12:25 1027

原创 Java 容器类List学习总结

/** * 测试List、ArrayList、LinkList、Vector * * @author Josh Bloch * @author Neal Gafter * @see Collection 容器类主类 * @see Set * @see ArrayList * @see LinkedList * @see Vector * @see Arrays#asLis

2016-11-02 15:46:30 329

原创 Android MultiDex学习

在网上看到很多关于.classs分包的文章,今天继续学习看到一篇文章写的非常全面,注释清晰,感谢作者的分享,在这里我自己记录一下,使用时再具体学习一下。http://yydcdut.com/2016/03/20/split-dex/index.html

2016-10-21 15:11:09 306

原创 Android Handler原理理解

所以在Android中使用的基本上都是线程,那么在这样一个多线程的环境下,我们怎样进行线程之间的交互就是非常重要的事情了,这个时候Handler的存在就显得尤为重要。

2016-09-09 23:15:05 412

转载 Android进程保活

转载至:http://dev.qq.com/topic/57ac4a0ea374c75371c08ce8目前市面上的应用,貌似除了微信和手Q都会比较担心被用户或者系统(厂商)杀死问题。本文对 Android 进程拉活进行一个总结。Android 进程拉活包括两个层面:A. 提供进程优先级,降低进程被杀死的概率B. 在进程被杀死后,进行拉活本文下面就从这两个方

2016-08-12 22:32:03 775

转载 遭遇MultiDex

遭遇MultiDex愉快地写着Android代码的总悟君往工程里引入了一个默默无闻的jar然后Run了一下, 经过漫长的等待AndroidStudio构建失败了。于是总悟君带着疑惑查看错误信息。UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: method ID not in [0, 0xffff

2016-08-11 14:30:51 350

原创 Glide原理分析(二)

上一篇中主要展示了glide的一些使用,感觉glide使用起来还是非常简单的,这次是我个人第一次阅读这种开源框架代码,看起来还是有一点吃力,我只要加油了,我相信以后看的多了就会好起来的。为了方便阅读glide的时候有问题代入感,我列出了几个我想知道的问题,这次也主要按照这几个问题来说吧。1.Glide是怎么做到加载周期跟随Fragment,Activity的周期的。2.Glide是如何进行

2016-08-08 23:00:08 2509 1

原创 Android TextView 不同主题下两边对齐

问题描述这两天遇到了一个TextView字体对齐的问题,就是两个汉字,三个汉字和四个汉字对齐的问题,之前我采用的方法是用空格(使用\t是不可行的)或者两个字与四个字对齐时使用全角中文打空格,但是三个字就不好对齐,所以最后我选择了空格,但现在出现一个问题是Android主题修改的问题,有的主题自带的字体所占据宽度的是不一样的,导致本应该对齐的而无法对齐。解决方法这种情况要做各个屏幕和主题

2016-07-27 13:08:54 1826 1

原创 Glide原理分析(一)

这段时间一直在使用Gide框架进行图片的加载,对于Glide简便的使用感觉很爽,于是对于Glide其中的实现过程起了兴趣,于是就在网上查了关于Glide原理资料,当时就感慨原来有那么多前辈对Glide的分析,看的我是不甚激动啊,本篇及以后对于Glide的相关文章为我个人学习结果,就当是记一个笔记好了。闲话少说,来看看这个Glide到底是何方神圣。Glide是google内部的一个用于图片加...

2016-07-26 23:51:33 1902

原创 不错的链接-笔记

我自己看过并且认为很值得收藏学习的一些连接

2016-07-16 14:31:00 323

原创 Frogment跳转Activity之后OnActivityResult没有效果

今天遇到在fragment中使用startActivityForResult函数打开Activity之后,在fragment中使用OnActivityResult回调没有达到选择后取值的效果,在测试过程中发现在调用startActivityForResult函数之后,立马就调用OnActivityResult回调,尝试了很久,在网上查了一些解决办法都没有用,最后发现是因为我调起Activity的启

2016-07-15 13:45:20 426

原创 从今天开始

毕业了,学校里面生活还听让人榴留恋的。作为一个应届毕业生,对于自己的生活还没有学会调整,作为一名开发者来说我还是属于菜鸟中的菜鸟。对于我来说学习知识、积累经验才是重中之重,之前虽然也写过博客,但是都是想起来写一篇,致使很多知识掌握的不牢靠,今天开始吧,开始持续写一些工作中遇到的问题和值得记录的知识。博客短期类会主要涉及Android开发方面的知识和经验,在以后可能会写一些Android相关的一些知

2016-06-29 23:57:55 264

原创 使用android stdio1.5进行junit测试

找了好久才找到这个方法:http://www.mobibrw.com/2015/2634

2016-06-29 11:21:37 300

转载 manifest中的属性我们经常遗忘了的属性

很多在manifest中的属性我们经常遗忘了它们,或者经常看到但又不是很明白它的作用。那么在这里我就拿了一些属性简单的解释一下,防止以后碰到却不知道其中的意思。不是很全,以后会断断续续的补充吧 一、android:installLocation='internalOnly'android:installLocation隶属于AndroidManifest.XML中的manife

2016-03-20 22:10:44 597

原创 使用webview调起QQ临时会话

在开发过程中我我们有时可能需要使用到在Html5页面上的超链接调起QQ临时会话。使用的方法是:重写WebViewClient加上红色字体的部分,@Override不要写掉了。。。public class MyWebViewClient extends WebViewClient {private Context context;public MyWebViewClient()

2016-01-27 13:36:33 1924 1

原创 ubntu获取android源码的方法

由于google被墙了,用原来很多地方介绍的方法没有办法链接到google,我找到了一个大牛写过的博客,里面很详细。下面是这个博客的链接:url:http://www.cnblogs.com/bluestorm/p/4419135.html

2016-01-20 22:23:48 403

原创 百度地图使用

对于百度地图的一些开发,

2015-12-29 21:16:35 1899

原创 Android QQ,微信,新浪微博登录笔记

简要的记录自己开发第三方登录的问题和code

2015-12-29 21:11:41 2538

原创 年终总结

对于今年生活的简单总结

2015-12-27 20:29:59 338

转载 android控件注解

转自http://my.oschina.net/kymjs/blog/305882

2015-12-26 22:36:32 552

原创 我的android错误集

我在android开发中遇到的问题,做个笔记

2015-11-30 16:44:28 734

转载 路由器原理

做个记录

2015-10-18 11:44:08 534

原创 屏幕适配的理解

android屏幕适配

2015-06-24 12:18:33 780

原创 同步静态和非静态同步的区别

同步静态和非静态同步的区别

2015-06-24 12:15:39 776

原创 android windows 上JNI编程

android中的jni编程介绍

2015-06-24 12:13:20 821

原创 将access数据库导入mysql

本文主要就是我在使用Qt的时候需要用到access数据库里的信息,但是我安装的Qt版本不支持access数据库的开发,所以我想到将access数据库中的内容导入到mysql中进行使用,以下是我上网查过资料实践的总结(都为个人理解,有不妥之处,还望有大神指点):1.第一步将access数据库中的数据导出到一个.txt文件,然后将这个txt文件拷到linux系统/var/lib/mysql/下

2014-02-24 09:14:28 1230

转载 如何使Fedora14系统使用root用户

Fedora12(其他版本未测试过)默认是不允许root登录的,以下给出开启root登录的方法用普通用户登陆,打开系统工具-终端输入命令:    su -    (该命令可以切换到其他用户身份,本次将切换到root身份)输入root密码(此时密码不显示,直接输入)输入命令:     vi /etc/pam.d/gdm在文本编辑器中注释掉"auth required pam_

2014-02-19 17:52:42 919

空空如也

空空如也

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

TA关注的人

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