21 thg 4, 2012

[Lập Trình Bada] Làm quen với Bada

Làm quen với bada. Các tạo môi trường làm việc trên hệ điều hành bada của Samsung. 
Ngôn ngữ sử dụng để phát triển trên hệ điều hành này là C++ .
Tuy nhiên Bada IDE có hỗ trợ giao diện trực quan kéo thả và sinh code tự động. 

Download IDE lập trình bada os tại đây : http://developer.bada.com/devtools/sdk
IDE có giao diện nguồn mở, các tính năng và cách sử dụng hoàn toàn giống eclipse. Một điều mà mình ưng ý nhất.
Bada là 1 hệ điều hành còn ít người biết đến, các lập trình viên ít chú ý, tuy rằng Samsung cũng đã có lần tổ chức cuộc thi viết ứng dụng trên hệ điều hành này. 

Dưới đây là source code đơn giản làm quen với bada os . download tại đây .



Bada OS có phát triển hay không, cũng như các OS khác. Một phần nhờ vào sự khám phá của LTV. Hi vọng các bạn sẽ thích thú với OS này. 

[Lập trình BlackBerry Mobile] Làm việc với các UI Control đơn giản


Cách làm việc với các control giao diện đơn giản trong lập trình trên các thiết bị chạy hệ điều hành Black Berry.
Đầu tiên có thể chia làm 3 loại sau :
1. Field: như LabelField, CheckboxField ...
2. Manager.
3. Screen.
Như trên hình các bạn thấy, có các button, checkbox, bitmapField, editField là các thực thể chúng ta cần xử lý.
Đoạn code dưới đây sẽ cho bạn biết cách thực hiện tạo các đối tượng, xử lý các sự kiện trên đối tượng đó.
Mình dùng IDE: Blackberry java Plug-in 1.5 và emulator : BlackBerry 9930.
Code tạo ra các đối tượng và thêm các đối tượng vào Screen :


Bitmap bitmap = Bitmap.getBitmapResource("img/ic_logo.png");
BitmapField bitmapField = new BitmapField(bitmap, Field.FIELD_HCENTER);
add(bitmapField);

add(new SeparatorField());
add(new LabelField("Please enter your infomation ?"));

usernameField = new EditField("Username", "");
passwordField = new EditField("Password", "");
add(usernameField);
add(passwordField);

domainField = new ObjectChoiceField("Domain :", new String[] { "Home",
"Work" });
add(domainField);

rememberChechBox = new CheckboxField("Remember password ?", false);
add(rememberChechBox);

add(new SeparatorField());
clearButton = new ButtonField("Clear", ButtonField.CONSUME_CLICK);
loginButton = new ButtonField("Login", ButtonField.CONSUME_CLICK);

HorizontalFieldManager buttonManager = new HorizontalFieldManager(
Field.FIELD_RIGHT);
buttonManager.add(clearButton);
buttonManager.add(loginButton);
add(buttonManager);

Đăng ký xử lý sự kiện cho 2 button clear and login button như sau :
trước hết chúng ta implements interface : FieldChangeListener.
đăng ký sự kiện :


clearButton.setChangeListener(this);
loginButton.setChangeListener(this);

Và xử lý sự kiện trong phương thức  :   fieldChanged



public void fieldChanged(Field field, int context) {
// TODO Auto-generated method stub
if (field == clearButton) {
// Dialog.inform("clear button clicked!!!");
clearTextFields();
}
if (field == loginButton) {
// Dialog.inform("login button clicked!!!");
login();
}
}



  private void login() {
// TODO Auto-generated method stub
if (usernameField.getTextLength() == 0
|| passwordField.getTextLength() == 0) {
Dialog.inform("Please enter text field!!!");
} else {
String username = usernameField.getText();
String selectedDomain = (String) domainField.getChoice(domainField
.getSelectedIndex());
LoginSuccessScreen loginSuccessScreen = new LoginSuccessScreen(
username, selectedDomain);
UiApplication.getUiApplication().pushScreen(loginSuccessScreen);
}
}




private void clearTextFields() {
// TODO Auto-generated method stub
usernameField.setText("");
passwordField.setText("");
}



Vì BlackBerry thừa hưởng rất nhiều từ nền tảng JavaME nên nếu nắm chắc các điểm quan trọng của ngôn ngữ java bạn sẽ dễ nắm bắt hơn.




Phương thức tạo menu trong lập trình bb :

 protected void makeMenu(Menu menu, int instance) {
// TODO Auto-generated method stub
super.makeMenu(menu, instance);
menu.add(new MenuItem("Login", 20, 10){
public void run() {
// TODO Auto-generated method stub
login();
}
});
menu.add(new MenuItem("Clear", 10, 20){
public void run() {
clearTextFields();
}
});

}



Download project tại đây

Bạn nên thực hành trước khi import project. Nếu có thắc mắc gì, comment ở dưới bài viết này. Thân.






Bản beta đầu tiên

Sau 6 tháng cả team cặm cụi làm việc điên cuồng, bản alpha cũng được giới thiệu ra toàn bộ công ty và được testing nội bộ công ty mà thôi. ...