`
wuhua
  • 浏览: 2111726 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

用j2me设计一个手机电子书阅读软件

    博客分类:
  • J2ME
阅读更多
    终于足球项目告一段落,期间学辛苦,无奈与成长都是可写的。
     在此期间我让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;

	}

}
分享到:
评论
10 楼 马伟 2007-09-12  
读什么格式的,有书签嘛?
9 楼 qiixiao 2007-09-12  
Log.java呢??
8 楼 snowtree_ok 2007-09-03  
楼主太强了,也很勤劳,在好几个论坛上看到你的手套
7 楼 wuhua 2006-11-01  
rkihabara 写道
非常棒,刚换手机的时候也想写一个,不过机器中没有中文字体支持,郁闷,后来,,后来就搁浅了~~

不知道lz知否如何安装新字体?:)

请查阅这篇文章
http://www.ccw.com.cn/mobile/qysp/htm2006/20060322_124SD_2.htm
6 楼 rkihabara 2006-11-01  
非常棒,刚换手机的时候也想写一个,不过机器中没有中文字体支持,郁闷,后来,,后来就搁浅了~~

不知道lz知否如何安装新字体?:)
5 楼 wuhua 2006-10-20  
Wayne 写道
兄弟是想拿FEEDBACK还是?不提供requirement,即使你给出所有的code也没意义。


兄弟我英文不太好,FEEDBACK, requirement意思我不明白
我只知道,我心情好的时候我会写开心的,不好的时候我会写不开心的。本来blog的功能就如此。散播心情。兄弟不喜好大可不看。
不管写的人用意是什么,看的人用意是什么,只管自己喜好。^_^
4 楼 Wayne 2006-10-20  
兄弟是想拿FEEDBACK还是?不提供requirement,即使你给出所有的code也没意义。
3 楼 wuhua 2006-10-20  
jsr75规范并非是强制性的。
所以有些手机支持的很好,有些则没。比如moto虽支持,但实际是不给访问的。
nokia则每次访问本地数据都会弹出确认窗口,除非是经过签名的应用程序。

根据规范描述,因为操作文件是件很费时的事,建议另建一个线程读取,这样可以保证,UI不会死锁。
2 楼 wuhua 2006-10-19  
j2me提供的collection很少,大概就1两个。
而且功能弱,其中Vector是j2me的util库里面的一个类,功能还够用。
1 楼 adamzhao 2006-10-19  
wuhua 写道
   
vc = new Vector();

while (names.hasMoreElements()) {
vc.addElement(names.nextElement());
//log.debug(names.nextElement());
}

return vc;



没有接触过j2me,Vector现在依然是主力Collection工具吗?

相关推荐

    J2ME制作JAR电子书软件

    本话题聚焦于使用J2ME来创建JAR格式的电子书软件,这是一种在功能手机或早期智能手机上常见的应用类型。 首先,我们要理解JAR(Java Archive)文件。JAR是Java平台特有的文件格式,用于打包Java类文件、资源文件...

    手机java电子书制作工具

    标题中的"手机java电子书制作工具"指的是一个专门用于创建Java格式电子书的软件,这种电子书可以在具有Java支持的手机上运行。这些工具简化了内容的整理和打包过程,使得非专业程序员也能轻松制作自己的手机电子书。...

    精通J2me嵌入式开发-环境配置.pdf

    J2ME(Java 2 Micro Edition)是Java平台的一个版本,专门针对移动设备和嵌入式系统设计,如手机、PDA、消费电子产品等。它基于Java的核心语言特性,提供了资源受限的设备所需的特定API集合,如用户界面、网络连接、...

    手机java电子书制作系统

    【手机Java电子书制作系统】是一种专为移动设备设计的软件工具,主要用于创建和编辑适合在手机上阅读的Java格式的电子书籍。Java作为一种跨平台的编程语言,被广泛应用于移动设备,包括早期的智能手机和平板电脑。这...

    moto 手机阅读txt格式电子书的超好工具.rar

    标题中的“moto 手机阅读txt格式电子书的超好工具.rar”表明这是一个针对摩托罗拉(Moto)手机的软件,用于优化阅读TXT格式的电子书籍。这个压缩包可能包含一个或多个应用程序文件,使得用户能够在摩托罗拉手机上...

    j2me相关知识02

    这个领域涵盖了广泛的硬件平台,如智能手机、功能手机、电子书阅读器、智能家居设备等。J2ME以其轻量级、跨平台的特性,在2G和3G时代广泛应用于移动应用开发。 在深入J2ME的知识体系之前,我们首先要理解J2ME的基本...

    手机txt电子书选择部分转成短信发送

    J2ME是Java平台的一个版本,专为移动设备和嵌入式系统设计,许多早期的智能手机都支持J2ME应用。在这个案例中,fc.jad和fc.jar是两个与该功能相关的文件。jad文件是Java应用程序描述器,它包含了应用程序的元数据,...

    诺基亚QD游戏,软件,电子书

    总的来说,诺基亚QD虽然是一款较老的设备,但它在游戏、软件和电子书方面的应用展示了早期智能手机的多样性和实用性。尽管现代手机的功能更加先进,但对于那些怀念过去简单时光的人来说,诺基亚QD仍然具有不可替代的...

    J2ME 中文教程.rar

    1. **Connected Limited Device Configuration (CLDC)**:CLDC是为资源受限设备设计的,比如基本的移动电话、电子书阅读器等。它包括一个精简的Java虚拟机(KVM)和一套核心类库,确保低内存占用和高效执行。 2. **...

    j2me无线设备编程.rar

    J2ME作为Java平台的一个子集,主要用于嵌入式系统,特别是移动设备,如早期的智能手机、PDA以及各种物联网设备。本书深入浅出地介绍了如何利用J2ME技术进行无线设备的程序设计,帮助开发者掌握在有限资源和低功耗...

    手机网络游戏源码电子书归纳.pdf

    《手机网络游戏源码电子书归纳》是一份详细阐述如何使用Java的J2ME技术开发手机网络游戏的电子书,特别关注于开发一款以象棋为核心的手机游戏。书中内容围绕着手机网络游戏的开发背景、系统分析、可行性分析、系统...

    教学视频\源代码\JAVA手机软件熊猫看书V1

    【标题】"教学视频\源代码\JAVA手机软件熊猫看书V1" 涉及的知识点主要集中在Java ME(Java Micro Edition)平台上的移动应用开发,特别是针对早期智能手机的电子书阅读器的实现。Java ME是Java技术的一个分支,专为...

    JAR电子书源代码和JBook非常类似

    描述中提到“较流行的JAR电子书”,这暗示了该软件在Java移动设备用户中可能有较高的使用率,因为J2ME广泛应用于早期的手机和平板电脑。同时,它强调是“绝对源码”,意味着开发者或对编程感兴趣的人可以深入研究其...

    J2ME的CLDP帮助资料

    J2ME,全称为Java Micro Edition,是Java平台的一个子集,专为资源有限的嵌入式设备设计,如移动电话、PDA、智能家电等。CLDP是J2ME的一部分,全称Connected Limited Device Configuration,意为“连接受限设备配置...

    诺基亚经典实用软件txt阅读器

    诺基亚经典实用软件——TXT阅读器是一款专为诺基亚手机用户设计的文本阅读工具,它具有高效、便捷的特点,让使用者能够轻松地在移动设备上浏览和阅读TXT格式的电子书或者其他文本文件。这款阅读器之所以被称为“经典...

    39个小屏MRP手机软件游戏附目录打包下载

    标题"39个小屏MRP手机软件游戏附目录打包下载"表明这是一个包含39款专为小屏幕手机设计的MRP格式软件和游戏的集合,且已经整理好目录,方便用户下载和管理。MRP是Mobile RunTime Package的缩写,是一种早期的手机...

    Android应用程序开发教程PDF电子书完整版、Android开发学习教程

    • LibWebCore LibWebCore LibWebCore LibWebCore - 一个最新的 web 浏览器引擎用,支持 Android 浏览器和一个可嵌入的 web 视图。 • SGL SGL SGL SGL - 底层的2D 图形引擎 • 3D3D3D3D libraries libraries ...

    java 手机软件

    1. **J2ME(Java 2 Micro Edition)**:Java手机软件通常是用J2ME开发的,这是一个专门为嵌入式设备设计的Java平台。它包括一套有限的API,如MIDP(Mobile Information Device Profile)和CLDC(Connected Limited ...

    j2me.java.mobilephone.rar_Java编程_Java_

    本项目“j2me.java.mobilephone.rar”聚焦于利用J2ME技术创建一个手机电子书阅读软件。在深入探讨这个主题之前,我们需要了解J2ME的基础架构。 J2ME由配置(Configurations)和框架(Profiles)组成。配置定义了...

    91PandaReader_forJ2ME_V1.37_local.zip

    《91PandaReader for J2ME V1.37_local.zip》是一个针对Java ME(J2ME)平台的电子书阅读应用的压缩包。这个软件版本为1.37,专为移动设备设计,尤其是那些支持Java应用程序的非智能手机。"91PandaReader"是该应用的...

Global site tag (gtag.js) - Google Analytics