Nauji komentarai
  • Mantas: Tiesa sneka, as tai kai Anglijoj buvau suzinojau. David Icke skaiciau. Tik labai idomu kodel Lietuvoj...
  • alfredas: hmm idomiai jus cia mastot.tai ne sapnu neseju kova.dabar pagalvok.primesk viskas taip ir yra tarp...
  • mantas: Na sis filmas visai ne apie blogu-geru sapnu kara. Sis filmas apie paralelaus pasaulio egzistavimo ideja....
  • Mindaugas: Na žinai, daugelis jo minÄių labai jau.. neįtikÄ—tinos, bet sudominti liaudį Å¡i paskaita visai tinka :)
  • RÅ«ta: Oh thank god somebody knows Michael Tsarion in Lithuania! :) Skleiskit, Å¡vieskit žmones. AÄiÅ«!

j2me how to?

Sveiki, pagalvojau, kad gal reiktų parašyti ir ką nors naudingesnio nei tik filmų apžvalga :) . Tai jeigu kam nors įdomu programavimas ir dar jeigu jis skirtas mobiliajam telefonui, bet nežinot kaip pradėt, tai šis postas gali būt naudingas :)   .

Truputis intro.. Java savo gyvenime esu lietÄ™s, bet taip nieko rimto.. laboratoriniai universitete.. ir beveik viskas, nebent dar kokia pagalba vienam ar kitam draugui ar koks mažas appletukas, tik pasižiÅ«rÄ—jimui kaip kas veikia. Taigi moku susikompiliuot javos kodÄ… su javac.. bet gi Äia java se mÄ…stau sau tyliai.. o kaip reiktu sukompiliuot kodÄ… skirtÄ… java me?


Vienas pažįstamas iÅ¡sakÄ— norÄ… turÄ—ti gan paprastÄ… java me programÄ—le, o aÅ¡ nusprendžiau jÄ… realizuoti.. Pradžioj greit sugooglinau kaip kompiliuotis kodÄ… ir t.t. ir žiÅ«riu, kad daug kas naudoja Sun Java Wireless Toolkit. Taigi begu tiesiai pas Sun ir parsisiunÄiu naujausia final releasÄ…. SpÄ—ju su juo surašė ir Java ME SDK, nes lyg ir neturÄ—jau jo turÄ—ti. Suinstallinau programa, pasileidau ir kÄ… matau? Ogi toki vaizdÄ…:

Na žinoma intensyviai mygiu „New Project…“, suraÅ¡au naujos programos pavadinimus ir atidaro man API selection langÄ…, kur jau turÄ—Äiau rinktis savo busimos programÄ—les nustatymus. Target platform parinkta padefaultu MSA, pasižiÅ«riu, kad man tiek profilis MIDP 2.1  tiek konfigÅ«racija CLDC 1.1  tinka, tai daug negalvojÄ™s mygiu OK ir kÄ… man programa paraÅ¡o:

Creating project “testas”

Place Java source files in “C:\Users\DELL\j2mewtk\2.5.2\apps\testas\src”

Place application resource files in “C:\Users\DELL\j2mewtk\2.5.2\apps\testas\res”

Place application library files in “C:\Users\DELL\j2mewtk\2.5.2\apps\testas\lib”

Settings updated

Project settings saved

Hmz.. na nueinu pažiÅ«rÄ—t kas gi tam source folderyje J Ogi nieko. Na, galvoju reik susikurt naujÄ… java failÄ…, kurdamas projectÄ… įraÅ¡iau Midletclass vardÄ…, tai tÄ… patį naudoju ir Äia, o žinodamas, kad java mÄ—gsta failo vardo ir klasÄ—s vardo vienatvÄ™ sukuriu failÄ… testas.java. PasižiÅ«rÄ—jÄ™s kelis pavyzdžius pamatau, kad mano nauja klasÄ— turÄ—tų paveldÄ—t MIDlet klasÄ™ todÄ—l reikÄ—s jÄ… įsiimportint, tai pat reikÄ—s  LCDUI klases, kad galÄ—tume manipuliuot Display klase ir atvaizduoti tekstÄ… ekrane. Programos kodas:

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class testas extends MIDlet {

public testas (){}

public void startApp(){

Display.getDisplay(this).setCurrent(new TextBox (“”,”Paptastas  sveikas pasauli”,20,0));

}

public void pauseApp(){}

public void destroyApp(boolean unconditional){}

}

Kaip matot paveldint MIDlet klasę reikia perrašyti startApp, pauseApp ir destroyApp metodus. Na parašęs ir išsaugojęs failą paspaudžiu build, po to run ir ant stimuliatoriaus pamatau, kad programa iš tikro išvedė tekstą textboxe :)

Nudžiugęs begu į bin direktorija ieškot jar failo ir išbandyt ant tikro telefono.. o ten jo nėra :( Še tau ir spjūvis į akis :D bin direktorijoje tik manifest failas ir kažkoks netikęs jad, rodantis i neesamą jar su blogom reikšmėmis J. Bet classes kataloge mano klasė sukurta.. tai jar failiuką pasigaminu rankomis į cmd sutaipinęs:

jar cmf MANIFEST.MF testas.jar -C ..\classes

Ir štai turiu jar failiuką kuris veikia mano telefone.. Jeigu jūsų telefonas neinstallina java programų iš jar failo prie viso šito jums reikės parsisiųsti ir kokį nors JAD makerį, kuris iš jar failiuko sugeneruotų jad arba atsidarykit esamą jad failiuką su teksto redaktoriumi ir pakeiskit tinkamai dydžio reikšmę :)

Tai tiek šiam kartui, tikiu yra ir paprastesniu būdų padaryt tai, ką padariau, bet aš išbandžiau šitą ir apie jį jums papasakojau.

P.S. Kartu su programa parsiunÄiami ir kodo pavyzdžiai.. pvz bluetooth valdymo pvz, teksto iÅ¡vedimo ar grafikos.

Komentuoti