ebook电子书程序分析

graysky

普通会员
2004-05-21
25
0
0
前不久,实在对1年前买的那部TCL S320 手机看不下去了,遂将其"下放"给我老爸,老爸甚喜.
在网上瞅了N天之后,Moto C650进入了视线,不仅因为他功能超多,最主要的是他支持java,一种直到现在我还要靠它混饭吃的
平台语言(j2ee方面).当时正好还赶上移动搞活动,1380大洋,送600元话费,双电双冲,二话不说,赶紧捧回了家.这之后,上友人,蓝色就成了我每天必做之事.
也就是两天前,由于工作上的原因,想把一些资料做成电子书,上班路上(我每天上班要做1小时公车)看看,便下了一个电子书制做工具,可总是在我生成jar文件后并传到手机上运行时就出现应用程序错误,一次一次的试,一次一次的失败,最后决定写出本文,和大家一起来分析电子书程序的程序结构,本文的目的在于使大家(包括我自己)能够理解电子书程序代码的运行原理,编制出自己的电子书制做程序来.


以下开始本文....

声明
本人从事java开发快两年了,但对于j2me也是最近一个月才接触,所以本文中肯定会许多错误,敬请大家指正.

准备工作
1.面向对象和java基础知识;这个很重要,java是一种纯面向对象语言,在这个世界里,一切都是对象.现在介绍java的书籍到处都是,如果你仅仅为了学习j2me的话,看一下对象的概念(理解的话不是一时半会的,需要一定的编程经验积累),以及熟悉java的语法知识(包括,类,多态,继承,线程,异常控制)就行了.

2.熟悉j2me的结构体系;这里我放上一个教程,大家看看应该够用了.

3.开发工具;任何语言都要用一个编译器和运行环境,对于j2me的开发,我推荐使用J2ME Wireless Toolkit 2.2 ,因为它完全是可视化操作,免去了编译,运行时的那一堆命令行操作,方便好用.注意,装之前需要安装jdk1.4.2以上的版本.

注:J2ME Wireless Toolkit的安装目录的doc目录下带有全部的API文档,以及中文化的工具使用说明
附1:J2ME Wireless Toolkit 2.2下载地址http://java.sun.com/products/j2mewtoolkit/download-2_2.html
附2:使用J2ME Wireless Toolkit开发hello,world程序的教程(简单,实用)http://developers.sun.com/techtopics/mobility/midp/articles/wtoolkit/


<<末完待续>>
第一章 初探
 

附件

bluehope

普通会员
2005-03-12
9
0
0
啊 ,我只要一个能够传导手机中的软件.旧可以了,大哥加油!!1大哥加油!!1大哥加油!!1大哥加油!!1大哥加油!!1大哥加油!!1

我的手机是LGw800
 

graysky

普通会员
2004-05-21
25
0
0
不说废话了,下面就来详细看一下ebook源程序.
首先先使用ebook生成一本电子书(方法略),如下图所示:
---------------------------------------------------
注:不知道怎么帖本地图片,用嘴吧
程序文件名:graysky
书名:ebook电子书程序分析
内容:
第一章 内容1
第二章 内容2
----------------------------------------------------


将生成的graysky.jar包用rar或winzip解压缩并将生成的.class文件使用java反编译工具全部反编译成.java文件,我使用的反编译工具是cavaj,这个工具也没什么值得称赞的地方,仅仅是因为使用惯了而已,呵.

反编译后产生18个java文件(附件中已打包),各文件大至的功能列于下:
Book.java 电子书对象,封装对电子书的所有操作,如得到电子书的下一页等方法
BookItem.java 不祥,在以后详细分析时,再回头补上.
BookList.java 电子书章节列表对象,封装对电子书中章节操作的方法
Bookmark.java 书签对象,封装看电子书中设置的书签的相关方法
BookmarkList.java 书签列表对象,封装对电子书中对书签列表的操作
BookmarkListener.java 书签接口,定义了,新建书签和转到书签的方法,由CanvasBook类实现
BookmarkRecordStore.java 负责书签信息的持久化
CanvasBook.java 最重要的一个类,看电子书的主界面
ExitPosition.java 负责记录当用户退书程序时所在的章节,以便下次进入时自动跳到此
FormBook.java 电子书应用程序的入口类,负责程序起动
Language.java 语言类,封装程序中所有的文字,方便本地化
NewBookmark.java 新建书签的窗口类
page.java 代表对电子书的一页的操作
Search.java 实现电子书的搜索功能
SearchListener.java 定义电子书搜索的方法,由CanvasBook类来实现
UnicodeString.java 工具类,用于字节数组和unicode字符之间的相互的转换
UserVerify.java 在制做电子书时,设置密码保护,此类便是实现密码检查的
UserVerifyListener.java 用户密码检查接口,定义了,密码检查的行为,由FormBook类实现

在上面列出的18个文件中,我们重点关心的与"看书"直接相关的j是Book,FormBook,CanvasBook以及page,电子书程序所要实现的主要功能,其本都可以在这四个类中找到.其它的类都是附属于这四个类来展开的.

附1 cavaj的下载地址http://www.bysoft.se/sureshot/cavaj/cavajdemo.zip

<<末完待续>>
第二章 深入
 

附件

yufeng0917

普通会员
2005-04-01
8
0
0
楼主确实是高手,可我没有学过计算机编程更不要说java的面向对象了,实在是看不懂.我想问楼主一个问题,制作出来的电子书可不可以将电子书的内容用短信的方式发送出去.
 

qmh219475

普通会员
2005-03-12
9
0
0
--------------------------------------------------------------------------------




支持!继续啊!
 

wuyingsong

普通会员
2005-04-02
9
0
0
支持,,我学过计算高算法,编译,C语言,VB,汇编,自学一点JAVA,数据结构,可是学的是理论,,什么也没做过,,经后还希望你能够带我实习,,~~~毕业设计还想要你帮帮,,,,
 

wuyingsong

普通会员
2005-04-02
9
0
0
这位大哥,,我再顶个,,我还有个问题,,我怎么用记事本打开.CLASS文件全是乱码????我应当怎么做才可以把它打开???[p:4]