midlet development j2me
TRANSCRIPT
![Page 1: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/1.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 1/33
MIDPGUIDevelopment:
Alert,List,Form,TextBox JussiPohjolainen
TampereUniversityofAppliedSciences
![Page 2: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/2.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 2/33
DisplayableClassHierarchy
javax.microedi-on.lcdui javax.microedi-on.lcdui.game
Displayable
Alert List Form TextBox
Screen
Canvas GameCanvas
![Page 3: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/3.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 3/33
TextBox
• Togettheuserinput• TextBox a = new TextBox(String
title, String text, int maxSize,
int constraints)
![Page 4: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/4.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 4/33
TypesandFlags
• Types
– TextField.ANY – TextField.NUMERIC – TextField.DECIMAL – TextField.PHONENUMBER – TextField.EMAILADDR – TextField.URL
• Flags – TextField.PASSWORD
– TextField.UNEDITABLE
– TextField.NON_PREDICTIVE
– TextField.INITIAL_CAPS_WORD
– TextField.
INITIAL_CAPS_SENTENCE
![Page 5: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/5.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 5/33
TextBoxUsage
TextBox textbox =
new TextBox("Sähköposti",
"",
64,
TextField.EMAILADDR |
TextField.PASSWORD);
![Page 6: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/6.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 6/33
DisplayableClassHierarchy
javax.microedi-on.lcdui javax.microedi-on.lcdui.game
Displayable
Alert List Form TextBox
Screen
Canvas GameCanvas
![Page 7: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/7.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 7/33
Alerts
• Therearetwotypesofalerts – TimedAlert
• Displayedcertainamountofme
– ModalAlert• Demandsuserconfirmaon
ModalAlert
![Page 8: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/8.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 8/33
Alert-class
• Constructor – public Alert(String title, StringalertText, Image alertImage, AlertType alerttype);!
• Methods – setTimeOut(...)! – setTimeOut(Alert.Forever)! – addCommand(...)!
• AlertTypes – ALARM, CONFIRMATION, ERROR, INFO,WARNING!
![Page 9: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/9.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 9/33
DisplayableClassHierarchy
javax.microedi-on.lcdui javax.microedi-on.lcdui.game
Displayable
Alert List Form TextBox
Screen
Canvas GameCanvas
![Page 10: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/10.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 10/33
EXCLUSIVE,MULTIPLEandIMPLICIT
![Page 11: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/11.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 11/33
ConstrucngLists
• Whenyoucreatealist,youdefinelist's
– type(EXCLUSIVE,MULTIPLE,IMPLICIT)
– tle – stringelementsandimages(voluntary)
• API:– public List(String title, int type):
– public List(String title, int type, String [] stringelements, Image
[] imageElements);
• Scrollingisautomacallyavailable
• Itispossiblytoaddelementstothelistwithappend-
method.
![Page 12: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/12.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 12/33
ListExample1
public class MyList extends MIDlet{
private List mList;
public MyList() {
mList = new List(”Wanna Buy?”, Choice.MULTIPLE);
mList.append(“Herring”, null);
mList.append(“Goose Liver”, null);
mList.append(“Jelly”, null);
}
public void startApp() {
Display.getDisplay(this).setCurrent(mList);
}
public void destroyApp(boolean unconditional) {}
public void pauseApp() {}
}
![Page 13: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/13.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 13/33
ListExample2
public MyList() {
String [] elements =
{"hyytelöä", "kananmaksaa",
"ituja"};
mLista = new List("Haluatko
ostaa?", Choice.MULTIPLE,
elements, null);
}
![Page 14: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/14.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 14/33
AddingandRemovingListelements
• Itispossibletoaddandremovelistelements
• Theelementsareaccessiblebyindex(0...n)
• Replacingaelement:set(...)
• Addingelement:append(...)
• Addingelementtoacertainplace:insert(...)
• Findingelement:String getString(int n)
• Removingelement:void delete(int n)
![Page 15: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/15.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 15/33
MIDP2.0List
• Howdoyoutreattheelements,iftheydon't
fitintomobiledevice'sscreen?
– setPolicy(...);• Choice.TEXT_WRAP_ON,Choice.TEXT_WRAP_OFF,Choice.TEXT_WRAP_DEFAULT
• Changingthefont: – setFont(...)
![Page 16: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/16.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 16/33
ListSelecon
• Howtofindoutwhatelementuserselected? – public boolean isSelected(int i)! – public int getSelectedIndex()! – public void setSelectedIndex(int i, boolean s)!
• SeeListExample.java
![Page 17: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/17.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 17/33
DisplayableClassHierarchy
javax.microedi-on.lcdui javax.microedi-on.lcdui.game
Displayable
Alert List Form TextBox
Screen
Canvas GameCanvas
![Page 18: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/18.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 18/33
IntrotoForm
• FormisaGUI-componentthatcanholdotherGUI
components
• TheseotheGUI-componentsarecalleditems.
• Iftherearemanyitems,theformwillprovidescrollingmechanism.
• Constructors: – public Form(String title)! – public Form(String title, Item[] items)!
![Page 19: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/19.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 19/33
HandlingItems
• AddingItemstotheForm: – Form a = new Form(“otsikko”);! – a.append(Item item);! – a.append(String str);! – a.append(Image image);!
• Everyitemhasanindex: – a.set(int index, Item item)! – a.insert(int index, Item item)! – a.delete(int index)!
• Othermethods: – int size();! – Item get(int index)!
![Page 20: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/20.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 20/33
SimpleExample
mForm = new Form("Otsikko");
mForm.append("moi");
mForm.append("hei");
mForm.append("tere");
![Page 21: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/21.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 21/33
UsingItems
• Therearemanyitems.
• javax.microedition.lcdui.Item:! – ChoiceGroup! – CustomItem // We will look this..! – DateField! – Gauge! – ImageItem // .. and this later! – Spacer! – StringItem ! – TextField!
![Page 22: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/22.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 22/33
ItemLayout
• EveryFormitemcanhavealayout:
– LAYOUT_LEFT! – LAYOUT_RIGHT! – LAYOUT_CENTER
! – ...!
• SeeAPI!
![Page 23: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/23.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 23/33
UsingItemLayout
StringItem layoutLeft = new StringItem("Layout: ", "LEFT");
layoutLeft.setLayout(Item.LAYOUT_LEFT);
StringItem layoutCenter = new StringItem("Layout: ", "CENTER");
layoutCenter.setLayout(Item.LAYOUT_CENTER);
StringItem layoutRight = new StringItem("Layout: ", "RIGHT");
layoutRight.setLayout(Item.LAYOUT_RIGHT);
mForm.append(layoutLeft);
mForm.append(layoutCenter);
mForm.append(layoutRight);
![Page 24: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/24.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 24/33
StringItem
• Representsasimple“Label”
Form form = new Form("Title");
StringItem st = new StringItem("Label: ";
"Value");
form.append(stringItem);
![Page 25: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/25.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 25/33
Item:Spacer
• Spacerprovidesemptyspaceintheform.
– Spacer empty = new Spacer(100,50); !
![Page 26: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/26.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 26/33
Item:TextField
• TextField: – public TextField(String label,String text, int
maxSize, intconstraints)!
• Constraints(sameasinTextBox) – ANY, NUMERIC,DECIMAL,PHONENUMBER,EMAILADDR, URL!
– PASSWORD, SENSITIVE;UNEDITABLE...!
![Page 27: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/27.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 27/33
Item:DateField
• DateandTimeinput. – public DateField(String label, int mode)! – public DateField(String label, int mode,TimeZone timezone)!
• mode – DATE, TIME, DATE_TIME!
• GetandSet-methods: – public Date getDate()! – public void setDate()!
![Page 28: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/28.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 28/33
DateFieldImages
![Page 29: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/29.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 29/33
Item:Gauge
• Gaugepresentsintegerinagraphicalform.– public Gauge(String label, boolean interactive,int maxValue, int initialValue)
• Byusingparameterinteracveitispossibletodefine
cantheusermodifythegauge.• InialValuecanalsobe:
• CONTINUOUS_IDLE !• INCREMENTAL_IDLE !• CONTINUOUS_RUNNING !• INCREMENTAL_UPDATING !
![Page 30: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/30.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 30/33
GaugeImages
Gauge kake1 = new Gauge("Editoitava", true, 100, 0);
Gauge kake2 = new Gauge("Ei-editoitava", false, 100,
50);
Gauge kake3 = new Gauge("INCREMENTAL_UPDATING",
false, Gauge.INDEFINITE,
Gauge.INCREMENTAL_UPDATING);
Gauge kake6 = new Gauge("CONTINUOUS_RUNNING",false, Gauge.INDEFINITE,
Gauge.CONTINUOUS_RUNNING);
![Page 31: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/31.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 31/33
Item:ChoiceGroup
• LikeList – public ChoiceGroup(String label,int choiceType, String []
elements, Image[] imageElements)!• Choicetype
– EXCLUSIVE! – MULTIPLE! – MIDP 2.0: POPUP!
![Page 32: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/32.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 32/33
ChoiceGroupImages
String [] lista = {"suomi", "ruotsi"};
ChoiceGroup choicegroup = new ChoiceGroup("Valitse
maa", Choice.POPUP, lista, null);
![Page 33: Midlet Development J2ME](https://reader031.vdocuments.us/reader031/viewer/2022020803/5571ff7a49795991699d575f/html5/thumbnails/33.jpg)
5/14/2018 Midlet Development J2ME - slidepdf.com
http://slidepdf.com/reader/full/midlet-development-j2me 33/33
ItemsandEventHandling
• InsteadofusingCommandListeneryounow
useItemStateListener.
• Settheeventsourcetoformandthelistener
hastoimplementItemStateListenerinterface.• Theinterfacehasonlyonemethod:
– itemStateChanged(Item item)!• Example