ZChongr

海岛冰轮初转腾

排序:
默认
按更新时间
按访问量

用小米路由搭建外网可访问的个人网站

家里的小米路由R1D用了近一年,只是做一个普通的路由器使用,实在太浪费了。最近学习移动端编程,感觉和PC时代最大的不同就在于移动端产品更重云和端的配合。于是就花了一晚上捣鼓捣鼓,在小米路由上搭建了一套可从外网访问的web 服务,以便手机上做的玩意儿可以随时随地获得私有云的支持。把搭建路径备案记录下...

2016-02-22 17:37:54

阅读数:24980

评论数:2

Binder学习笔记(十二)—— binder_transaction(...)都干了什么?

binder_open(…)都干了什么?在回答binder_transaction(…)之前,还有一些基础设施要去探究,比如binder_open(…),binder_mmap(…),这些调用是在打开设备文件/dev/binder之后必须完成的程式化操作,而在它们内部需要做一些数据结构的准备。首先...

2016-08-01 01:11:43

阅读数:4636

评论数:3

Binder学习笔记(四)—— ServiceManager如何响应checkService请求

这要从frameworks/native/cmds/servicemanager/service_manager.c:347的main函数说起,该文件编译后生成servicemanager。int main(int argc, char **argv) { struct binder_st...

2016-05-15 15:20:45

阅读数:4418

评论数:0

Binder学习笔记(九)—— 服务端如何响应Test()请求 ?

从服务端代码出发,TestServer.cppint main() { sp < ProcessState > proc(ProcessState::self()); sp < IServiceManager > sm = defaultServiceMan...

2016-05-15 15:30:10

阅读数:4370

评论数:0

Binder学习笔记(十一)—— 智能指针

轻量级指针Binder的学习历程爬到驱动的半山腰明显感觉越来越陡峭,停下业务层的学习,补补基础层知识吧,这首当其冲的就是智能指针了,智能指针的影子在Android源码中随处可见。打开frameworkds/rs/cpp/util,RefBase.h和StrongPointer.h两个文件,代码多读...

2016-06-13 00:58:42

阅读数:3834

评论数:0

《未来简史》读书笔记

春节期间如预期完成了两个计划:1、读完了《Android系统源代码情景分析》并给大部分章节写了读书笔记,当然这个目标大部分是利用了2016年的业余时间完成的,春节只是给他画了个句号。2、读完了《未来简史》,这是用五天的时间读完的。 《未来简史》这本书很好读,思路清晰。他首先分析了现代人类赋予...

2017-02-02 00:42:46

阅读数:2311

评论数:0

写一个Android输入法01——最简步骤

本文演示用Android Studio写一个最简单的输入法。界面和交互都很简陋,只为剔肉留骨,彰显写一个Android输入法的要点。 1、打开Android Studio创建项目,该项目和普通APP的不同之处在于它不需要添加任何Activity:   我给该输入法命名为Andro...

2016-02-22 17:38:16

阅读数:2206

评论数:1

binder学习笔记(十四)—— binder_thread_read(...)都干了什么?

在binder请求的发起端,binder_transaction(…)函数的结尾,第#198行,它将struct binder_transaction的work字段插入target_list的尾部,然后完成发起端的工作。 在接收端binder_loop(…)函数的第#19行,也在通过调用io...

2016-08-13 20:18:34

阅读数:2100

评论数:0

Android源码、内核编译

Android源码和内核的编译就是一场马拉松,每一个节点都耗时漫长,下载源码、编译源码、下载内核、编译内核,下载中途会断掉,编译中间会失败,求解再重来,又是一轮马拉松,于是每一步都要做好备份和记录,可是30G的源码(编译后已经达到70G)备份一次都需要好久。好在春节伊始我放弃了其他的学习,全力搞这...

2016-02-22 17:38:25

阅读数:1528

评论数:0

使用hexo搭建博客并上传GitHub

之前在博客园、简书、CSDN等地儿都开过博,一篇文章写好了,我希望能在几个平台可以同步发布,可是操作起来成本不低。几个平台下的富文本编辑器比较起来还是博客园更顺手,看着更舒服,尤其是代码块的操作灵活、准确。而CSDN对代码块内的文字加粗、修改字色后就会出现html文无法解析的情况,混杂着代码和ht...

2016-05-14 20:23:39

阅读数:1496

评论数:0

Binder学习笔记(一)

网上看了很多关于binder的文章,但我还是想把自己的心路历程记录下来,有些是跟着别人的脚步领略险峻风景,有些则是自己只身探入代码深处打捞出的收获。我不确定是否全部融会贯通,更担心一两个月后会完全不记得来时的路。最好的验证和留存的方法是把他们写成博文,几个月后回头再来读,看是否还能读得明白。如果可...

2016-05-08 23:47:43

阅读数:1478

评论数:0

Binder学习笔记(二)——defaultServiceManager()返回了什么?

不管是客户端还是服务端,头部都要先调用 sp sm = defaultServiceManager(); defaultServiceManager()都干了什么,它返回的是什么实例呢? 该函数定义在frameworks/native/libs/binder/IserviceManager...

2016-05-09 21:50:18

阅读数:1444

评论数:0

iOS模拟器的应用沙盒在MAC中的位置

每个iOS应用都有自己专属的应用沙盒。分别为 应用程序包 Documents/ Library/Caches/ Library/Preferences/ tmp/ 当运行模拟时,在MAC下找到对应路径的规则随XCode的版本会有不同,在XCode6下的路径为 ...

2016-02-22 17:36:59

阅读数:1310

评论数:0

wxpython实现文件拖拽

我想让wx.grid里面的单元格能够支持文件拖拽,实现起来挺简单的,共分3步: 1、创建一个wx.FileDropTarget子类的对象,并把要支持拖拽的控件传给它的构造函数,此处是grid 2、调用grid的SetDropTarget函数,并将第1步创建的wx.FileDropTarget子...

2016-02-22 17:36:55

阅读数:1201

评论数:0

写一个Android输入法02——候选窗、转换

上一篇介绍了完成Android输入法的最小化步骤,它只能将按键对应的字符上屏。一般的东亚语言都有一个转换的过程,比如汉语输入拼音,需要由拼音转成汉字再上屏。本文将在前文基础上加入完成转换过程所必需的候选窗。本文代码可参见https://github.com/palanceli/AndroidXXI...

2016-02-22 17:38:21

阅读数:1142

评论数:0

Pillow的安装和使用

需要把一段文字转换成图片,我找到了PIL(Python Imaging Library)库,专门干这个用的。还有一个Pillow是“friendly PIL fork”,于是我选择了后者。 安装过程稍有曲折,主要是要先把它的依赖库安装就绪,再装Pillow,过程如下: ruby -e &q...

2016-02-22 17:36:45

阅读数:1099

评论数:0

Android下创建一个输入法

输入法是一种可以让用户输入文字的控件。Android提供了一套可扩展的输入法框架,使得应用程序可以让用户选择各种类型的输入法,比如基于触屏的键盘输入或者基于语音。当安装了特定输入法之后,用户即可在系统设置中选择个输入法,并在接下来的输入场景中使用该输入法。不过在任一时刻,只能使用一个输入法。 为...

2016-02-22 17:37:49

阅读数:988

评论数:0

Binder学习笔记(十三)—— 小结

驱动层为什么要篡改binder_buffer内的数据?先给出这张图: 上图中标红的部分需要重点考虑,为什么驱动层要篡改这两个字段呢?我们结合前面的文章或许可以找出端倪。在Binder学习笔记(七)—— ServiceManager如何响应addService请求 ?一文中其实留下了挺多疑问。...

2016-08-07 23:41:06

阅读数:987

评论数:4

binder学习笔记(十)—— 穿越到驱动层

Binder驱动层的代码在kernel/goldfish/drivers/staging/android下的binder.c和binder.h。Android源码是不带Linux内核的,驱动正是在这个内核里,需要单独下载,出门左转参见《Anrdoid源码、内核编译》。驱动的相关知识先不在这里展开了...

2016-05-28 22:53:01

阅读数:853

评论数:0

Android6的Logger日志系统

Android2.x中Logger日志系统采用了字符设备驱动来支持,到了Android6.0已经找不到kernel/goldfish/drivers/staging/android/logger.c这一层的驱动程序了。不过上层接口还是没变的,所以顺着最顶层接口,可以一路找到6.0下Logger的实...

2016-03-06 12:42:19

阅读数:741

评论数:0

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