Polly po-cket
logo

Chatbox|Admin nhận làm wap/web, giá cả thương lượng... Thông tin admin tại mỗi bài viết.
Home · Bang hội ·
* Đăng Nhập hoặc Đăng Kí
để sử dụng hết chức năng của diễn đàn.
Hi, Khách!
HomeBang hội » Thủ thuật » Nokia s40 » Lập trình j2me trên mobile by m4v
Xuống dưới » Lập trình j2me trên mobile by m4v
avatar by Pham_loi Pham_loi
Chức vụ:
18:33:29, 10-08-2015

(Bài 7)Alert - Thông báo
• Alert:
Mình sẽ hdsd Alert - thông báo. Alert là thông báo lỗi, hiện thông tin, báo nguy hiểm, báo hẹn giờ, hiện thanh loading...
Cấu trúc khai báo:
Alert tên=new Alert("tiêu đề","nội dung", ảnh thêm vào, kiểu);
Copy code

Mời xem code:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class c extends MIDlet {
Alert al=new Alert("thong bao","ban bi gay?",null, AlertType.INFO);
public void startApp()
{
Display.getDisplay(this).setCurrent(al);
}
public void pauseApp() {}
public void destroyApp(boolean uncon) {}
}

Copy code

Giải thích
Alert al=new Alert("thong bao","ban bi gay?",null,  AlertType.INFO);
Copy code

Alert này tên là al, có tiêu đề và nội dung. Chỗ để thêm ảnh ghi là null, tức là ko có gì cả, ko có ảnh kèm theo. Kiểu ở đây là AlertType.INFO, nên nó là dạng hiện ra thông tin.
Có nhiều kiểu cho Alert:
AlertType.INFO
AlertType.WARNING
AlertType.ERROR
AlertType.ALARM
AlertType.CONFIRMATION

Copy code

Từ từ tìm hiểu. Muốn xuất hiện Alert, ta setCurrent nó giống Form và TextBox, cho thấy nó ngang hàng với Form và TextBox nhá.
Để cài thời gian xuất hiện cho Alert, ta dùng lệnh:
al.setTimeout(mili giây);
Vì code trên ko setTimeout nên vừa vào phần mềm là nó hiện ngay.
Các lệnh Alert có thể dùng:
al.setTimeout(mili giây);
al.setString("nội dung");
al.getString();
lấy hoặc đặt nội dung cho nó
al.setImage(hình);
al.getImage();
lấy hoặc chèn hình vào Alert
al.setType(kiểu);
al.getType();
đặt kiểu hoặc lấy kiểu của Alert
Alert ít dùng với newbie. Chỉ cần thực hành 1, 2 lần.
Code hiện ảnh trong Alert:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class alr extends MIDlet{
    Alert al = new Alert("thong bao", "ban bi gay?", null, AlertType.WARNING);
    Image im;
    public void startApp(){
try{
im = Image.createImage("/anh.png");
}
catch(Exception e){}
        al.setTimeout(10000);
        al.setImage(im);
        Display.getDisplay(this) . setCurrent(al);
    }
    public void pauseApp(){}
    public void destroyApp(boolean unconditional){}
}

Copy code

Like: 0
avatar by Pham_loi Pham_loi
Chức vụ:
19:17:33, 10-08-2015

(Bài 8) Image - Lớp xử lý hình ảnh
Image là một lệnh dùng để hiển thị ảnh nó có thể dùng cho Form hoặc Canvas (sau này sẽ học đến)
Bài này cũng không khó nên mình chỉ nói sơ qua để a.e hiểu cho phần Canvas sau này vì Image trên Form không được sử dụng nhiều.
* Cấu trúc khai báo:
Cấu trúc khai báo của Image hơi ngớ ngẩn, đầu tiên ta cần khai báo:
Image im;
Copy code

Ngang hàng với Form sau đó mới dùng:
try{
im = Image.createImage("/icon.png");
}
catch(Exception e){}

Copy code

