荏苒追寻个人博客

做一个有追求的青年


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 日程表

Android 开源库分析——RxJava深入理解篇

发表于 2018-12-08 | 分类于 Android , 开源库分析

本文链接:https://rainmonth.github.io/posts/A181208.html

摘要

阅读全文 »

Android 开源库分析——RxJava源码分析

发表于 2018-12-06 | 分类于 Android , 开源库分析

本文链接:https://rainmonth.github.io/posts/A181206.html

摘要

阅读全文 »

Android 开源库分析——Retrofit源码分析

发表于 2018-12-04 | 分类于 Android , 开源库分析

本文链接:https://rainmonth.github.io/posts/A181204.html

摘要

阅读全文 »

Android 系统架构——MVP模式、MVC模式和MVVM模式

发表于 2018-10-15 | 分类于 Android , 框架模式

https://rainmonth.github.io/posts/A181025.html

Android中MVP模式、MVC模式

模式简介

MVC

Model-View-Controller简称,将数据模型(数据的定义及相关操作)、界面显示(接受用户的操作)与业务逻辑(接受界面操作并控制操作数据)分离的方式组织代码;

MVP

Model-View-Presenter简称,将MVC中的C层采用P层来换, 该模式下,M层和V层不再像MVC中的那样,他们不发生联系,沟通都是通过P层来实现的。

阅读全文 »

Android 控件——ViewPager的无限循环与自动滚动实现

发表于 2018-10-05 | 分类于 Android , 控件

https://rainmoth.github.io/posts/A181005.html

Android ViewPager的无限循环与自动滚动实现

前言

关于ViewPager时Android开发时经常要用到的控件,但系统提供的ViewPager往往总有一些功能限制,如不能无限循环,不能自动滚动,今天就介绍ViewPager无限循环和自动滚动的不同实现。

实现思路

实现方式有很多种,具体如下,后面会分析各种实现方式的优缺点。

阅读全文 »

Android 工具命令——Android Studio 升级到3.0运行项目指北

发表于 2018-10-03 | 分类于 Android , 杂谈

https://rainmonth.github.io/posts/A181003.html

Android Studio 升级到3.0运行项目指北

最近Android Studio升级到了3.0,每一次升级都或多或少的会伴随一些问题,我编译项目就遇到了这些问题。

buildTool变化

升级到Android Studio 3.0之后,项目主module(app module)和依赖module的buildToolVersion 都要升级到26.0.2(默认的就是这个值,可以直接删除掉buildToolVersion这个配置,不建议)

阅读全文 »

Android 杂谈——SdkVersion那些事儿

发表于 2018-10-01 | 分类于 Android , 杂谈

https://rainmonth.github.io/posts/A181001.html

Android SdkVersion那些事儿

本文对android项目中的compileSdkVersion、targetSdkVersion、minSdkVersion、maxSdkVersion和buildTarget等概念做一个说明。

compileSdkVersion

定义

编译或构件时采用的API版本,你在项目中查看的android系统相关的源码与这个compileSdkVersion指定的是一致的。

阅读全文 »

Android 系统源码分析——Launcher3分析之LauncherModel

发表于 2018-07-09 | 分类于 Android , 源码分析

https://rainmonth.github.io/posts/A180702.html

Android Launcher3分析——LauncherModel

接上篇Android Launcher3分析——开篇,上篇提到LauncherModel是Launcher3处理数据的核心,这当然不是瞎掰的,我们用具体的代码分析来予以佐证。

LauncherModel本身继承自BroadcastReceiver,实现了OnAppsChangedCallbackCompat接口,该接口在LauncherAppsCompat.java中定义,由LauncherModel中实现,并在LauncherAppsCompat子类的内部类PackageMonitor(API16以上)(继承BroadcastReceiver类型)或WrapperCallback(API15以下)调用,源码中关于LauncherModel的说明,大致含义如下:

保持Launcher的内存状态。在内存静态区应该只能有一个LauncherModel的实例,同时它还为Launcher提供了一系列的更新数据库的Api。

阅读全文 »

Android 系统源码分析——Launcher3自定义控件之Workspace

发表于 2018-07-05 | 分类于 Android , 源码分析

https://rainmonth.github.io/posts/A180705.html

Android Launcher3分析——自定义控件之Workspace

绘制方面

可以参考文章Android View的绘制流程分析

onMeasure

Workspace 并没有进行什么测量工作,测量工作都交给其父类PagedView处理,看看PagedView的onMeasure如何处理的。

阅读全文 »

Android 系统源码分析——Launcher3分析开篇

发表于 2018-07-02 | 分类于 Android , 系统源码分析

https://rainmonth.github.io/posts/A180702.html

Android Launcher3分析——开篇

简介

Launcher就是一个Activity,Launcher的源码中也是继承的Activity。直观体现就是手机的桌面,当我们打开手机的时候,手机的桌面就是Launcher,一个Activity,只是这个Activity做的事情比较多:

  • View方面,可以左右滑动,可以响应长按操作;
  • 逻辑方面,可以承载手机中所有应用的快捷方式,是其他程序的入口;

总的来说,Launcher就是一个包含了许多自定义控件的复杂Activity。

整体上看Launcher3

阅读全文 »
<i class="fa fa-angle-left" aria-label="上一页"></i>1…171819…22<i class="fa fa-angle-right" aria-label="下一页"></i>

216 日志
43 分类
43 标签
GitHub
© 2025 Randy Zhang
由 Hexo 强力驱动
|
主题 — NexT.Gemini v6.1.0