Okloong的博客

以终为始,一份份输出,反馈中学习。

IntentService中的耗时操作

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

2019-03-31 18:56:40

阅读数 11

评论数 0

Android异步消息处理机制

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

2019-03-21 21:42:26

阅读数 37

评论数 0

反馈式学习

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

2019-03-13 22:21:34

阅读数 2348

评论数 1

Activity生命周期

生命周期 正常流程 1.onCreate() 首次创建 Activity 时调用。执行所有正常的静态设置 — 创建视图、将数据绑定到列表等等。 2.onStart() 在 Activity 即将对用户可见之前调用。如果 Activity 转入前台,则后接 onResume()。 3.onRes...

2019-03-07 15:14:55

阅读数 53

评论数 0

Android socket TCP连接

socket连接服务器 package com.example.sockettest; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net...

2019-03-06 14:33:43

阅读数 38

评论数 0

单例模式

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

2019-02-25 22:50:32

阅读数 18

评论数 0

Java反射

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

2019-02-18 22:56:51

阅读数 49

评论数 1

synchronized

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

2019-02-17 23:49:25

阅读数 48

评论数 0

Java动态代理

动态代理其实是面向切面编程AOP。实现有两种,一个是Java SDK提供的,另外一个是第三方库提供,比如cglib 下面是Java SDK提供的代理 静态代理 package aop; public class SimpleStaticProxyDemo { static interface...

2019-02-11 23:16:06

阅读数 38

评论数 0

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

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

2018-05-18 07:40:41

阅读数 116

评论数 0

Rxjava2源码分析(1)

1、基本用法 本文解读是rxjava的2.1.0版本,对应的rxandroid版本为2.0.1。 先看看基本用法 Observable.create(new ObservableOnSubscribe<Integer&...

2018-05-16 07:59:01

阅读数 288

评论数 1

Android Studio 关联Android源码

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

2018-05-11 09:09:19

阅读数 174

评论数 0

Hexo博客搭建

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

2017-09-26 23:43:53

阅读数 717

评论数 0

git的ssh配置和使用

一、秘钥生成我是在Windows的gitbase里面操作的。 生成秘钥: $ ssh-keygen -t rsa -f sample t 为密码类型 f 为生成的秘钥文件名称 回车键后会让你输入密码,你可以不输,直接按回车到下一步。 ssh-keygen -t rsa -C “your...

2017-09-13 23:56:14

阅读数 443

评论数 0

Android状态栏花样设置

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

2017-09-12 22:11:12

阅读数 322

评论数 0

RecyclerView拖拽、侧删实现

废话不多说,下面展示一下效果。这是GridView主文件实现。public class GridViewActivity extends AppCompatActivity { RecyclerView mRecyclerView; List<String> mStri...

2017-09-11 11:48:21

阅读数 152

评论数 0

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

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

2017-09-07 14:34:39

阅读数 350

评论数 0

自定义Android 注解

Android里面的注解一般有两种,一种运行时注解,另外一种是编译时注解。运行时注解是基于反射原理的,编译时注解这个就多点,常见的是基于apt的代码生成。反射,会在运行时候在对应的位置插入对应的操作;而编译时注解会在编译时候生成对应的代码进行编译。对于运行性能来说,反射更耗性能。本章将说下Andr...

2017-09-07 09:48:01

阅读数 195

评论数 0

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

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

2017-09-06 16:10:37

阅读数 244

评论数 0

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

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

2017-06-22 11:12:38

阅读数 279

评论数 0

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