Android Tree2View 3-Core Alogrithm

目录-Content

1. 介绍-Introduction

我本来是打算就做一个 Android 的文件管理器的,但是文件的结构本身就是树结构。所以才写了 Tree2View 这个自定义 View。而文件管理器只是作为用这个项目实现的例子。

还有另外一个原因是:在 javax.swing.JTree 里是一个树状的 swing 组件,但是 Android 里却没有一个内置的树状组件,所以就决定造一个。那么 talking is cheap, show me the code.开始吧。

Read More

Android Tree2View 2-Adapter in Tree2View

适配什么? - Adapt what?

首先有必要(?)讲一下 Adapter 模式,也就是适配器模式。

Adapter 模式适配的是什么呢?打个很恰当的比喻(逃),电源适配器大家应该都知道,什么,其实就是充电器嘛。手机的充电器把 220v 的交流电转化成比如说 5v 的电压。所以才可以愉快的充电。适配器模式就是把本来不匹配的接口(这样用二插三插转化器做比喻是不是好点),转化为你想要的接口,Adapter 就相当于充电器了。

Read More

Android Tree2View 1-Introduction

Tree2View


See on Github

主要功能 - Features

Tree2View FileManage
①多级分层的树结构视图 基本的文件管理器布局
②记忆展开状态 自动展开上次打开未关闭的目录
③使用适配器设计模式,用户可自定义 TreeAdapter 对不同类型的文件显示不同的Icon
④动态增删节点 删除和添加文件后可自动刷新状态(To-do)
⑤选择模式 长按节点进行文件操作(Copy, Cut, Rename, Delete)

效果预览 - Preview

image

Read More

Android Kotlin 代码规范

转载请注明出处.This Translation is under CC BY-NC-SA 3.0 CN License.

Android Kotlin Style guide

Android Kotlin 代码规范

目录


Read More

标点、志愿者、动物园

Welcome to my blog, enter password to read.

Read More

Read source code of Javac-1

最近发生太多不愉快的事, 还是看看源码压压惊(.这篇大概有很多错误.

1. 说在前面

Javac 大家(只是习惯用大家)应该用的很熟悉了.想我第一次接触 java 就是从 Javac 编译第一个程序的.到了今天,我时不时也会想这到底是怎么实现的?这个想法一直挥之不去.咦,跑题了(.

“代码编译的结果是从本地机器码转变成字节码,是存储格式发展的一小步,却是编程语言发展的一大步.”

这句话反复出现在《深入理解Java虚拟机》里.我倒是没有体会到什么发展,也可以理解为这是为了跨平台而做出的牺牲,虚拟机也为此出现.当然也有直接把 Java 源代码编译成机器码的编译器( AOT 编译器).先不管这个,从 Java 源代码到字节码到底经历了什么呢?肯定要分析处理源码的语句啊,这便是词法分析和语法分析,从而把源码变成了抽象语法树(AST).接着只要遍历语法树就得到了字节码指令流.emmm,以目前的垃圾我不可能实现的.那,先从简单的开始,这篇重点就是从源码验证一下Javac的编译结果.

Read More

入坑一年啦

用Ubuntu一年了。感谢大佬带我入坑👏。

截图留念

Read More

EFB:Receive Wechat messages on Telegram

If you don’t want to waste time (, please close this page and read the offical document.This Tutorial is based on EFB1.6.0,and on Ubuntu 16.04.

负担

发现自己刚好有一个闲置的云服务器,又不想再用微信了,国庆在家就随便玩了玩.我一直觉得过多的社交是负担,何况还要安装:QQ,Wechat之类的毒瘤社交软件.但是又不得不用(爸妈有微信,学校的通知在QQ),只要有这种想法一天,就觉得所有的社交都是无意的负担.

为什么没有统一的一款软件?没有的话也可以去创造.

Read More

Java垃圾收集器与内存分配策略

最近在看《深入理解Java虚拟机:JVM高级特性与最佳实践》这本书,觉得有必要记录一下.
如无说明,则图片是我用Google Drawings制作的, under CC BY-NC-SA 3.0 CN License.

Java运行时内存

先上图

java_runtime_memory

虽然Java中没有直接(明显)的指针操作,但是在内部的实现里用的还是指针的.在访问对象的过程中,有两种方式可以实现:句柄访问,直接指针.对象实际上是一个reference类型的数据,其中存储的是他自己的地址,通过句柄访问则是句柄的地址.

Read More

Google Java 代码规范

Translation of Google Java Style Guide,by Lee.

转载请注明出处.This Translation is under CC BY-NC-SA 3.0 CN License.

下载pdf

Read More