自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

抽烟的青蛙的专栏

每天进步一点点

  • 博客(67)
  • 资源 (6)
  • 收藏
  • 关注

原创 记录一些比较好的网站(持续)

查看android源码:http://androidxref.com/

2014-10-07 14:44:44 1142

原创 Dagger2使用

概述依赖注入(Dependency Injection),简称DI,又叫控制反转(Inversion of Control),简称IOC。Dagger2就是DI框架的一个例子。作用将各层的对象以松耦合的方式组织在一起,解耦,各层对象的调用完全面向接口。提供依赖的两种方式使用@Inject注解构造器class Thermosiphon implements Pump { private fin

2017-08-17 15:24:57 314

原创 RxJava使用入门

简介这篇文章只是记录一下RxJava的使用,不涉及源码分析前言RxJava是做什么的?我们为什么要用Rxjava?就我现在的理解来说,一个作用是发送数据接收数据,二是异步。基本概念Observable:被观察者。事件的产生者,发送者,是主动的,整个事件的起点。Observer:观察者。事件的处理者,相应者,是被动的,整个事件的结束点。Subscriber:Subscriber是实现Observ

2017-02-19 22:39:27 689

原创 Android Studio Debug调试

使用断点Show Execution Point — 该按钮,光标回到正在debug的断点处Step Over — 单步执行,前进到下一行代码(而不进入方法)Step Into — 进入自定义的方法,如果是系统的方法,则不会进入方法内部Force Step Into — 和Step Into类似,不过可以进入系统方法Step Out — 有断点走到下一个断点,如果没有

2017-02-03 14:37:13 1005

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-02-03 14:01:32 313

原创 dispatchTouchEvent源码分析

简介通过对dispatchTouchEvent事件分发的理解,了解android事件的处理机制事件分发流程首先先确认事件由系统传递给当前Activity,然后由Activity开始分发,主要的流程: Activity -> PhoneWindow -> DecorView -> ViewGroup -> … -> View看一下Activity.dispatchTouchEvent()源码

2017-01-10 17:45:35 2036 2

原创 JavaScript学习笔记

对象var Persion = { age:25, name:'fayou147'}javascript中的对象已key-value的形式展现关键字thisthis是函数运行时,自动生成的内部对象,只能在函数内部使用函数使用的场合不同,this的值也不同,原因是this指的是函数调用时所在的对象,eg:function test(){ this.x = 1;}var obj

2016-12-29 15:40:02 269

原创 Android利用ProGuard进行代码混淆

简介由于Android的代码大都是Java代码,所以挺容易被反编译的,好在Android ADT为我们集成了混淆代码的工具,一来可以混淆我们的代码,让程序被反编译后基本看不懂,另外还能起到代码优化的作用。发布项目前,建议打开Android的代码混淆功能。Android ADT主要通过ProGuard工具来提供代码混淆,网上也有挺多博客文章讲这个的,但感觉很多都介绍得太过于复杂,这里我就以问答的方式来

2016-12-29 11:58:31 443

原创 Canvas 基本绘图Api记录

简介Canvas我们可以称之为画布,能够在上面绘制各种东西,是安卓平台2D图形绘制的基础。绘制东西,需要4个元素协同来完成:位图:Bitmap 来保持(hold)那些像素画布:Canvas 来响应draw的调用画笔:paint 描述画画的颜色和样式等绘图基元:矩形、路径、文字、位图等其他元素ApidrawColor / drawRGB / drawARGB(绘制颜色) /** * 使用

2016-11-28 18:27:50 725

原创 compileSdkVersion, minSdkVersion 和 targetSdkVersion的选择

compileSdkVersion指定apk编译时的用的哪个 Android SDK 版本, compileSdkVersion 不会改变apk运行时的行为,不会被编译到 APK 中:它只是在编译的时候使用。minSdkVersionapk只能运行在版本>=minSdkVersion的Android手机上,其中v4和v7包的 minSdkVersion 分别是 4和7 ,也就是说v4包只能在API

2016-11-21 16:55:47 618

原创 Sublime Text 3安装指引

前言最近几天在学习使用sublime text,遇到了一些坑,在这里记录一下。简介Sublime Text 是一文本编辑器,可通过包(Package)扩充本身的功能。下载地址:https://www.sublimetext.com/安装下载完成后,一路next下去就可以了。安装插件按下Ctrl+Shift+P调出命令面板,输入install 调出 Install Package 选项并回车(注:

2016-11-01 18:39:06 13573 2

原创 Scroller的学习

前言一直对Scroller这个类不太熟悉,之前老是在网上找着看,但是过不了多长时间后就忘记了,今天来整理一下 先看一下Scroller里面的方法: http://api.apkbus.com/reference/android/widget/Scroller.html说明为了理解方便,拿SlideView来做说明,关于SlideView的demo网上有很多,这里为了讲解主要贴出SlideView

2016-10-20 19:43:37 504

原创 Android drawable不同分辨率下的适配

前言文章基本抄袭郭霖大神的Android drawable微技巧,你所不知道的drawable的那些细节,略做修改,为了自己理解。简介最近做项目的时候遇到一个问题:图片在手机上的显示总是和效果图有差异,UI说是我把图片放大了,看了一下代码没有啊,这是怎么回事?最后发现是把基于1080*1920分辨率下切的图片放到了mipmap-xhdpi目录下面说明 public static Bitmap dec

2016-10-18 12:48:51 1620

转载 finished with non-zero exit value 3,gradle编译异常小结

转载自:http://www.jacpy.com/2016/04/22/android-studio-error-collection.html 在使用android studio过程中,使用gradle编译的时候总会出现一些问题,下面是几个常见问题的解决方法。被编译的代码或资源有问题( finished with non-zero exit value 1):出现这种编译异常表现是 exit

2016-06-16 17:19:11 7902

原创 Retrofit2.0实践记录

前言 Type-safe HTTP client for Android and Java by Square, Inc.官网:http://square.github.io/retrofit/API:http://square.github.io/retrofit/2.x/retrofit/参考:http://gank.io/post/56e80c2c677659311bed9841

2016-05-06 18:50:50 4172 1

原创 Android Studio生成.so库

简介通过android studio生成so库的实践。上一篇记录的是通过eclipse生成so的方法eclipse生成so库实践,这里记录一下通过android studio是怎么生成so库的,参考文章http://www.jianshu.com/p/0c0d37c9a2db,这篇blog主要是参考上面文章实现,自己做了一部分修改,以及实现时遇到了一些坑,这里记录一下。配置NDK下载ndk

2016-05-03 20:45:57 11587 4

转载 JNI实现HelloWorld

简介jni实现hello world,以及生成so文件的步骤介绍下载NDK并解压配置NDK的环境变量配置生成头文件.h配置build ndk 步骤下载安装ndk就不说了,网上有很多教程,说一下.h文件和.so文件的生成步骤生成.h头文件点击External Tools Configurations… 然后,如图所示,点击 接下来,看图操作 最后点击Apply,然后 我们在一个androi

2016-04-26 18:12:23 875

原创 Android动态加载—Res文件

简介动态加载res文件,就是将资源文件打包进一个统一的apk,而在我们的app安装后通过后台下载,然后再写到我们的应用中,将这个含有资源的apk,可以称为插件apk,而我们的app,可以称为宿主apk,在宿主中加载插件中的资源文件的方法。介绍下载加载获取资源文件对于下载可以参考上一篇so文件的下载,没什么要说的,加载是从你的sdcard目录下复制到你的应用目录下例如:data/data/包名

2016-04-05 21:33:14 6410

原创 Android动态加载—so文件

简介前几天做一个视频播放的功能,用到了bilibili开源ijkplayer播放器的(集成ijkplayer),功能确实强大,但就是用到的ffmpeg解码库太大,不得已只能只能将so文件拿出来,通过动态的方式来加载。什么是动态加载?就是讲so文件不打包进apk,在安装完应用打开app的时候通过后台下载so库,将下载下来的so文件再写入到app里面。 首先我们要知道,Android加载so文件的方式

2016-04-05 17:18:01 19967 4

原创 IllegalThreadStateException: Thread already started解决

IllegalThreadStateException的原因解析mThread = new MThread();mThread.start();mThread.interrupt();mThread.start();这段代码运行,就会出现上面的异常,从字面是理解也很容易理解:非法线程状态异常,线程已经start。具体原因也很容易找到,看一下thread.start()里面做了什么: pu

2016-04-05 15:26:05 6583 1

转载 Git使用教程

转载自:http://www.cnblogs.com/tugenhua0707/p/4050072.html一:Git是什么?       Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别?      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最

2016-02-15 19:53:15 646

转载 Android Studio 操作记录

公司变更我去了另外一个部门,他们的安卓开发居然用的是Adnroid Studio,没办法只要学习学习了,之前接触过但是感觉蛮复杂的,就没有深入使用。今天研究了一下,果然好多问题啊,下面我把常用的操作和遇到的问题列举一下:1、  android studio连接模拟器或者genymotion本来是连接的真机,并且运行的时候选了Use same device for futur

2015-12-04 16:02:46 554

转载 Android性能优化之使用线程池处理异步任务

转载自:http://blog.csdn.net/u010687392/article/details/49850803 说到线程,我想大家都不陌生,因为在开发时候或多或少都会用到线程,而通常创建线程有两种方式:1、继承Thread类 2、实现Runnable接口 虽说这两种方式都可以创建出一个线程,不过它们之间还是有一点区别的,主要区别在于在多线程访问同一资源的情况下,用Runnable接

2015-11-18 21:32:42 1336

转载 Android插件实例——360 DroidPlugin详解

Android插件实例——360 DroidPlugin详解支持Androd 2.3以上系统插件APK完全不需做任何修改,可以独立安装运行、也可以做插件运行。要以插件模式运行某个APK,你无需重新编译、无需知道其源码插件的四大组件完全不需要在Host程序中注册,支持Service、Activity、BroadcastReceiver、ContentProvider四大组件插件之间、Host程

2015-09-02 17:53:43 4950 1

转载 Gradle学习目录总结

Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言。当然,我们现在最多都是在Android Studio的项目中,和我一样没有接触过的就当看看我的学习笔记吧。阅读第一个gradle随便找到了一个Android Sdk中的一个Sample代码,看了一下它的g

2015-09-02 17:17:19 471

转载 Android Studio安装插件

Android Studio安装插件的方式其实和Eclipse大同小异。废话不多说,直接上图:区域1:你当前已经安装了的插件区域2:在线安装区域3:从硬盘安装,即针对你已经下载好了的插件,可通过这项选择到你下好的插件,进行安装。还有一个Install JetBrains plugin其实和区域2是一样的,只是这边将JetBrains类型的插件放一起了,便

2015-09-02 17:08:50 425

转载 强烈推荐android studio用的几个插件

转载自:http://blog.csdn.net/liang5630/article/details/46366901android studio常用插件,可极大简化开发,增强开发效率。不懂安装studio插件,看参考博文:android stuido插件安装:http://blog.csdn.net/liang5630/article/details/46372447

2015-09-02 17:04:59 448

转载 android权限

转载自:http://blog.csdn.net/stephen255/article/details/9142923常用权限:读写存储卡装载和卸载文件系统android.permission.WRITE_EXTERNAL_STORAGEandroid.permission.READ_EXTERNAL_STORAGEandroid.permi

2015-08-14 16:44:41 427

转载 建立企业内部maven服务器并使用Android Studio发布公共项目

由于Android Studio使用了Gradle构建工具,在library依赖的处理上是将被依赖的library作为一个module引入(拥有一份完整的library拷贝),而Eclipse的ADT则是直接将library作为外部项目依赖链接进来,两者各有各的优缺点。Android Studio的好处是能时刻保持项目的完整性,每一个项目都包含了整个项目所需要的一切东西,当你把项目共享给别人的时候

2015-08-13 18:21:31 554

原创 Android Netroid解析之——断点续传下载及问题修正

提到Netroid或许很多人不知道这个框架,但我如果说Volley想必没有人不知道吧。Netroid是一个基于Volley实现的Android Http库。提供执行网络请求、缓存返回结果、批量图片加载、大文件断点下载的常见Http交互功能,关于网络请求,图片加载没什么好说的,Volley已经有很多人解析过了,这里来说一下大文件断点下载。关于大文件断点下载,网上也有很多实现的demo,为

2015-06-04 15:44:09 2642 1

原创 Eclipse中关联第三方jar包

以v4包为例,记录一下三种关联第三方jar包的方法,首先你需要有第三方jar包的源码,才能关联,以v4包为例。到你的这个目录adt-bundle-windows-x86_64-20130729\sdk\extras\android\support\v4下看一下有没有src文件夹,这就是v4的源码,如果没有,可以在Android SDK Manager中下载Android Support Lib

2015-04-29 15:27:10 2171

转载 抓包工具Fidder详解(主要来抓取Android中app的请求)

第一步:下载神器Fiddler,下载链接:http://fiddler2.com/get-fiddler下载完成之后,傻瓜式的安装一下了!第二步:设置Fiddler打开Fiddler,     Tools-> Fiddler Options (配置完后记得要重启Fiddler)选中"Decrpt HTTPS traffic",    Fiddle

2015-04-16 16:34:42 651

转载 意想不到的有趣linux命令

转自》http://blog.csdn.net/lanxuezaipiao/article/details/90621591. sl 命令sl是指“steam locomotive(蒸汽机车)”,你会看到一辆火车从屏幕右边开往左边。。。。。。安装  $ sudo apt-get install sl 运行  $ sl命令有 -alFe几个选项,-a An

2015-04-13 16:12:47 461

原创 Handler消息机制的源码分析

当在面试的时候问到Handler的消息机制的时候,虽然能够能说出来些什么。但总感觉心里空空的。工作之余网上找了一下加看了一下源码,记录一下,以便日后查看.1.了解Handler消息机制之前先了解与消息有关的几个类:a.Handler:消息的处理者。b.Looper:MessageQueue的管理者。c.MessageQueue:消息队列,用来存放Message对象的数据结构,按照“

2015-03-19 11:19:06 576

原创 android 获取手机里面的WIFI密码

获取手机里面的WIFI密码??刚看到的时候我也没明白这个有什么用,自己的手机不会不知道wifi密码吧,所以到现在我也没用到个这个功能 ,在这里权当记录一下,以备以后再找。话说怎么获取WIFI密码还得从小米手机说起,记得小米推出了个Wifi密码共享的功能;比如在一个咖啡厅,只要一个人向服务员获取了密码,然后他打开wifi密码共享,那么其他人就可以直接连上wifi,而不需要再向服务员询问密码。但是

2015-03-11 11:03:45 3078 2

原创 Android进程间通讯——ContentProvider

ContentProvider是Android四大组件之一,可以提供数据给应用程序。ContentProvider可以提供数据在进程之间共享。ContentProvider能跨进程通信我是知道的。但是我就在之前的几天我还在认为ContentProvider只是为数据库服务的,还是和在和朋友的聊天中忽然提到了这个问题,我才知道ContentProvider不仅仅是查找数据库的数据。关于Content

2015-03-10 15:57:43 956

原创 Android进程间通讯——Clipboard(剪切板)

剪贴板的含义也很好理解,就是一个进程在剪贴板里面复制了一条数据,然后另外一个进程再调用粘贴方法,把数据取出来。进程A的代码:public class ClipboardOneActivity extends Activity { private Button mBtnWriteClipBoard; @Override protected void onCreate(Bundle s

2015-03-10 15:45:17 582

原创 Android进程间通讯——Messager(信使)

(一) 前言Messager n.信使,信差; 先驱; [军]通信兵,传令兵; 顾名思义,Messenger就像一个信使一样,可以负责双方的数据传递。当然如果只是单向传递的话一个Messager就可以了,如果需要双向传递的话那么肯定两个进程里面各有一个信使(一个人怎么通信呢?对不对)。其实Messager实现IPC通信,底层也是使用了AIDL方式。思想:在进程A中创建一个Messa

2015-03-10 09:57:15 2290

原创 Android进程间通讯——AIDL

AIDL (Android Interface Definition Language) ,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。在使用AIDL前,必须要绑定service——bindService。使用AIDL的步骤:1.创建一个包名用来存放aidl文件,如果需要传递自定义对象,还需要建立对象

2015-03-09 18:59:50 684

原创 Android进程间通讯——AIDL,Messenger(信使),ContentProvider,Clipboard(剪切板)

今天逛论坛看到这么一个问题:android中同一个应用程序的activity和service属于同一个进程吗?回答什么的也有啊。在这里简单的记录一下。在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。一般情况下,同一个应用程序的Activity组件

2015-03-09 17:06:11 731

SwipeRefreshLayoutDemo

一个基于android studio实现的StickyListHeadersListView下拉刷新,里面又添加了DrawerLayout侧边栏

2015-06-11

Messenger

一个简单的Messenger demo 里面只有activity.java和service.java两个文件,因为很多的实验都写在了一个工程中,所以只能拿出这两个文件,你需要自建工程,并在清单文件中声明(service 必须有android:process=":remote",要不和activity在同一进程中)

2015-03-10

简单的AIDLdemo

一个简单的AIDL demo 里面只有activity.java和service.java两个文件,因为很多的实验都写在了一个工程中,所以只能拿出这两个文件,你需要自建工程,并在清单文件中声明(service 必须有android:process=":remote",要不和activity在同一进程中)

2015-03-10

ActionModeTest

ActionModeTest的一个小demo

2015-03-06

10个经典的android的开源项目 网络 线程 socket较多

适合对于线程,网络的学习,博客地址:http://blog.csdn.net/u012858313欢迎来踩

2014-11-15

TestDrawer

自定义一个viewgroup,根据viewgroup理论上无限大的原理,通过滚动viewgroup超出还是进入屏幕,对一个布局的收起或者展开,

2014-06-26

空空如也

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

TA关注的人

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