để khai báo trong chương trình con startApp nhớ là phải để trong startApp mới có tác dụng, nhiều bạn sẽ hỏi tại sao lại có cả try và catch để làm gì. Cái này mình cũng không rõ lắm nhưng các bạn cứ hiểu là để bắt lỗi nếu không tìm thấy ảnh trong zip, cái này không cần hiểu sâu xa mà cứ bao giờ khai báo Image là phải có kể cả trong Canvas
* Để khai báo nhiều Image:
Ta sẽ thêm nhiều:
im=Image.createImage("/icon.png");
Copy code

vào trong try{ ... } catch... Chứ k phải viết ra nhiều try{ ...bla bla
VD:
try{
im1 = Image.createImage("/a1.png");
im2 = Image.createImage("/a2.png");
....
}
catch(Exception e){}

Copy code

Còn /icon.png kia là đường dẫn của hình ảnh mà ta nén cùng, cái này chắc nhiều bạn biết rồi nên mình nói qua vậy thôi
* Gắn Image lên Form:
Gắn Image lên Form thì cũng như các đối tượng khác ta cũng dùng:
f.append(im);
Copy code

trong đó im là tên ta đã khai báo cho Image ở trên..
Xem đoạn mã dưới để hiểu hơn:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet{
Form f = new Form("tên form");
Image im;
public void startApp(){
try{
im = Image.createImage("/icon.png");
}
catch(Exception e){}
f.append(im);
Display.getDisplay(this).setCurrent(f);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){ }
}

Copy code

P/s: Nén cả file ảnh vào thư mục src nếu dùng mobile eclipse.
Nếu bạn dùng J2me Sdk Mobile thì copy file ảnh vào thư mục j2mesdkprojects/tên project đang làm/src


Chỉnh sửa lúc 2015-08-25 19:50 bởi Pham_loi
Like: 0
avatar by Pham_loi Pham_loi
Chức vụ:
19:18:59, 10-08-2015

[Bài 9 List gugồ gọi là danh sách
Bắt đầu:
>>List là 1dạng danh sách trong đồ hoạ cấp cao
hiểu vậy thôi

>>cách khai báo 1List(chỉ cần 1 List là dc rồi)

List l=new List("tên","kiểu list");
Copy code

tui thường dùng kiểu List.IMPLICIT
ngoài ra vẫn còn 1vài kiểu khác nhưng ko cần thiết
>tạo 1list rồi thì nó sẽ chưa có j cả, cta phải append vào thôi:
Cách thêm:
l.append("abc",hình ảnh);
như vậy là màn hình đã có thêm 1dòng "abc" kèm hình ảnh nếu có

>>thêm Command vào list:

l.addCommand(ok);
thêm vào như bt thôi

d.setCurrent(l);
//hiển thị list lên màn hình
XONG phần khởi tạo;

>>Cách dùng:

>cta sẽ dùng Command để sủ dụng nó

public class minh extends MIDlet implements CommandListener{
dùng List trong hàm
commandAction(Command cm,Displayable dp){

>>khai báo vị trí trong List:
int index=l.getSelectedIndex();

//index = vị trí trọn trong list


index=0 tương ứng với vị trí thứ nhất trong List
>if(index==0){
d.setCurrent(f1);
}

nếu chọn vị trí thứ 1 (index =0) thì ta cho hiển thị form 1 ứng với dòng "abc" trong List(dòng đầu tiên)

if(dp==f1&&cm==back){
d.setCurrent(l);

//đang ở form 1 bấm back để trở về List

còn các Command khác thì tùy các bạn
Ngoài ra còn 1số thao tác khác nhưng theo tui thỳ ko cần thiết và chưa bao giờ cần sử dụng
code//
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class minh extends MIDlet implements CommandListener{

Command ok,back,exit; 
Display d;
Form f1,f2;
List l;
public minh(){
l=new List("test list",List.IMPLICIT);
f1=new Form("form1");
f2=new Form("form2");
d=Display.getDisplay(this);
ok=new Command("OK",4,1);
back=new Command("BACK",Command.BACK,1);
exit=new Command("EXIT",7,1);
f1.append("dòng 1 tương ứng form 1");
f1.addCommand(back);
f1.setCommandListener(this);
f2.append("dòng 2 tương ứng form 2 do ta qđịnh");
f2.addCommand(back);
f2.setCommandListener(this);
l.append("vào form1");
l.append("vào form2");
l.addCommand(ok);
l.addCommand(exit);
d.setCurrent(l);
}

public void startApp(){}// code ở hết minh() rồi nên startApp() tui để trống cũng ko sao
public void pauseApp(){}
public void destroyApp(boolean b){
notifyDestroyed();
}

public void commandAction(Command cm,Displayable dp){

int index=l.getSelectedIndex();
if(index==0)d.setCurrent(f1);
if(index==1)d.setCurrent(f2);
if(dp==l&&cm==exit){
destroyApp(true);
}
if(dp==f1&&cm==back||dp==f2&&cm==back){
d.setCurrent(l);
}
}
}

Copy code

>>>Source:
Tải Về Listzip_tLxkt.zip (4.54 KB)

>>>Ảnh minh họa:
img
hãy tải source về xem rõ hơn

Like: 0
avatar by Pham_loi Pham_loi
Chức vụ:
19:19:41, 10-08-2015

(Bài 10) Các kiểu dữ liệu cơ sở và các vấn đề liên quan.
Sau đây tôi sẽ giới thiệu với các bạn các kiểu dữ liệu cơ sở trong java và các vấn đề liên quan đến chúng.
Để khai báo một biến ta khai báo như sau:
[kiểu dữ liệu [tên biến;
Ví dụ:
int n;
thì
int:là viết tắt của Integer kiểu số nguyên.
n:là tên biến.
• Kiểu số nguyên:
- Java có các loại số nguyên sau:
1: byte ở dạng 8bits, giá trị từ -256 đến 255
2: short ở dạng 16bits, giá trị từ -32768 đến 32767
3: int ở dạng 32bits giá trị từ -2147483648 đến 2147483647
4: long ở dạng 64bits, giá trị k đếm xuể :shok:
- Các phép tính trên số nguyên:
= bằng
!= không bằng(khác)
> lớn hơn
< nhỏ hơn
>= lớn hơn hoặc bằng
<= nhỏ hơn hoặc bằng
, -, *, / cộng, trừ, nhân, chia
% chia lấy dư
tăng 1 đơn vị
- Các điều chú ý khi tính toán:
* Nếu cả hai toán hạng đều là kiểu long thì kết quả sẽ là kiểu long
* Nếu toán hạng nào không phải là long thì nó sẽ đc chuyển thành long trước khi thực hiện phép tính.
* Nếu 2 toán hạng đều không là long thì kết quả sẽ là int kể cả byte ,short
* Bất kì một toán hạng byte hay short nào cũng được chuyển thành int sau đó mới thực hiện phép tính.
• Kiểu số thực (kiểu dấu chấm động):
- Java hỗ trợ các kiểu số thực sau:
1: float ở dạng 32bits
2: double ở dạng 64bits
- Các điều chú ý khi tính toán:
* Nếu mỗi toán hạng đều thuộc kiểu dấu chấm động thì phép tính chuyển thành phép tính dấu chấm động
* Nếu một toán hạng là double thì tất cả các toán hạng khác đều chuyển thành kiểu double trước khi thực hiện phép toán.
* Nếu không có toán hạng nào là kiểu double thì các toán hạng đều được chuyển về kiểu float
• Kiểu dữ liệu char(kiểu kí tự):
- Đây là kiểu dữ liệu về kí tự. Mỗi biến char sẽ có giá trị là một kí tự Unicode.
- Ví dụ: ’a’,’b’,’$’,…
- Giá trị khởi tạo mặc định của kiểu char là null
• Kiểu dữ liệu Boolean:
- Đây là kiểu dữ liệu chỉ nhận một trong 2 giá trị true hoặc false(đúng hoặc sai)
- Giá trị khởi tạo mặc định của kiểu boolean là false

Like: 0
avatar by Pham_loi Pham_loi
Chức vụ:
19:20:24, 10-08-2015

(Bài 11) Câu lệnh điều kiện if - else
Câu lệnh if dùng rất rất nhiều hầu như game nào cũng phải có trên vài trăm câu lệnh điều kiện. Bài này và một số bài nữa mình chỉ đăng code tổng quát và ví dụ các bạn phải tự gắn nó vào HelloWorld hay Command gì đó.

• Cấu trúc là:
if(điều kiện){ các câu lệnh; }
Copy code

Điều kiện phải là phép so sánh hoặc là biến true/false (boolean).
Ví dụ:
if(a>1){ a=0; }
Copy code

nếu a>1 thì a=0
Có các dấu so sánh là: >, <, >=, <=, == (so sánh bằng), != (so sánh khác).
Ví dụ 2:
if(thang==1){
nam=nam+1;
ngay=0; }

Copy code

nếu tháng bằng 1 tức là qua năm mới rồi.
Ko được viết if(thang=1)... Vì đó là phép gán chứ ko phải phép so sánh.
Ví dụ 3:
...
public class c extends MIDlet{
boolean a;
int b, c;
.......
if(a){ b=1; c=2; }

Copy code

đây là ví dụ ko dùng phép so sánh mà dùng biết boolean.
Ví dụ 4:
if(bidanh){ hp=hp-10; }
Copy code

nếu bị đánh thì mất 10 máu.
..
Có thể dùng kết hợp nhiều điều kiện.
Ví dụ 5:
if(ngay==2 && thang==9){ form.append("ngày quốc khánh Việt Nam"); }
Copy code

nếu ngày là 2, tháng là 9 thì viết lên Form dòng chữ đó.
• Có các cách kết hợp sau:
và &&, hoặc ||, thôi dùng từng đấy thôi.
Ví dụ 6:
if(hp==0 || gold >=1000){
endgame=true; }

Copy code

nếu hết máu hoặc số tiền đạt mốc 1000 thì kết thúc game.
..
• Cấu trúc đủ:
if(điều kiện){
các câu lệnh;}
else{
các lệnh khác; }

Copy code

nếu điều kiện đúng thì làm các lệnh đầu tiên,nếu sai thì làm các lệnh sau else.
Ví dụ 7:
if(win){
f.append("bạn thắng");}
else{
f.append("bạn thua cmnr"); }
..

Copy code

• Cấu trúc rút gọn:
Ví dụ 8:
if(time==0){
if(hp>0){
f.append("bạn thắng"); }
else{
f.append("bạn thua"); }
}

Copy code

có thể rút gọn là:
if(time==0){ hp>0? f.append("bạn thắng") : f.append("bạn thua");
}

Copy code

Ví dụ 9:
if(a>b) max=a; else max=b;
Copy code

có thể viết gọn là:
max=a>b?a:b;
..

Copy code

Câu lệnh điều kiện rút gọn có thể hơi khó đối vs ng mới nhưng sau này làm nhiều câu lệnh này sẽ thấy nó rất tiện.
Khi có nhiều trường hợp, ta dùng khối lệnh switch..case cho gọn.
Cấu trúc:
switch(biến){
case giá trị 1: dãy lệnh 1; break;
case giá trị 2: dãy lệnh 2; break;
...
case giá trị n: dãy lệnh n; break;
default: dãy lệnh n+1;
}

Copy code

Đầu tiên sẽ xét biến xem nó bằng giá trị bao nhiêu trong các giá trị sau case. Sau đó thực hiện đống lệnh tương ứng. Làm xong thoát khỏi khối switch luôn.
Nếu biến không bằng giá trị nào cả thì sẽ thực hiện dãy lệnh sau default (không có cũng được).
..
Ví dụ:
switch(chon){
case 1: f.append("chọn 1");
break;
case 2: f.append("chọn 2");
break;
default: f.append("chưa chọn");
}

Copy code

Ví dụ:
switch(tf.getString()){
case '+': kq=a+b; break;
case '-': kq=a-b; break;
case '*': kq=a*b; break;
case '/': if(b!=0) kq=a/b; break;
defailt: f.append("nhập cái vẹo gì thế");
}

Copy code

Tôi thì k hay dùng switch nên k đăng source nhưng nó cũng rất cần thiết để rút gọn câu lệnh điều kiện if - else.

Like: 0
avatar by Pham_loi Pham_loi
Chức vụ:
19:21:05, 10-08-2015

(bài 12) Vòng lặp (Bài quan trọng)
Phần này mình không rõ lắm, nhưng vòng lặp rất quan trọng nên phải viết một tý để bạn dùng tạm.
• Vòng lặp FOR:
Vòng lặp for có cấu trúc:
for(biến đếm (1); điều kiện lặp (2); xử lý biến (3)){
dãy lệnh (4);
}

Copy code

Thứ tự thực hiện là 1-2-4-3, tạo biến, kiểm tra điều kiện, thực hiện các lệnh rồi xử lý biến
* Ví dụ 1:
for(int i=0; i<10; i++)
{s = s + 1;}

Copy code

vòng lặp chạy 10 lần
Ví dụ 2:
for(int i=0; i<10; i +=2){ s = s + 1;}
Copy code

lặp 5 lần
Ví dụ 3:
for(int i=10; i<0; i++){ s = s + 1;}
Copy code

không lặp
for(int j=10; j>0; j++){ s = s + 1;}
Copy code

lặp vô hạn.
Đây là code mẫu lặp lại 5 lần và viết ra 5 chữ "NDT đập troai" :gy:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet{
Form f = new Form("tên form");
public void startApp(){
for(int i=0; i<5; i++)
{
f.append("NDT đập troai");
}
Display.getDisplay(this).setCurrent(f);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){ }
}

Copy code


• Vòng lặp WHILE:
Cấu trúc:
while(điều kiện){dãy lệnh;}
Copy code

Đây là vòng lặp không biết trước số lần lặp.
Ví dụ 5:
while(a<=0){
si.setString("nhap a>0");
form.append(si);
}

Copy code

Ví dụ 6:
while(dai==rong)
{s="hinh vuong";}

Copy code

Đây là code ví dụ nó sẽ lặp lại 5 lần và viết ra 5 chữ "NDT rất đập troai" :haha:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet{
Form f = new Form("tên form");
public void startApp(){
int i=0;
while(i<5)
{
f.append("NDT rất đập troai");
i++;
}
Display.getDisplay(this).setCurrent(f);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){ }
}

Copy code


• Vòng lặp DO - WHILE:
Vòng lặp không biết trước số lần lặp, số lần lặp ≥1. Giống repeat...until thì phải.
Cấu trúc:
do{dãy lệnh}
while(điều kiện);

Copy code

Cái này thực hiện lệnh rồi mới kiểm tra điều kiện.
Ví dụ 7:
do{a }
while(a<100);

Copy code

Ví dụ 8:
do{
if(bai<soluong){
bai++;
play(bai);
}
}
while(!playing);

Copy code

phát hát tiếp theo khi đã phát xong bài hiện tại, nếu đã là bài cuối thì ngưng.
Do-While ít dùng nên mình k cho code mẫu

• break; và continue;

Lệnh continue;
để thoát khỏi LẦN lặp hiện tại.
Thực hiện lần lặp tiếp theo.
Ví dụ 9:
for(int i=0; i<getWidh(); i++){
if(x==vatcan){
y =10; continue;
}
x++;
}

Copy code

cho x tăng để cho nhân vật đi từ trái qua phải, nếu gặp vật cản thì tránh lên trên.
Khi gặp vật cản thì x không tăng nữa, chỉ có y tăng.
Lệnh break;để thoát khỏi CÂU LỆNH lặp hiện tại.
Thực hiện câu lệnh sau câu lệnh lặp.
Ví dụ 10:
for(int a=0; a==a; a++){
s=s+a;
if(s%a==0)
break;
}

Copy code

lặp đến khi nào s chia hết cho a thì không lặp nữa (có thể dùng while).
* Chú ý:Dùng vòng lặp nên chú ý đến điều kiện lặp khi in ra hay gì đó mà điều kiện lặp là vô hạn thì sẽ tràn ram và OutOfMemory, bài vòng lặp hơi khó nhưng rất quan trọng các bạn cần phải làm đi làm lại dù khi đã quen rồi..

Like: 0
avatar by Pham_loi Pham_loi
Chức vụ:
19:21:47, 10-08-2015

(bài 13) String chuỗi 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");
Copy code

String str="chuỗi cần gán";
Copy code

String str=new String(bytearray);
Copy code

String str=new String(chararray);
Copy code

String str=StringBuffer.toString();
Copy code

trong đó StringBuffer phải được tạo trước
* một số thao tác:
String str = 2   " là số hai";
Copy code

Nối số với chuỗi, kết quả: "2 là số hai"
String str = "hai"   " là số hai";
Copy code

Nối chuỗi với chuỗi, kết quả: "hai là số hai", cách làm khác:
String str = "hai";
str.concat(" là số hai");

Copy code

Ta được kết quả như nhau.
str.charAt(vị trí cần lấy kí tự);
Copy code

lấy kí tự ở vị trí nào đó của string
str.substring(vị trí bắt đầu, vị trí kết thúc);
Copy code

lấy chuỗi từ vị trí đến vị trí
str.compareTo(chuỗi so sánh);
Copy code

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);
Copy code

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);
Copy code

xem hai chuỗi có giống nhau không, trả về boolean
str.getBytes();
Copy code

chuyển thành ByteArray
str.getChars(vị trí bắt đầu, vị trí cuối, mảng char, vị trí bắt đầu copy của mảng char);
Copy code

Copy mảng char của String vào mảng char, với vị trí bắt đầu, vị trí cuối của String và vị trí bắt đầu copy của mảng char
str.indexOf(giá trị của char, vị trí bắt đầu);
Copy code

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);
Copy code

vị trí của kí tự cần tìm xuất hiện ở cuối cùng
str.length();
Copy code

độ dài của string
str.startsWith(chuỗi so sánh);
Copy code

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();
Copy code

chuyển thành chararray
String là văn bản nên khi ta dùng sẽ gắn nó lên chỗ dùng văn bản
Ví dụ:
String a = "chán bang ta rồi";
f.append(a);
tf.setString(a);

Copy code


Nguồn: Holyeyed (có bổ sung bởi TVC97)

Like: 0
avatar by Pham_loi Pham_loi
Chức vụ:
19:22:34, 10-08-2015

(bài 14) Phép chuyển kiểu trong J2ME
Như tôi đã nói ở phần trước, mỗi biến trong java đều có một kiểu dữ liệu nhất định nhưng khi ta có một biến đang ở một kiểu dữ liệu này mà ta lại muốn sử dụng nó với một kiểu dữ liệu khác như trong phép tính giữa các toán hạng không cùng kiểu. Ta phải làm sao? để trả lời cho câu hỏi này java đã hỗ trợ việc chuyển kiểu như sau:
Đây là một số phương pháp chuyển các giá trị số qua nhau, ta sẽ thêm"(kiểu chuyển)"vào trước giá trị cần chuyển.
Ví dụ: chuyển từ double sang int ta làm như sau.
double d = 3.14;
int i = (int)d;

thế là chuyển từ double sang integer, với các kiểu khác ta làm tương tự.
Còn chuyển từ dạng string sang số và ngược lại ta làm như sau.
Ví dụ: chuyển string sang int ta làm như sau.
String s = "8";
int a = Integer.parseInt(s);

Tương tự với Long, Double ta làm như sau.
LONG:
String s = "8";
long a = Long.parseLong(s);

DOUBLE:
String s = "3.14";
double a = Double.parseDouble(s);

.....
Còn muốn chuyển từ các dạng số về dạng string ta làm như sau.
INT:
int a = 8;
String s = String.valueOf(a);

DOUBLE:
double a = 3.14;
String s = String.valueOf(a);

Phép chuyển kiểu giúp ta lấy các số mà ta nhập vào từ TextField để tính toán như này:
int a = Integer.paserInt(tf.getString());
hàm tf.getString() để lấy giá trị của TextField tf chuyển vào biến số nguyên a..

Like: 0
avatar by Pham_loi Pham_loi
Chức vụ:
02:57:08, 17-08-2015

(Bài 15) ChoiceGroup. tương tự list trên form
Thấy bang ta vắng quá nên đăng bài mới cho đỡ buồn :D
ChoiceGroup:Cũng tương tự như một list, nhưng thay vì là một lớp hiển thị riêng thì choicegroup là một loại item được gán lên form cùng với TextField, ImageItem, String Item...
cũng như list, ChoiceGroup cũng có những tính chất và cách thức tương tự.
ChoiceGroup cg=new ChoiceGroup("tên","kiểu");
Copy code

trong đó kiểu gồm có:
Choice.MULTIPLE
Choice.EXCLUSIVE
Choice.IMPLICIT
Choice.POPUP
kiểu popup giống như việc tạo ra một combo box
và để thêm vào những danh sách lựa chọn cũng tương tự như list:
cg.append("tên lựa chọn","ảnh đại diện");
Copy code

tất nhiên vì là một item nên choicegroup cần có một cái giá để treo lên và đó là Form, ta tạo một form và gán choicegroup vào bằng lệnh append như những item khác:
f.append(cg);
Copy code

sau đó thì cho hiển thị form là hiển thị choicegroup:
Display.getDisplay(this).setCurrent(f);
Copy code

MỘT SỐ THAO TÁC VỚI ChoiceGroup:
cg.set (vị trí lựa chọn, tên mới, ảnh mới);

cg.isSelected(vị trí lựa chọn);//trả về giá trị đúng sai
cg.setSelectedIndex(vị trí cần chọn); //lệnh để chọn một lựa chọn nào đó
cg,size();//không có tham số, trả về số các lựa chọn trong choicegroup

Like: 0
avatar by Pham_loi Pham_loi
Chức vụ:
02:57:55, 17-08-2015

(Bài 16) DateField-ngày giờ hiện tại
Thành phần DateField cung cấp một phương tiện trực quan để thao tác đối tượng Date được định nghĩa trongjava.util.Date. Khi tạo một đối tượng DateField, bạn cần chỉ rõ là người dùng chỉ có thể chỉnh sửa ngày, chỉnh sửa giờ hay đồng thời cả hai.
Các phương thức dựng của lớp DateField gồm:
DateField(String label, int mode)
Copy code

Trong đó:
label: tiêu đề
DateFieldmode: gồm:
DateField.DATE_TIME: cho phép thay đổi ngày giờ
DateField.TIME: chỉ cho phép thay đổi giờ
DateField.DATE: chỉ cho phép thay đổi ngày
DateField(String label, int mode, TimeZone timeZone)
Copy code

Ở đây mình chỉ đề cập đến hàm khởi tạo đầu tiên.
Các hàm với DateField
Date getDate()
Copy code

Lấy giá trị Date hiện tại
void setDate(Date date)
Copy code

Đặt giá trị Date hiện tại.
Ứng dụng sau minh họa sử dụng DateField:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*; 
public class Midlet extends MIDlet{
// Khai bao bien 
Form f;
Display d;
DateField date, time, date_time;
public Midlet(){
// Khoi tao cac bien
d = Display.getDisplay(this);  
f =new Form("DateField");  
date =new DateField("Date", DateField.DATE); 
time =new DateField("Time", DateField.TIME);  
date_time =new DateField("Date Time",DateField.DATE_TIME);  f.append(date);
f.append(time);  
f.append(date_time);
}
}
public void startApp(){
// hien thi form  
d.setCurrent(f);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
}

Copy code

Like: 0
Lên trên  Tổng số: 22
« 1 2 3 »







Trực Tuyến: Khách: 1
Diễn đàn teen Việt Nam
CopyRight 2014