《深入剖析Android系统》勘误表

2013-05-01 11:19 星期三    浏览: 1,667    没有评论

由于交稿后到出版时间间隔短,交稿时间仓促,书中个别子句欠斟酌;同时,还有一些同音错别字(很多内容在Linux环境下完成输入,无特别好用的输入法); 还有些内容是出版社排版时,由于书中不少插图,图文混排时,尽量避免上一页排不下而放到下一页后,上一页留下的空白图片,导致个别插图压缩而文本框中的文字未能显示出来(见另一篇博文:《深入剖析Android系统》第7章插图补充更正”>)。

凡此种种,给读者带来误解或不便,还请谅解。

1.Page10   章节“2.2.2 Message”的第二段的尾部:  “可见,handleMe[......]

Read more

《深入剖析Android系统》第9章RIL补充配图

2013-01-24 14:20 星期四    浏览: 2,549    没有评论

《深入剖析Android系统》一书中第9章的RIL部分的函数层层调用,可以用插图的方式标示出主要的调用关系。由于插图较大,不适合16开的书籍尺寸大小,故未将相关插图放到《深入剖析Android系统》一书中。读者在阅读该章内容时,可以在电脑上放大插图来查看函数的调用关系。注:这些插图绘制于2009年,基于Android的Cupcake版本,但亦适用于Android的后续新版本。

1.RIL调用关系概略图:

RIL调用关系概略图

 

2.RIL调用关系详图:

RIL调用关系详图

 

3. RIL调用关系[......]

Read more

《深入剖析Android系统》相关资源

2013-02-05 20:05 星期二    浏览: 2,430    没有评论

《深入剖析Android系统》的相关的资源列表已经上传到百度网盘(将持续更新)中,与广大读者和网友分享如下:

android_4.1.1的注释版代码,包含了书中作者所做的绝大部分的代码注释。代码下载链接如下
http://pan.baidu.com/share/link?shareid=331869&uk=2116242949

在SounceInsight中,较好地显示中文注释的方式如下:Options->Preference->Display->Styles中将去调注释所使用的字体及大小背景[......]

Read more

《深入剖析Android系统》第7章插图补充更正

2013-02-07 13:01 星期四    浏览: 1,495    没有评论

由于版面的原因,第7章MassStorage有两个图中的文字可能因为文本框太小导致挤压,而没有显示出来,特补充更正如下:

图7-1:

深入剖析Android系统-图7-1

深入剖析Android系统-图7-1

 

图7-3:

Read more

给《深入剖析Android系统》读者的阅读建议

2013-02-07 19:39 星期四    浏览: 1,940    1 条评论

首先感谢读者的支持!

如前言中所述,读者最好有些Android和Linux的基础知识,若有设计模式和Linux下的C/C++开发背景更好。没有这些基础知识也无妨,只要阅读的时候,遇到不太懂的,多到网上查阅就可以了。

除了一些基础知识外,建议读者在阅读时(当然,读者也完全可以根据自己的实际情况采取适合自己的阅读方式):

(1)静下心来读

因本书主要以分析代码为主,若心浮气躁地去读,将不可能读下去。即使读下去,也是走马观花的读一遍,到头来基本上也是一无所获。借助SourceInsight工具,对着代码和书籍[......]

Read more

《深入剖析Android系统》正文脚注

2013-03-01 13:15 星期五    浏览: 1,933    没有评论

如书中前言所说:“为了表示对他人劳动成果的尊重和方便读者进行延伸阅读,本书在页脚注释中给出了笔者参阅的文章、文档和书籍的网络链接和说明。对于侧重点不同的文章或书籍,笔者也给读者做了阅读推荐。”

在此同时向链接中所涉及的原创者和转载者表示感谢!感谢原创者的辛苦创作和公开分享,感谢转载者的转载和分享!

现将脚注罗列如下,读者朋友可以很方便地复制这些链接查看相关网络文章(对于pdf或word文档,读者可以在网上搜索,也可以直接在本博客“《深入剖析Android系统》相关资源”中给出的链接中下载)。

1. http://bl[......]

Read more

