PDA

Pogčedajte punu verziju : [Java] Kako napraviti aplikaciju za mobilni telefon?


Nemanja Avramović
08. 03. 2008., 13:21
Zdravo svima,
u školi (Viša ICT) imam predmet Java 1 gde se upoznajemo sa Javom i uopšte objektnim programiranjem, i sve što radimo u školi jesu konzolne aplikacije. Ja sam napravio neku svoju klasu za neka izračunavanja gde koristim standardne tipove podataka (String, integer, ...) i jednu konzolnu aplikaciju i sve to radi lepo. Onda idem na File/New project pa izaberem MIDP application jer želim da napravim sličnu aplikaciju za mobilni telefon, i onu default (Hello world) aplikaciju pokrenem i ona se lepo izvršava u emulatoru. Međutim, kada svoju klasu prebacim u taj package svuda gde koristim String.split(), String.contains(), new Integer(), ... mi prijavljuje sledeće greške:

http://img380.imageshack.us/img380/7941/errhu1.png

Kontam da treba nekako da mu "kažem" da treba da u projekat uključi i te standardne klase (šta li su već :)), String, Integer, itd... ali tek mesec-dva radim sa Javom (i to uglavnom samo u školi) i nikad se nisam susretao sa ovim, pa bi mi bilo kakva pomoć dobro došla.

Hvala unapred,
Nemanja

p.s. Koristim NetBeans 6.0

Gruja
08. 03. 2008., 13:46
Java za mobilne podrzava samo podskup Java jezika. Kad sam se bavio time pre 3-4 godine nije npr. imala float i double. Isto je i sa standardnom bibliotekom - samo mali deo standardnih klasa je podrzan.
Trazi J2ME ako te zanima nesto vise.

Nemanja Avramović
08. 03. 2008., 13:55
Damn... onda ništa od moje java aplikacije za mob :D

Dzordz
08. 03. 2008., 13:56
Imas plugin za NetBeans, mobility ili tako nesto. Tu ti je sve sa simulatorom za NB.

Nemanja Avramović
08. 03. 2008., 14:02
Pa mislim da imam to, jer imam simulator (pojavi se telefon i tako to :)) i kao što rekoh, default hello world mobile aplikacija mi radi.

nixa
08. 03. 2008., 14:12
a mozes i da skines Android SDK za Eclipse :)

srdjan
08. 03. 2008., 14:19
. Međutim, kada svoju klasu prebacim u taj package svuda gde koristim String.split(), String.contains(), new Integer(), ... mi prijavljuje sledeće greške:

String i Integer klase su tu, ali, kao sto ti je kompajler rekao nedostaju metodi:

contains() ... koristi String.indexOf(String)

new Integer(String) ... koristi new Integer.valueOf(String)

String.split() ces morati sam da iskodiras, ovo je resenje koje ja koristim:


/**
* Split string into multiple strings
* @param original Original string
* @param separator Separator string in original string
* @return Splitted string array
*/
public static String[] split(String original, String separator, boolean includeEmpty)
{
Vector nodes = new Vector();

// Parse nodes into vector
int index = original.indexOf(separator);
while(index>=0)
{
String subs = original.substring(0, index);
if (subs.length() > 0 || includeEmpty)
nodes.addElement( subs );
original = original.substring(index+separator.length());
index = original.indexOf(separator);
}

// Get the last node
if (original.length() > 0 || includeEmpty)
nodes.addElement( original );

// Create splitted string array
String[] result = new String[ nodes.size() ];
if( nodes.size()>0 )
{
for(int loop=0; loop<nodes.size(); loop++)
result[loop] = (String)nodes.elementAt(loop);
}
return result;
}


Sto se tice float/double, oni su deo CLDC 1.1 konfiguracije tako da mozes racunati da uglavnom postoje, ali recimo neki telefoni tipa 6600 ili raniji RAZR-i su 1.0, pa nece raditi.

Postoje i "rucno" kodirana resenja za realne brojeve, na primer http://real-java.sourceforge.net/Real.html

Nemanja Avramović
08. 03. 2008., 14:42
Hvala na odgovoru. Pokušaću da izmenim svoj kod tako da koristim ovo što "valja" :)