J2ME: Ví dụ về FileConnection (JSR75)


JSR75 (PDA profile for J2ME) là 1 gói thư viện tùy chọn trong đó có các API hỗ trợ thao tác với hệ thống tệp tin trong các thiết bị di động (có hỗ trợ)

 Để hiểu rõ ví dụ này, các bạn nên xem trước bài viết tại các liên kết sau

  1. An Overview of the File Connection Optional Package
  2. Getting Started with the FileConnection APIs

Sau đây là ví dụ tôi viết cho phần này, tạm thời tôi post lên để trả lời gấp cho câu hỏi của các sinh viên khóa 06 đang thực hiện nhiệm vụ nghiên cứu về FileConnection, khi nào có thời gian tôi sẽ chú thích chi tiết cho ví dụ này.

/* DO NOT REMOVE THESE BELOW COMMENT

 * Example for Java@FITHOU
 * Using FileConnection (JSR75)
 * Created by huudungle on 2010 Apr 03
 * Published on www.huudungle.net 
 * */
import java.io.*;
 
import javax.microedition.io.Connector;
import javax.microedition.io.file.FileConnection;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
 
public class GCFMidlet extends MIDlet {
 
private Form form;
private StringItem si;
private void loadFileContent(){
//<drive>:\WTK<xx>\appdb\<device>\filesystem\root1\
//where <xx> is your Wireless Toolkit version
// <device> is your device you choose to run your MIDlet on emulator
//make sure that the above path existed
String URL = "file:///root1/test.txt";
try {
FileConnection fc =(FileConnection)Connector.open(URL, Connector.READ_WRITE);
if (!fc.exists()){
fc.create();
DataOutputStream dos = fc.openDataOutputStream();
dos.writeUTF("Hello from MIDlet");
dos.flush();
si.setText("written");
}else{
DataInputStream dis = fc.openDataInputStream();
String content = dis.readUTF();
si.setText(content);
}
fc.close();
} catch (IOException e) {
// TODO Auto-generated catch block
si.setText(e.getMessage());
}
}
public GCFMidlet() {
// TODO Auto-generated constructor stub
form =new Form("File Connection");
si=new StringItem("Content", "");
form.append(si);
}
 
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
 
}
 
protected void pauseApp() {
// TODO Auto-generated method stub
 
}
 
protected void startApp() throws MIDletStateChangeException {
Display display = Display.getDisplay(this);
display.setCurrent(form);
loadFileContent();
 
}
 
}
 

 


( đã được xem 2789 lần từ 06/04/2010 )

Tệp đính kèm

  1. GCFMidlet.zip(961 lượt tải về)

Phản hồi bài viết

   
Họ tên  
Email*
Mã xác thực email
Tiêu đề*  
Nội dung*  
Đính kèm 
 
 
trung duy fireman_zero@...
Code ứng dụng chạy trên nhiều loại màn hình
Em chào thầy,
Mặc dù không phải học trò của thầy nhưg e mạn phép làm phiền thầy. Thưa thầy, hiện nay em đang tìm hiểu về J2ME, em nghe nói cái hay của J2ME là code để ứng dụng hoặc game có thể chạy được trên nhiều loại màn hình, tuy nhiên e tìm trên mạng thì không thấy hướng dẫn hay cách thức nào để làm việc này. Mong thầy có thể cho vài chỉ dẫn ạ.
Em xin cám ơn.
Mong sớm nhận được hồi âm của thầy.
Chúc thầy luôn thành công trong công việc và cuộc sống.
Nguyễn văn Hân linhlinhnguyen1002@...
Sử dụng File Connection
Em chào thầy.
Thầy ơi, em đang làm bài tập về chương trình nghe nhạc cho điện thoại. Để viết chương trình đó em phải sử dụng công nghệ J2me.
Vấn đề em đang mắc phải là làm thế nào mình lấy được tên các file nhạc trong trong thư mục res của Project(Nếu là điện thoại thì tương ứng với thư mục chứa các file nhạc).
MOng thầy có thể bỏ chút thời gian hướng dẫn giúp em.
Mong sớm nhận được thư của thầy.
Chúc thầy một ngày làm việc hiệu quả
Trang 1
Tôi là Lê Hữu Dũng
Giảng viên CNTT
Khoa Công nghệ Tin học
Viện Đại học Mở Hà Nội