无BOM头的UTF-8格式的jsp文件中文乱码问题

2015-05-28 02:28 星期四    浏览: 628    没有评论

问题由来:JSP文件中有个别中文字符,在部署到tomcat中(包括Linux环境和Windwos环境)后,浏览器中打开显示乱码。而在java代码中的中文字符通过EL表达式在JSP中展现时,无乱码问题。
排查过程:
step1)在Eclipse中,检查工程属性,确保采用UTF-8格式;还再次须将全部jsp文件、js、css文件等全部保存为UTF-8格式,windows->preference->content type中输入jsp过滤,确保所有源码文件为UTF-8格式;

step2)检查浏览器乱码页面的[......]

Read more

分类: Web 标签: , ,

阿里云服务器pptpd VPN安装配置,解决不能访问外网问题

2015-04-06 21:52 星期一    浏览: 468    没有评论

为了突破我中华大局域网,使用阿里云服务器+操作系统CentOS7,安装自己的PPTP VPN server。

按照网上的方法(如http://www.wanghailin.cn/centos-7-vpn/),很快安装配置完成后,顺利通过PPP拨号成功,连接上vpn服务器,访问内网(如通过192.168.0.1可访问服务器上的web服务)成功,但访问外网(包括百度)折腾好久怎样都不成功。最后尝试了链接:http://bbs.aliyun.com/read/163732.html?spm=5176.718990[......]

Read more

分类: Linux Usage 标签: , , ,

CentOS7.0使用系统服务如mariadb.service

2015-03-17 14:13 星期二    浏览: 513    没有评论

由于CentOS7.0不再默认使用MySQL数据库,取而代之的使用MySQL的开源社区版本MariaDB

因此,在yum install  mysql-server时会提示no mysql-server package available.

使用开源社区版本mariadb:

yum install mariadb mariadb-server

 

因CentOS7.0使用了systemd,不再使用原来的init.d,取而代之的使用systemctl命令启动/停止/查看 原[......]

Read more

install openmeetings on ubuntu12.04 server

2014-09-02 12:18 星期二    浏览: 735    没有评论

用于备忘

reference:
1. http://openmeetings.apache.org/installation.html
2. http://openmeetings.apache.org/PortSettings.html
3.https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools
安装依赖库:
apt-g[......]

Read more

解决Android API离线文档打开太慢问题

2014-08-10 01:49 星期日    浏览: 1,726    没有评论

当有网络连接时,访问离线Android  API开发文档特别慢(因html网页有大量连接到Google的站点js什么的,根本原因你懂的);若拔掉网线,则本机访问这些文档会很快。现将它们去除:
sed -i “s/gdata.youtube.com/ /g” $(grep gdata.youtube.com * -lr)

sed -i “s/swfobject.googlecode.com/ /g” $(grep swfobject.googlecode.com * -lr)

sed -i “s/developer[......]

Read more

分类: Other 标签:

新设立公司在北京新参保登记办理攻略

2013-11-30 11:53 星期六    浏览: 1,055    没有评论

Step1:在北京市社保局官网上填写登记信息,正确填写后,打印社会保险登记表及社会保险银行缴费协议,并盖章签字,各一式两份;

Step2:准备材料:
a)营业执照副本 原件及复印件
b)组织机构代码证 原件及复印件
C)银行开户许可 原件及复印件(加盖公章)
d)企业法人身份证 复印件(正反两面,加盖公章)
e)Step1中的社保登记表和银行缴费协议(要盖公章以及法人或负责人章)
e)公章(准备随时盖章)
f)U盘(用于现场拷贝五险合一软件)
g)笔记本电脑(用于现场安装五险合一软件,以及数据报盘)
h)法人或负责[......]

Read more

分类: 财务 标签:

Nexus7刷机及获取root权限

2013-11-28 15:45 星期四    浏览: 1,682    没有评论

老版本(2012)年的Nexus7,OTA无线网络升级到4.4失败,出来个提示“无命令”,变砖头。现使用fastboot线刷。到Google官方https://developers.google.com/android/nexus/images下载个最新的images。Nexus7有多个版本,新出的二代是2013版本的,老的是2012版本的,支持3G的是Mobile版本,否则是wifi版本。下载2012/wifi版的4.4:https://developers.google.com/android/nexus/images#nakasi[......]

