Một số kiểu đối tượng trong J2ME

-String-
là kiểu chuỗi trong j2me, có nhiều cách để tạo một string như sau:
String str=new String("chuỗi cần gán");
String str="chuỗi cần gán";
String str=new String(bytearray);
String str=new String(chararray);
String str=StringBuffer.toString();
trong đó StringBuffer phải được tạo trước
* một số thao tác:
str.charAt(vị trí cần lấy kí tự);
lấy kí tự ở vị trí nào đó của string
str.substring(vị trí bắt đầu, vị trí kết thúc);//lấy chuỗi từ vị trí đến vị trí
str.compareTo(chuỗi so sánh);//nếu giống thì trả về 0, nếu khác thì trả về số nhỏ hoặc lớn hơn 0 tùy vào chuỗi cần so sánh dài hay ngắn hơn
str.endsWith(chuỗi so sánh);//trả về đúng sai(boolean) xem chuỗi cần so sánh có kết thúc với chuỗi so sánh hay không
str.equals(chuỗi so sánh);//xem hai chuỗi có giống nhau không, trả về boolean
str.getBytes();//chuyển thành bytearray
str.getChars();//chuyển chuỗi thành chararray
str.indexOf(giá trị của char, vị trí bắt đầu);//vị trí của kí tự cần tìm xuát hiện đầu tiên trong chuỗi
str.lastindexOf(giá trị của char, vị trí bắt đầu);//vị trí của kí tự cần tìm xuất hiện ở cuối cùng
str.length();//độ dài của string
str.startsWith(chuỗi so sánh);//trả về giá trị đúng sai xem chuỗi có kết thúc với chuỗi cần biết không
str.tocharArray();//chuyển thành chararray
-boolean-
giá trị đúng sai true false trong j2me chỉ nhận 2 giá trị true hoặc false
-int-
trị số nguyên trong j2me
-byte-
cũng nguyên nhưng chỉ nhận tối đa đến 255 cho unsign byte (không mang dấu) và từ -127 đến 127 cho sign byte
-char-
kiểu kí tự trong j2me mang giá trị của một byte
-array-
là một mảng gồm nhiều giá trị thuộc cùng một kiểu ví dụ:
int[] t=new int[10]; //tạo một array gồm 10 giá trị nguyên khi đó t={0,0,0,0,0,0,0,0,0,0}; để đặt giá trị một vị trí nào đó của array, vị trí được đếm từ 0 ví dụ t[0]=2; thì t={2,0,0,0,0,0,0,0,0,0}; để lấy một giá trị nào đó ta dùng t[vị trí]
ví dụ:
int g=t[0];
kết quả g=2
-Image-
là hình ảnh trong j2me, có các cách tạo hình ảnh sau:
Image im; //tạo hình ảnh rỗng sau đó ta có thể gán giá trị cho hình ảnh theo 2 cách, nhưng phải đặt trong vòng loại trừ lỗi phát sinh
try{im=Image.createImage("/ anh.png"); //chỉ có kiểu png mới được chấp nhận
im=Image.createImage (bytearray); //hình ảnh được lưu trong một bytearray }catch(Exception e){}
- Stream-
Gồm có
. InputStream
.OutputStream
.DataInputStream
.DataOutputStream
trong đó còn phải kể đến hai đối tượng nửa này nửa kia là ByteArrayOutputStream và ByteArrayInputStream. Nói chung là có liên quan giữa Stream và bytearray. Và cũng nhờ vậy mà ta có thể truy xuất và chuyển đổi dữ liệu từ Stream sang kiểu có thể chỉnh sửa được. Về thuộc tính và thao tác thì các loại InputStream tương tự nhau ta có thể tạo một InputStream theo các cách sau: nếu là lấy từ một kết nối (Connection) thì từ kết nối ta dùng lệnh openInputStream() để tạo một InputStream vd:
FileConnection fc= (FileConnection)Connection.open("file:///e:/vd.txt");
InputStream is=fc.openInputStream();
tương tự, cho OutputStream cũng vậy, ta sử dụng openOutputStream. Nếu ta lấy Stream từ resource file(nén kèm trong file jar) thì ta có công thức sau:
InputStream is=getClass().getResouceAsStream("tên file");
hoặc tạo DataInputStream như sau:
DataInputStream dis=new DataInputStream(getClass().getResouceAsStream("tên file"));
* thao tác trên stream chuyển sang chuỗi, byte giả sử ta có một inputstream ta chuyển sang chuỗi, bytearray như sau:
InputStream is=getClass().getResouceAsStream("tên file");
StringBuffer sb=new StringBuffer();
int c;
while((c=is.read())!=-1){sb.append((char)c);}
String str=sb.toString();
byte[] b=str.getBytes();
đối với InputStream ta hỗ trợ một số lệnh sau:
-is.read();//đọc lần lượt từng byte trong stream cho đến hết
-is.read(byte[],điểm bắt đầu,độ dài đọc);//đọc stream vào một bytearray với độ dài và từ điểm nào đó
-is.available();//trả về số byte có thể đọc trong stream
-is.close();//đóng stream lại giải phóng bộ nhớ và không truy xuất stream được nữa
còn với OutputStream, ta có thể chuyển một bytearray vào trong một outputstream bằng lệnh write
OutputStream os=fc.openOutputStream();
và ta có một bytearray có dữ liệu mà ta muốn viết vào outputStream byte[] data= {1,2,3,4,5,6,7,8,9,0}; ta viết:
os.write(data,0,data.length);//viết các byte trong data vào outputStream

0 nhận xét:

Đăng nhận xét