休息了半个月,膝盖总算是没啥问题了
-
最新日志
最新评论
存档页
分类
功能
休息了半个月,膝盖总算是没啥问题了
开始关注 Android 的时候还没有毕业,随意看了一下介绍就没有下文了。最近在家闲着看了两本 Android 开发的电子书,网上也有不少免费的应用和游戏,觉得挺有意思,随即在 androidin 和 安卓网 论坛恶补了一下,总算是忍不住出手了(最近日子不好过,只出不进)。
考虑到售后、验机等,在昆明三九手机网询了一下价格,答曰G1黑色2380大元,白色再加150,NND,昆明的电子产品ZTMD贵,想想还是一咬牙下了订单。结果第二天电话过来说没货,KAO,没货早说嘛,害得偶又跑一趟取回订金。之后又去其它几个水货手机商家问了一下,更是崩溃,连G1有几个版本都不清楚,无语!
没办法,只能TAOBAO了。3号在盛旗电讯下了单(英黑G1 2180大元 + 20运费),等到5号货还没到,上顺丰速运一查,吓了一跳。货居然发到北京去了,而且已经有人签收了。赶紧联系卖家,说是他们弄错了,立刻给我发货。
直到今天早上货才到,真是一波三折。废话不多说了,开箱验机。
参考
英版包装盒
全部配件
正面,帖纸有小点气泡
轨迹球有一层白色的绒毛
键盘
背面
帖膜有小点气泡,划痕不明显
USB数据线,梯形接口
一体式耳机,梯形接口,有HTC标志
冲电器,三脚插头,mini-usb接口
电池,触点有划痕,居然没电
开机,很慢(习惯了使用NOKIA的灰屏机),系统是 hiapk 2.2 版
重力感应,游戏teeter
金属探测(下载metal detector软件测试)
GPS定位,使用Goolge地图,家里的WiFi,速度很快
电子罗盘(下载compass软件测试)
总的说来,还是比较满意,之后的时间就慢慢折腾了。
1、常量指针 const int *p; 这里*p是常量,不能将*p作为左值,即不允许 *p= 的操作,称为指向常量的指针,另外,如果需要将指针指向常量,则必须使用常量指针。
2、指针常量 int * const p;指针常量是指指针本身是常量,他的值不能改变,定义时必须初始化,由于p为常量,所以不能进行 p= 的操作,也就是p的指向不能改变,但是其地址里的值可以改变 *p = 的操作可以改变其地址里的值。
3、指向常量的常量指针 const int * const p;既不能作为左值,也不能改变指针的指向,也就是同时限定了 *p = 和 p = 的操作。
总结:
高焕堂《Android应用框架原理与程式设计36技》第四章ex12演示从一个Activity(ex12)启动另一个Activity(rgActivity)
private OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
Log.d(ACTIVITY_TAG, "enter onClick"
Intent in = new Intent();
in.setClass(ex12.this, rgActivity.class);
startActivityForResult(in, RG_REQUEST);
Log.d(ACTIVITY_TAG, "quit onClick"
}
};
在运行例子程序的时候出现了ActivityNotFoundException,这篇文章也提到了这个问题。原因是需要被启动的Activity(rgActivity)没有在 AndroidManifest.xml 中注册。
参考Android官方文档Activiy节:
To be of use with Context.startActivity(), all activity classes must have a corresponding <activity> declaration in their package's AndroidManifest.xml.
因此需要在AndroidManifest.xml中增加以下配置:
<activity android:name=".rgActivity"/>
附件
之前一直跑着好好的程序突然不能用了,httpclient 抛出什么invalid argument 错误,一点帮助都没有。折腾了半天,后来一想是下午在公司内部网络为了使用 gem 网络安装,设置了 http_proxy 环境变量,家里是无法访问该代理服务器的。去掉该环境变量,一切正常了。
参考
1. 如果是在windows平台上,可以使用ruby标准库win32ole
使用ruby来操作excel文件首先需要在脚本里包含以下语句
require 'win32ole'
把win32ole包含进来后,就可以通过和windows下的excel api进行交互来对excel文件进行读写了.
打开excel文件,对其中的sheet进行访问:
excel = WIN32OLE::new('excel.Application')
workbook = excel.Workbooks.Open('c:\examples\spreadsheet.xls')
worksheet = workbook.Worksheets(1) #定位到第一个sheet
worksheet.Select读取数据:
worksheet.Range('a12')['Value'] #读取a12中的数据
data = worksheet.Range('a1:c12')['Value'] #将数据读入到一个二维表找到第一处a列的值为空值
line = 1
while worksheet.Range("a#{line}"['Value']
line=line+1
end #line的值为第一处空白行的行数将第一列的值读入到一个数组中
line = '1'
data = []
while worksheet.Range("a#{line}"['Value']
data << worksheet.Range("a#{line}:d#{line}"['Value']
line.succ!
end将数据写入到excel表格中
worksheet.Range('e2')['Value'] = Time.now.strftime '%d/%m/%Y' #单个值
worksheet.Range('a5:c5')['Value'] = ['Test', '25', 'result'] #将一个数组写入调用宏定义
excel.Run('SortByNumber')设置背景色
worksheet.Range('a3:f5').Interior['ColorIndex'] = 36 #pale yellow
# 将背景色恢复成无色
worksheet.Range('a3:f5').Interior['ColorIndex'] = -4142 # XlColorIndexNone constant
# 使用Excel constant 将背景色恢复成无色
worksheet.Range('a3:f5').Interior['ColorIndex'] = ExcelConst::XlColorIndexNone保存
workbook.Close(1)
# 或
workbook.SaveAs 'myfile.xls'
# 默认路径是系统定义的"我的文档"结束会话
excel.Quit一些相对完整的代码片段
创建一个excel文件并保存
require 'win32ole'
excel = WIN32OLE.new("excel.application"
excel.visible = true # in case you want to see what happens
workbook = excel.workbooks.add
workbook.saveas('c:\examples\spreadsheet1.xls')
workbook.close操作excel文件的几个重要元素
Excel => workbook => worksheet => range(cell)我理解的是excel为类名,workbook为一个具体的(excel文件)实例,创建好实例后,worksheet是实例(workbook,工作簿)中的一个工作表,然后可以对工作表中的每个单元格(range(cell))进行具体的读写------------------按照这样操作肯定没有错,不过下面的这些语句又让我有些疑惑
excel.workbooks("Mappe1"
.worksheets("Tabelle1"
.range("a1"
.value #读取名为Mappe1的excel文件中工作表名为Tabelle1的a1单元格中的值
excel.worksheets("Tabelle1".range("a1"
.value #作用同第一条语句
excel.activeworkbook.activesheet.range("a1".value #作用同第一条语句
excel.activesheet.range("a1".value #作用同第一条语句
excel.range("a1".value #作用同第一条语句
excel可以直接操作所有的属性,默认为当前活跃的工作簿/工作表
对单元格的操作:
某个单元格: sheet.range("a1"
a1到c3的值: sheet.range("a1", "c3"
或 sheet.range("a1:c3"
第一列: sheet.range("a:a"
第三行: sheet.range("3:3"
获得单元格的值:
range.text #读取值,返回为字符串格式,如果单元格内为数字,有可能会被截断小数点后的位数
sheet.range("a1".text
range.value #读取值,数字不会截断
sheet.range("a1".value
对单元格设置值
sheet.range("a1".value = 1.2345
或
sheet.range("a1".value = '1.2345'
迭代访问:
sheet.range("a1:a10"
.each{|cell|puts cell.value}
如果范围是一个矩形,则会按行循环迭代访问
sheet.range("a1:b5".each{|cell|puts cell.value}
block迭代,并打印出每行的第一个值
sheet.range("b3:c7".rows.each{|r|puts r.cells(1,1).value}
2. 如果是在*nix平台,可以使用http://spreadsheet.rubyforge.org/这个gem
ref:
http://whynotwiki.com/Ruby_/_Process_management#How_do_I_execute_an_external_program.3F
http://blog.jayfields.com/2006/06/ruby-kernel-system-exec-and-x.html
一直听得好好的 iriver ifp-180tc 莫名声音变得缓慢低沉,女声听着像男声。在网上google到 谈谈我对TCC方案MP3播放时声音变慢速的维修,依然没有什么帮助。总不能那么容易就坏了吧,先试着重新刷一下固件。记得上一次刷固件还是三年之前的事情了,最后用的是无驱版1.85,后来就一直没有倒腾它了。
很快在 http://bbs.imp3.net 找到了相关的文章和一个无驱版固件,很幸运 it works !!!!! 传了两首歌试听了一下,固件版本太老,感觉不如原来的1.85,又看到一个2.10的,重新升级了一下固件,结果一开机显示成传说中的120tc, File Check Error。囧
还好以前升级固件时也遇到过这种情况,没有太沮丧。继续在坛子搜寻,找到这篇文章,按照介绍的步骤,总算把小i复活了 O(∩_∩)O哈哈~
参考资料

今天在迁移服务器的时候遇到一个很诡异的问题,原来一切正常的程序在新的服务器上中文乱码。
一段 ruby 写的 cgi script 通过 DBI 访问 oracle 数据库, 将查询得到的记录输出到页面。数据库编码是 gbk, 需要通过 Iconv.conv('utf-8', 'gbk', str) 将字符串转换成 utf-8 输出。oracle 相关的环境变量已经设置好。
export LANG=zh_CN.UTF-8
export NLS_LANG=American_America.zhs16cgb231280
export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/client_1
export LD_LIBRARY_PATH=/home/oracle/oracle/product/10.2.0/client_1/lib:$LD_LIBRARY_PATH
在 shell 里执行该 cgi script 中文能够正常显示,但是通过 apache (非root, oracle用户)执行却出现乱码,而且在 apache 下中文都变成了问号。
初步判断是数据库中的字符在目标字符集下没有对应的代码,通常情况就是 iso-8859-1, 那么估计是设置的 oracle 客户端字符集环境变量没有被带到 apache 执行环境中。在网上 google 到如下:
see http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_env.html#passenv
PassEnv 指令
说明
传送shell中的环境变量语法
PassEnv env-variable [env-variable] ...作用域
server config, virtual host, directory, .htaccess覆盖项
FileInfo状态
基本(B)模块
mod_env从调用
httpd进程所在的shell中,指定一个或者更多个环境变量,传送到CGI脚本和SSI页面。例如:示例
PassEnv LD_LIBRARY_PATHSetEnv 指令
说明
设置环境变量语法
SetEnv env-variable value作用域
server config, virtual host, directory, .htaccess覆盖项
FileInfo状态
基本(B)模块
mod_env设置一个环境变量,该变量将会传送到CGI脚本和SSI页面。例如:
示例
SetEnv SPECIAL_PATH /foo/bin
这样在 $APACHE_HOME/conf/httpd.conf 中加入
PassEnv ORACLE_HOME
PassEnv LD_LIBRARY_PATH
PassEnv LANG
PassEnv NLS_LANG
或
SetEnv LANG zh_CN.UTF-8
SetEnv NLS_LANG American_America.zhs16cgb231280
SetEnv ORACLE_HOME /home/oracle/oracle/product/10.2.0/client_1
SetEnv LD_LIBRARY_PATH /home/oracle/oracle/product/10.2.0/client_1/lib:$LD_LIBRARY_PATH
问题都得到了解决
在将 xml document 对象输出成字符串的时候,会用到下面三个类
Module
REXML::Formatters
In:
rexml/formatters/transitive.rb
rexml/formatters/pretty.rb
rexml/formatters/default.rb
Class REXML::Formatters:
efault
Class REXML::Formatters:
retty
Class REXML::Formatters::Transitive
在 windows ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] 上一切正常,但在 Linux 上却发现找不到源文件
在 rexml 标准库目录下面 ls 一下,根本没有 formatters 这个目录,真是 faint
google 了一下,在 Ruby Forum 发现这个帖子
REXML::Formatters - where do they come from?
REXML::Element.write is deprecated. See REXML::Formatters
得知在 Linux 上安装的 ruby 版本还没有这三个类