Read more

分类: 数码玩家 标签:

ubuntu13.04 下Tomcat的配置使用

2013-11-11 14:47 星期一    浏览: 1,078    2 条评论

假设已经安装好apache2.2.x。让Tomcat8和apache二者共同工作

下载wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz  解压缩后mv到/opt下。

 

Step1:安装apache的jk模块:

sudo apt-get install libapache2-mod-jk

Step2:修改worker配置文件:

sudo[......]

Read more

分类: Linux Usage 标签: ,

Android中自定义UI的使用一些总结

2013-10-26 16:15 星期六    浏览: 1,391    没有评论

1.焦点。 可以通过在布局的xml文件中View下面两个属性指定是否可以拥有焦点 android:focusable=”false” android:focusableInTouchMode=”false” 也可在通过View的函数setFocusable(true)和setFocusableInTouchMode(true)指定是否可以拥有焦点。系统会按照默认的最近方式去搜索焦点。如果系统的默认焦点顺序不能满足需求,比如可以使用View的setNextFocusLeftId和setNextFocusRightId函数指定左右的焦点[......]

Read more

分类: Android, App 标签: ,

移植RIL让Android平板支持3G Modem电话功能

2013-10-26 16:14 星期六    浏览: 2,570    没有评论

一个不支持电话功能的Android平板,我们可以通过usb连接上外置modem,让其支持电话短信及上网功能。在让内核正确识别出ttyUSB设备后,AT命令将通过该usb转串口发送。至于语音通道可以直接从直至模拟方式的modem上进行语音的输入输出,也就是语音不走AP这一侧,这样就大大简化AP侧的开发工作。本例即是如此。

移植时,一是reference-ril中的初始化工作,即initilizeCallback函数,一般来说各modem大同小异。Google的Android默认实现能满足大多数需求,但有的mod[......]

Read more

分类: Android, Telephony 标签: , ,

三星 S5pv210开发板烧写注意事项

2013-08-09 01:49 星期五    浏览: 1,942    没有评论

这是烧写深圳某厂家的基于 S5pv210 的ARM A8核的x210开发板的一些总结。

首先image可烧写到nand上或inand上。

在板子上没有任何二进制image的时候,先要想办法烧写uboot进去。这可以通过:当在windows下时,用他们的dnw 工具。如按住软电源键安装x210驱动,下载一个寄存器初始 化程序执行usb口初始化,然后将uboot.bin下载到内存,再 进而烧写到nand上或inand上(串口终端与dnw工具搭配使用,按顺序执行各个命令)。也可以首先将uboot烧写到sd 卡上,通过设置板子上的[......]

Read more

分类: C/C++/Linux 标签: ,

Linux下分割大文件及合并还原

2013-07-22 17:36 星期一    浏览: 1,471    没有评论

现在的网盘,很多都不支持单个大文件,通常都限制在1GB之类。为了解决这个问题,在Linux下可以直接使用split命令将大文件分割成小于1GB的文件。如:为了保存一个虚拟机文件,使用了下面的命令:

split  -b  600M   TOOLS.7z    TOOLS.7z.split.

其中-b指定了使用二进制模式; 600M指定了文件大小(若为KB,可用k替代M),TOOLS.7z是待分割的文件,TOOLS.7z.split.是分割后文件的前缀,分割后的文件如下:

TOOLS.7z.split.aa
TOOLS.7z[......]

Read more

分类: Linux Usage 标签: ,

Android跨进程异常分析小结

2013-07-17 20:53 星期三    浏览: 2,892    没有评论

通常,我们编写运行Android时,该程序若在一个进程中。若程序有缺陷,如空指针,将会产生空指针异常。 当异常发生时,其调用堆栈将会输出到log中,通过查看调用堆栈,很快可以找到问题的根源,从而解决问题。

