- 博客(13)
- 资源 (4)
- 收藏
- 关注
原创 Gradle 生态系统分析
Gradle 起底 第一篇本文针对的群体是使用过Gradle的一些年轻人哈,看了之后,耗子尾汁。Gradle 的源代码地址 https://github.com/gradle/gradle ,可以看到Gradle的源码里(基于 Gradle 大版本的 version 6)java 占比44% Groovy 占比46%,源码里面大部分的核心代码核心模块都是java 语言编写,test 代码主要是由Groovy语言编写。目录结构往往高端的代码都以一种朴素的呈现方式,以gradle-6.3-all 为例
2020-12-04 10:42:59 168
原创 Jetpack 之 Navigation
Jetpack 之 NavigationNavigation 初体验Navigation 是 Google 官方提出的关于页面跳转的新设计,关于 Navigation 的链接: https://developer.android.com/guide/navigation , 其中提到了是三个关键性的东西:Navigation graphNavHostNavController其中 NavHost 和 NavController 一一对应,NavController 作为管理页面的跳转的大脑
2021-02-07 13:52:28 177
原创 Gradle 生态系统分析
Gradle 进阶 第七篇锲而不舍,金石可镂Gradle Project 上卷Gradle Project 对应一个模块,对于一个多模块构建的项目,它会有 RootProject,和所有 SubProject。这些都是在 setting.gradle 中配置的:include ':lib'include ':app'rootProject.name = "GradleDebug"Project 的实现类是 DefaultProject。创建它的类是 ProjectFactory。在解析完 s
2021-01-04 10:21:33 225
原创 Gradle 生态系统分析
Gradle 进阶 第六篇有志者,事竟成Gradle Project在之前的一系列文章中,我们从一些方面了解了 Gradle,这一片用一个栗子把她们串联起来。从这篇之后,我们会系统的把 Gradle 的重要组件作以讲解。 Project,我在前文有大量讲解关于".gradle"文件,Project 就是和"build.gradle"一一对应。多模块项目往往一个模块就对应一个 Project,之前的文章讲解了 ".gradle"文件的编译和解析。plugins { id 'com.androi
2021-01-04 10:20:34 146
原创 Gradle 生态系统分析
Gradle 进阶 第五篇虽千万人,吾往矣Plugin 应用接着上一节所讲的微内核架构,系统的 Plugin 管理简单的实现方式就是通过在系统内部实现一个注册表,用来获取 Plugin,并且得到 Plugin 的可用性。下面来从源码展开了解一下 Gradle plugin 的管理。在源码的110多个模块中,plugin 管理先关的有三个,分别是 gradle.plugin-development、gradle.plugins、以及 gradle.plugin-user。其中 gradle.plug
2021-01-04 10:19:35 187
原创 Gradle 生态系统分析
Gradle 进阶 第四篇天行健,君子以自强不息微内核架构前面的几篇文章,从 Gradle 脚本的函数调用一个侧面来了解认识了一下 Gradle,主要是因为 Gradle 脚本经常会让入门的同学觉得抽象异常。这篇文章又回到一个最初点,我们从骨架结构的角度来再次了解一下它,首先我要介绍一种叫做微内核的代码架构模型。相信很多人都使用过这种架构。《Software Architecture Patterns》https://www.oreilly.com/library/view/software-arc
2021-01-04 10:18:29 147
原创 Gradle 生态系统分析
Gradle 进阶 第三篇破山中贼易,破心中贼难Gradle Convention and Extension接着上文所说的 DynamicSystem,这一节会进而引入 Convention and Extension 的概念,继续扩展整个系统的灵活性,在 Gradle 的 api 官网里有直接介绍 Extension 相关的 https://docs.gradle.org/current/dsl/org.gradle.api.plugins.ExtensionAware.html,但是没有讲解关
2021-01-04 09:57:15 155
原创 Gradle 生态系统分析
Gradle 入门 第二篇没有正确的选择, 所以我们只能努力把自己的选择变得正确。Gradle 脚本的函数的调用接着上一篇文章的尾巴,现在需要在详细一点考虑函数的调用。这里所说的函数调用是指 ‘.gradle’ 里的那些函数调用是怎么在Gradle 中映射到方法的实现。其中最基础的一个接口是 DynamicObject 接口,它位于Gradle源码里的 core-api 模块,代码如下:public interface DynamicObject extends MethodAccess, Pro
2020-12-08 09:45:52 107
原创 微博开发2客户端的BaseTask以及BaseTaskPool
因为微博程序中客户端与服务器端的数据传递有时会耗时很长,所以采用多进程异步处理,就是界面UI与数据的发送接收不在一个进程里。每次数据传输的时候会开一个新的线程。 BaseTask就是这个记录异步任务属性的类package com.app.demos.base;public class BaseTask { public static final int TASK_COMPLETE
2015-01-14 21:38:48 469
原创 微博开发原理简化android使用http访问php获取json
$array = array( 'UserId'=>1, 'UserName'=>'田勋', 'UserFace'=>0, 'UserBolg'=>'今天是我写的第一个微博');echo json_encode($array);这是php代码很简单,就是打印出一个json格式的数组 HttpGet httpGet = new HttpGet("ht
2015-01-07 20:47:22 335
原创 微博开发1客户端的http的get和post封装
这篇博客讲的是客户端如何封装Http协议,客户端如何使用post,get方法,是最最核心的代码之一以下摘自黄石君的《android与PHP开发》package com.app.demos.util;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;im
2014-12-27 21:48:35 596
原创 微博开发引子
最近看了好多关于android开发的东东,还系统的看了黄石君编写的《android和php开发最佳实践》,于是准备着手编写一个仿微信的东西,在编写过程中我希望我能把过用 csdn的博客记录下来。 开始我要把黄石君的代码和原理回顾一下。 微博的客户端用是在android上开发的,微博的服务器端使用php开发的。但是目前node.js开发服务器比
2014-12-25 10:47:24 441
原创 基于剪枝的对抗性搜索的井字棋
基于剪枝对抗搜索的井子棋报告 1.问题井字棋,英文名叫Tic-Tac-Toe,是一种在3*3格子上进行的连珠游戏,和五子棋比较类似,由于棋盘一般不画边框,格线排成井字故得名。只要一方的三个棋子连城一条线,就算胜出。玩过这个游戏的人大都会发现,如果两个玩家都作出最好的选择,这个游戏是一定会平局的。所以,井字棋最常使用是作为儿童游戏。虽然这个游戏看上去很简单,但是它的整个过程却复杂得多
2014-11-11 11:01:29 1270
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人