4 Okloong

尚未进行身份认证

暂无相关描述

等级
TA的排名 6w+

APK打包流程

本文将讲述AndroidAPK的结构和打包流程。

2019-04-28 21:58:41

WindowManager的一些属性

WindowManager(窗口管理服务),它是显示View的最底层,Toast,Activity,Dialog的底层都有用到了这个WindowManager。WindowManager里面主要是addView,removeView,updateViewLayout这几个方法来显示View,以及通过WindowManager.LayoutParams这个API来设置相关的属性。文章将详细介绍。

2019-04-28 13:48:34

IntentService中的耗时操作

由于Service和Broadcast都是运行在主线程中,所以在这两个里面我们无法做一些长时间的耗时操作,要执行耗时操作可以用异步线程AsyncTask或者IntentServie。IntentServie的好处是调用玩后会自己关闭service。

2019-03-31 18:56:40

Android消息队列机制

文章将带你理解Looper、Handler、Message三者的关系。

2019-03-21 21:42:26

反馈式学习

本篇文章将讲述我自己的学习方法——反馈式学习。每个人对学习方法都有不同的理解,可能某人对某种学习方式有较深刻的感触,而别人却不感兴趣。但如果你深究到底,你可能发现它们的核心基本是一样的。这篇文章里面的学习方式其实并不重要,主要是你能根据这背后的原理整合一套适合自己的学习方法。一、反馈式学习反馈式学习是以反馈当作一种学习的学习方式。你首先搭建好一个有信息反馈的环境,然后在里面探索,在探索...

2019-03-13 22:21:34

单例模式

饿汉模式初始化时就实例化,线程安全。懒汉模式使用时候才实例化。双重判空,第一次判空防止重复加锁,第二次判空才实例化。

2019-02-25 22:50:32

Java反射

将介绍Class对象获取以及其内部一些方法属性介绍。

2019-02-18 22:56:51

synchronized

一个对象对应一把锁,要线程同步需要两者同步为同一对象。在该问题中,synchronized修饰pubulic方法中没有具体的参数默认的锁为this,即是当前实例对象。在创建过程中创建的是两个不同对象,对应两把不同的锁。由于调用时由于用的不是同一个锁,所以不能线程同步。synchronized修饰的静态方法,能构成线程同步。静态方法加的锁为类对象的锁。由于静态方法具有全局唯一性,调用的时候调用的是...

2019-02-17 23:49:25

Java动态代理

动态代理其实是面向切面编程AOP。实现有两种,一个是JavaSDK提供的,另外一个是第三方库提供,比如cglib下面是JavaSDK提供的代理静态代理packageaop;publicclassSimpleStaticProxyDemo{ staticinterfaceIService{ publicvoidsayHello(); } staticc...

2019-02-11 23:16:06

Rxjava2源码分析(2)——操作符

承接上一篇Rxjava2源码分析(1)这一篇将讲下Rxjava2的操作符。在Rxjava里面最常用的是map操作符,接下来将从map入手分析。1.map操作符的基本用法这里按照国际惯例,先上map的基本用法。Observable.create(newObservableOnSubscribe<Integer>(){@Override...

2018-05-18 07:40:41

Rxjava2源码分析(1)

1、基本用法本文解读是rxjava的2.1.0版本,对应的rxandroid版本为2.0.1。先看看基本用法Observable.create(newObservableOnSubscribe<Integer>(){@Overridepublicvoidsubscribe(@NonNullObservable...

2018-05-16 07:59:01

Android Studio 关联Android源码

在Androidstudio里面跳转Android源码时,有些Android源码会隐藏了以桩代码出现,可以用下面的方法来处理。1.替换Android.jar包从https://github.com/anggrayudi/android-hidden-api下载对应的Android.jar包,替换/platforms/下的对应的jar包,比如android-26/android.jar。然...

2018-05-11 09:09:19

Hexo博客搭建

Hexo是一个快速、简洁且高效的博客框架。Hexo使用Markdown解析文章,生成的静态网页布置在GitHub上面,作为个人博客使用十分方便。本文前面部分将讲Windows10环境来搭建hexo博客,并介绍hexo博客的相关设置以及优化,后面会有linux环境下的相关配置。一、Windows环境部分linux命令请在gitbase里面执行。1.1环境搭建...

2017-09-26 23:43:53

git的ssh配置和使用

一、秘钥生成我是在Windows的gitbase里面操作的。生成秘钥:$ssh-keygen-trsa-fsamplet为密码类型f为生成的秘钥文件名称回车键后会让你输入密码,你可以不输,直接按回车到下一步。ssh-keygen-trsa-C“your_email@youremail.com”有些为了方便识别,会以自己的邮箱做标记。这个是命令输入

2017-09-13 23:56:14

Android状态栏花样设置

一、沉浸栏说到沉浸栏,这个沉浸栏效果在很多游戏或者视频软件应用会用到。平时状态栏和导航栏都隐藏了,点屏幕中间部分不会出现,但是从屏幕上方滑动,或者右侧滑动的话,就会出现状态栏和导航栏,而且过一段时间后,状态栏也会缩回去。效果如下所示。其实它的实现说起来也很简单,重写一下Activity的onWindowFocusChanged()方法。由于在19版本后才有沉浸栏,所以要判断一下。@Over

2017-09-12 22:11:12

RecyclerView拖拽、侧删实现

废话不多说,下面展示一下效果。这是GridView主文件实现。publicclassGridViewActivityextendsAppCompatActivity{RecyclerViewmRecyclerView;List<String>mStringList;RecyclerAdaptermRecyAdapter;@Override

2017-09-11 11:48:21

Android设计模式之装饰者模式(Decorator Pattern)

概论在Android源码里很多时候会看到这个模式。下面来讲一些这个模式。装饰者模式主要的优点是动态给一个对象添加一些额外的职责。使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。缺点是,要创建比继承更多的对象。先来个热身,下面是装饰者模式的uml图。它大概就长得这样子的。1.Component抽象组件,是一个接口或者是抽象类,就是定义我们最核心的对

2017-09-07 14:34:39

自定义Android 注解

Android里面的注解一般有两种,一种运行时注解,另外一种是编译时注解。运行时注解是基于反射原理的,编译时注解这个就多点,常见的是基于apt的代码生成。反射,会在运行时候在对应的位置插入对应的操作;而编译时注解会在编译时候生成对应的代码进行编译。对于运行性能来说,反射更耗性能。本章将说下Android的注解。概述从下面这张图可以看到Java注解的结构分支。Java注解(Ann...

2017-09-07 09:48:01

android stuido关于在V7包和recyclerview包冲突的解决办法

问题叙述在Android下引用compile'com.android.support:recyclerview-v7:26.+'compile'com.android.support:appcompat-v7:25.3.1'这两个包冲突。错误信息如下Error:Executionfailedfortask':example:processDebugManifest'

2017-09-06 16:10:37

View系列(1)--自定义一个ListView的下拉刷新

下拉刷新是常见的Android效果之一,下面我们来看看它是这么实现的。下拉刷新会在头部出现一个头部,然后我们控制这个头部显示,隐藏,来实现下拉刷新的效果。在listview里面的item是从0开始数的,这个头部item就是在第0个item前面一个,我们现在要做的是控制这个头部的绘画和动作事件。

2017-06-22 11:12:38

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。