// *****************************************************
// Copyright (c) 2006-2011 iAnywhere Solutions, Inc.
// Portions copyright (c) 2006-2011 Sybase, Inc.
// All rights reserved. All unpublished rights reserved.
// *****************************************************
// This sample code is provided AS IS, without warranty or liability
// of any kind.
//
// You may use, reproduce, modify and distribute this sample code
// without limitation, on the condition that you retain the foregoing
// copyright notice and disclaimer as to the original iAnywhere code.
//
// *********************************************************************
package myapp;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import java.util.*;
class HomeScreen extends MainScreen {
HomeScreen() {
// Set the window title
LabelField applicationTitle = new LabelField("Hello BlackBerry");
setTitle(applicationTitle);
// Add a label to show application status
_statusLabel = new LabelField("Status: Started");
add(_statusLabel);
// Add an edit field for entering new names
_nameEditField = new EditField( "Name: ", "", 50, EditField.USE_ALL_WIDTH );
add (_nameEditField );
// Add an ObjectListField for displaying a list of names
_nameListField = new ObjectListField();
add( _nameListField );
// Add a menu item
addMenuItem(_addToListMenuItem);
// Add sync menu item
addMenuItem(_syncMenuItem);
// Create database and connect
try{
_da = DataAccess.getDataAccess(true);
_statusLabel.setText("Status: Connected");
}
catch(Exception ex)
{
_statusLabel.setText("Exception: " + ex.toString());
}
// Fill the ObjectListField
refreshNameList();
}
private LabelField _statusLabel;
private DataAccess _da;
private EditField _nameEditField;
private ObjectListField _nameListField;
private MenuItem _addToListMenuItem = new MenuItem("Add", 1, 1){
public void run() {
onAddToList();
}
};
private MenuItem _syncMenuItem = new MenuItem("Sync", 2, 1){
public void run() {
onSync();
}
};
public void refreshNameList() {
//Clear the list
_nameListField.setSize(0);
//Refill from the list of names
Vector nameVector = _da.getNameVector();
for( Enumeration e = nameVector.elements(); e.hasMoreElements(); ){
NameRow nr = ( NameRow )e.nextElement();
_nameListField.insert(0, nr);
}
}
private void onAddToList(){
String name = _nameEditField.getText();
_da.insertName(name);
this.refreshNameList();
_nameEditField.setText("");
_statusLabel.setText(name + " added to list");
}
private void onSync() {
try {
if(_da.sync()) {
_statusLabel.setText("Synchronization succeeded");
} else {
_statusLabel.setText("Synchronization failed");
}
refreshNameList();
} catch (Exception ex) {
Dialog.alert(ex.toString());
}
}
}