十 21
这几周一直在看《重构》这本书,从提取变量,减少参数,到分拆、合并不同的类,每次都给我恍然的感觉。就想习武多年有人给我一本秘笈一般。
针对名录上的各种方法,我基本上都能在以前写的代码中找到相应的坏味道。于是,reading,recoding,refactoring,and progressing。
以前的总喜欢一个方法做很多事情,穿5、6个参数,用了十几个if,好多return,现在重读代码,竟累得呼哧呼哧的。
还有就是一个类做很多类的事情;一个变量做好几个变量的事情,可一个方法中却有十几个变量;以前的代码真是丑陋啊。每天晚上花上2个小时,重构这些代码,倒有些乐在其中的感觉。
目前正在进行cgdangdang(java)和cg问答(php)2个程序的重构工作。
By 馒头
\\ tags: Refactoring, 重构
九 27
用yGuard混淆、编译后的class,类名被替换为256+个ascii,比如O,o,0等。这个是不是有点BT:
oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
.class
OS是windows 2008,当试图用jade反编译时,提示创建文件或文件夹错误的提示:文件名或扩展名太长。
后来网上搜索了一下,发现jode可以反编译,原因是jode是纯java编写。使用jode犯编译时,完全按照java代码规范进行。
将jode和yGuard混淆后的jar放在一起,或者都放在classpath下面。然后命令行执行:
java -classpath jode.jar jode.decompiler.Main program.jar > out.txt
将反编译后的代码输出到out.txt。
By 馒头
\\ tags: decompiler, jade, java, jode, yGuard
二 26
有3种方式。
1、普通
<property name=”mappingResources”>
<value>com/mycompany/user/model/user.hbm.xml</value>
<value>com/mycompany/money/model/money.hbm.xml</value>
</property>
2、mappingDirectoryLocations
<property name=”mappingDirectoryLocations”>
<value>classpath*:/com/cgdangdang/**/model/</value>
</property>
3、mappingLocations
<property name=”mappingLocations”>
<value>classpath*:/com/cgdangdang/**/*.hbm.xml</value>
</property>
By 馒头
一 21

注: 我是一边学,一遍翻译Android文档,翻译的目的是为了加深印象,以后有新想法了,便回来修正目前的错误。
Android应用程序剖析
一个Android应用程序通常有下面4个组件组成:
- Activity
- Intent Receiver
- Service
- Content Provider
不是每个程序都有这4个,可能你的程序只使用了其中一部分。
一旦你决定程序包含哪些组件时,你得在AndroidManifest.xml文件中列出它们。这是个XML文件,它包含你程序所定义的组件,这些组件的功能和必备的条件。你可以访问Android manifest在线文档获得此文件的详细描述。
Activity
注:专有名词不翻。
Activities 是4个组件中最常用的。 程序中,Activity通常的表现形式是一个单独的界面(screen)。每个Aactivity都是一个单独的类,它扩展实现了Activity基础类。这个类显示为一个由Views组成的用户界面,并响应事件。大多数程序有多个Activity。例如,一个文本信息程序有这么几个界面:显示联系人列表界面,写信息界面,查看信息界面或者设置界面等。每个界面都是一个Activity。切换到另一个界面就是载入一个新的Activity。某些情况下,一个Activity可能会给前一个Activity返回值——例如,一个让用户选择相片的Activity会把选择到的相片返回给其调用者。
打开一个新界面后,前一个界面就被暂停,并放入历史栈中(界面切换历史栈)。使用者可以回溯前面已经打开的存放在历史栈中的界面。也可以从历史栈中删除没有界面价值的界面。Android在历史栈中保留程序运行产生的所有界面:从第一个界面,到最后一个。
更多…
By 馒头
\\ tags: Android, Google, java
一 19
Welcome to Android!

一、什么是Android
Android 平台可以说是为移动设备提供的整体软件解决方案,它包括一个操作系统,中间件和应用程序。开发者可以通过Android SDK,用JAVA为Android开发应用程序,应用程序运行在Dalvik上。Dalvik是一个基于Linux内核的虚拟机,专门为嵌入式应用而设计。
二、Android特性
Application framework enabling reuse and replacement of components
Dalvik virtual machine optimized for mobile devices
Integrated browser based on the open source WebKit engine
Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
SQLite for structured data storage
Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM Telephony (hardware dependent)
Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
Camera, GPS, compass, and accelerometer (hardware dependent)
Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
直接复制了Android文档,因为比较简单,我就不翻译了。
三、Android体系构架

更多…
By 馒头
\\ tags: Android, Google, java
一 17
以前介绍过一个PHP的图表工具:Graidle,可以在线生成非常不错的图表。俺目前的工作平台基于java,今又发现一个开源的java图表制作软件:JFreeChart,网址是:http://www.jfree.org/index.html。
我们知道Google有一个 在线图表工具Google Chart API允许您动态生成各种图表,但是Google Chart API使用起来有限制:每人每天仅能访问50,000次,虽说我们很难达到这个限制,但是有限制的确是很不爽的。超越限制,于是出现了JfreeChart。
JFreeChart是一个免费的Java 图表类库。它支持pie charts(圆形分格统计图表,2D和3D), bar charts (柱形或条形统计图表,水平的和垂直的、规则的和不规则的),line charts(折线图), scatter plots(散点图), time series charts(时间序列图),high-low-open-close charts,candlestick plots,Gantt charts(甘特表), combined plots,thermometers,dials and more(^_^,不翻译了,自己看吧)。 JFreeChart 可用于应用程序,applets,servlets和JSP。JFreeChart项目由David Gilbert维护,您可以在sourceforge.net上找到它。
Eastwood Chart Servlet是一个由David Gilbert维护Java servlet项目。通过JFreeChart类库绘图,模拟实现了Google Chart API:图表样式和URL。网站上提供了源码,可以下载Eastwood 1.0.0部署。
jfree站点上有很详细的介绍。这里是JFreeChart和Google Chart API的比较,看看去吧。


By 馒头
近期评论