浏览 13192 次
锁定老帖子 主题:用j2me设计一个手机电子书阅读软件
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-19
在此期间我让UI折腾的紧,甚至曾经想放弃,终究是坚持下来了。想想在一个小小的屏幕上设计一个UI已经是很痛苦的已经事情,何况在pc上设计,真是佩服死了那些高手们。 最近,时间比较有空,所以把UI修改了下,然后在此基础上+jsr75规范做了个电子书阅读软件。等我设计好了以后,打算开源,大家共同学习,虽然写的不好,各位高手多指教。现在发布一些读取手机目录的方法。 package org.pook.file; import java.io.IOException; import java.util.Enumeration; import java.util.Vector; import javax.microedition.io.Connector; import javax.microedition.io.file.FileConnection; import javax.microedition.io.file.FileSystemRegistry; import org.pook.log.Log; /** * <b>类名:BookFileImpl.java</b> </br> * 编写日期: 2006-10-12 <br/> * 程序功能描述: <br/> * Demo: <br/> * Bug: <br/> * * 程序变更日期 :<br/> * 变更作者 :<br/> * 变更说明 :<br/> * * @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a> */ public class BookFileImpl implements BookFile { private static Log log = Log.getLog("BookFileImpl"); FileConnection conn = null; BookFileImpl(String url){ try { conn = (FileConnection) Connector.open( url, Connector.READ); }catch( IOException e ){ e.printStackTrace(); } catch( SecurityException e ){ e.printStackTrace(); } } public Vector listName() throws IOException { Vector vc = null; if( conn.isDirectory() ){ Enumeration names = conn.list(); vc = new Vector(); while( names.hasMoreElements() ){ vc.addElement(names.nextElement()); } return vc; } else { return null; } } public String read() throws IOException { return null; } public boolean isFile() { if(conn.isDirectory()) return false; else return true; } public String getFilePath() { checkConn(); return conn.getPath(); } private void checkConn() { if(conn == null) throw new NullPointerException("文件资源不存在!"); } public String getFileName() { checkConn(); return conn.getName(); } public void close() { if(conn != null) try { conn.close(); } catch (IOException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } package org.pook.file; import java.util.Enumeration; import java.util.Vector; import javax.microedition.io.file.FileSystemRegistry; import org.pook.log.Log; /** * <b>类名:BookFileManager.java</b> </br> 编写日期: 2006-10-12 <br/> 程序功能描述: <br/> * Demo: <br/> Bug: <br/> * * 程序变更日期 :<br/> 变更作者 :<br/> 变更说明 :<br/> * * @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a> */ public class BookFileManager { private static Log log = Log.getLog("BookFileManager"); public static boolean available() { String version = System .getProperty("microedition.io.file.FileConnection.version"); if (version != null) { return true; } else { return false; } } public static BookFile openBookFile(String url) { return new BookFileImpl(url); } public static Vector listRoots() { Vector vc = null; Enumeration names = FileSystemRegistry.listRoots(); vc = new Vector(); while (names.hasMoreElements()) { vc.addElement(names.nextElement()); //log.debug(names.nextElement()); } return vc; } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-10-19
wuhua 写道 vc = new Vector(); while (names.hasMoreElements()) { vc.addElement(names.nextElement()); //log.debug(names.nextElement()); } return vc; 没有接触过j2me,Vector现在依然是主力Collection工具吗? |
|
返回顶楼 | |
发表时间:2006-10-19
j2me提供的collection很少,大概就1两个。
而且功能弱,其中Vector是j2me的util库里面的一个类,功能还够用。 |
|
返回顶楼 | |
发表时间:2006-10-20
jsr75规范并非是强制性的。
所以有些手机支持的很好,有些则没。比如moto虽支持,但实际是不给访问的。 nokia则每次访问本地数据都会弹出确认窗口,除非是经过签名的应用程序。 根据规范描述,因为操作文件是件很费时的事,建议另建一个线程读取,这样可以保证,UI不会死锁。 |
|
返回顶楼 | |
发表时间:2006-10-20
兄弟是想拿FEEDBACK还是?不提供requirement,即使你给出所有的code也没意义。
|
|
返回顶楼 | |
发表时间:2006-10-20
Wayne 写道 兄弟是想拿FEEDBACK还是?不提供requirement,即使你给出所有的code也没意义。
兄弟我英文不太好,FEEDBACK, requirement意思我不明白 我只知道,我心情好的时候我会写开心的,不好的时候我会写不开心的。本来blog的功能就如此。散播心情。兄弟不喜好大可不看。 不管写的人用意是什么,看的人用意是什么,只管自己喜好。^_^ |
|
返回顶楼 | |
发表时间:2006-11-01
非常棒,刚换手机的时候也想写一个,不过机器中没有中文字体支持,郁闷,后来,,后来就搁浅了~~
不知道lz知否如何安装新字体?:) |
|
返回顶楼 | |
发表时间:2006-11-01
rkihabara 写道 非常棒,刚换手机的时候也想写一个,不过机器中没有中文字体支持,郁闷,后来,,后来就搁浅了~~
不知道lz知否如何安装新字体?:) 请查阅这篇文章 http://www.ccw.com.cn/mobile/qysp/htm2006/20060322_124SD_2.htm |
|
返回顶楼 | |
发表时间:2007-09-12
Log.java呢??
|
|
返回顶楼 | |
发表时间:2007-09-12
读什么格式的,有书签嘛?
|
|
返回顶楼 | |