但当我们使用Service,通过AIDL跨进程调用(或直接编写Binder IPC的跨进程调用)时,需要使用Parcel跨进程传递数据。有时这种跨进程调用会产生异常,这时问题稍显复杂一些。一个跨进程异常log示例如下:

07-17 16:28:53.969: V/DemoActivity3.MySessionListener([......]

Read more

分类: Android, App 标签: , ,

使用proguard混淆Android应用程序

2013-06-13 11:51 星期四    浏览: 2,221    没有评论

Eclipse中使用向导创建Android工程时,除了AndroidManifest.xml,还会自动生成文件project.properties和proguard-project.txt。

前者project.properties中指定了工程编译时的SDK版本,以及依赖的库:

# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#pro[......]

Read more

分类: App 标签: ,

Xubuntu 13.04 system setup

2013-05-18 21:20 星期六    浏览: 1,437    没有评论

1. 安装broadcom的BCM4311无线网卡驱动:

尝试方法1:更新软件信息:sudo apt-get update,然后在SettingsManager->Software&Updates ->Other Software选中Canonical Parter,再在Additional Drivers中,会出现待安装的驱动(若不执行前面的update,可能该页面为空。笔者的hpnx6320的BCM4311 802.11b/g WLAN无线网卡在安装ubunutu时都需安装私有无线驱动程序。[......]

Read more

分类: Linux Usage 标签: ,

用xrandr命令为Linux指定外接显示器

2013-05-09 11:44 星期四    浏览: 3,551    没有评论

通常,Linux用户需要外接投影仪或显示器,并不能象Windows用户使用电脑上的快捷键。但Linux下的xrandr命令要比Windows下的投影强大得多,甚至强大的我们不知如何使用。下面将结合自己的使用情况,给出几个简单使用的使用用例。

显示xrandr命令的用法帮助:xrandr -help

可以看到用法如下:
usage: xrandr [options]
即可以为其指定选项,这些选项包括:
where options are:
-display <display> or -d <d[......]

Read more

分类: Linux Usage 标签: , ,

Android中创建jar库

2013-05-08 00:07 星期三    浏览: 2,258    没有评论

在Eclipse+ADT创建一个Android jar库时,同普通的Android Application一样,只是选择作为Library。对于现有工程,更改工程属性,指定为Library。库文件需要导出(Export->Java->Jar),而不是生成apk。

在Export一个库文件时,只选择导出类和资源文件,不要选择AndroidManifest.xml,否则会在导出后,在应用程序的工程里生成apk文件时提示:
Error generating final archive: Found duplicate file for[......]

Read more

分类: Android, Other 标签: ,

一个php+AJAX的开发实例

2013-04-29 16:07 星期一    浏览: 1,322    没有评论

前段时间现学现用,用php写了个简单的网站后台系统,其中涉及到AJAX的运用,等到五一假期终于有点时间将其记录下来。

该后台系统中一个小功能是更新数据库记录状态。不希望在更新状态时,去刷新整个页面,因而采用AJAX实现。
这样,在点击更新按钮后,整个页面不需要更新,而是该记录状态得到更新。

显示并编辑一条数据库记录的php代码放在文件editor.php脚本中。更新记录状态只是对该条数据库记录中的一个字段的更改。
一个
在editor脚本中,首先指明了所使用的javascript脚本update.js,然后调用其里面的get[......]

Read more

分类: Web 标签: ,

ssh免输入密码登录以及简化使用的方法

2013-04-28 23:54 星期日    浏览: 1,270    没有评论

我们知道,公钥用于发布出来,给别人加密数据,然后将要传输的数据通过公钥加密后,传输给自己时,就可以用自己的私钥解密。

检查用户(如root)目录的.ssh下是否存在公钥文件,假设是rsa加密,那么则是检查文件/root/.ssh/id_rsa.pub是否存在。若不存在,则使用ssh-keygen命令生成,然后将该文件里面的内容复制放置到要访问的服务器的登录所用用户名的HOME目录中的.ssh/authorized_keys中,没有该目录及文件则需新建。然后,将改文件属性改为600(chmod 600 ~/.ssh/authori[......]

Read more

分类: Linux Usage 标签: