Introduction
J2ME permet la connexion rseau un mobile. Donc il est possible de faire des mises jour des transaction et des stock travers le mobile phone. javax.microedition.io:package permet la connexion un rseau. java.io : package permet de lire et crire le flux.
1/30
Catgories
J2ME networking a 3 categories:
Low-level IP networking HTTP networking Secure networking
2/30
Low-level IP networking
Cette catgories est utilise pour les socket, datagram, serial port, et fichier I/O communication. Socket-based communication conforme la connexion oriente TCP/IP protocol. Datagram-based communication conforme la connexion oriente UDP/IP protocol. Eq: Une URL pour une connexion datagramme pour lenvoi un serveur en utilisant le port 1234 datagram://123.456.789.12:1234 Low-level IP networking peut aussi utiliser une MIDlet pour utiliser le port srie.
3/30
4/30
5/30
9/30
10/30
public class Midletconnexion extends MIDlet { Display disp; HttpConnection hc; DataInputStream dc; String url="http://localhost/a.txt"; StringBuffer str=new StringBuffe (""); Form f1=new Form("Affichage");
11/30
13/30
HTTP request est accompan par des informations passs au serveur pour valider la requte.
14/30
PHP
PHP sert avant tout obtenir des sites Web dynamiques Avant de commencer coder en PHP, il est trs important de comprendre comment cela fonctionne. Il faut savoir que lorsque vous tapez une URL (adresse de site internet) depuis votre navigateur (appel client) vous demandez en fait un serveur de vous retourner une page.
15/30
PHP
Les donnes envoys au serveur doit tre en valeur pair : nom la valeur associe au nom. Le nom et la valeur doit tre separer par (=). Les pairs de valeur et lurl sont spars par (?). Les variables sont spares par (&). Lespace est converti en singe (+) . Par exemple, cette requte est envoy avaec 2 parameters: pOne="one bit" et pTwo="two" http://localhost/simple?pOne=one+bit&pTwo=two
16/30
THREAD
Utiliss pour faire du multitche: Pendant la lecture dune vido, linterface graphique dune application est fonctionnelle lors dune animation ont peut couter la musique.
17/30
THREAD
Thread = unit d'excution faisant partie d'un programme. Cette unit fonctionne de faon autonome et paralllement d'autres Threads. chaque unit se voit attribuer des intervalles de temps au cours desquels elles ont le droit d'utiliser le processeur pour accomplir leurs traitements
18/30
THREAD
Un programme (ou partie dun programme) java peut tre mis sous un Thread. Le principal avantage des Threads est de pouvoir rpartir diffrents traitements d'un mme programme en plusieurs units distinctes pour permettre leur excution"simultane".
19/30
THREAD
La classe java.lang.Thread et l'interface java.lang.Runnable sont les bases pour le dveloppement des Threads en java. Par exemple, pour excuter des Midlets dans un thread,il faut que celles ci implmentent l'interface Runnable.
20/30
21/30
22/30
Exemple 2 :
23/30
Exemple 2 :
import javax.microedition.midlet.*; import javax.microedition.io.*; import java.io.*; import java.lang.Thread.*; import javax.microedition.lcdui.*; public class Midletconnexionphp extends MIDlet implements Runnable,CommandListener{ Display disp=Display.getDisplay(this); Form f=new Form("login"); Form f1=new Form("test"); TextField nom=new TextField("nom", null, 10,TextField.ANY); TextField password=new TextField("password", null, 10,TextField.ANY|TextField.PASSWORD); Command ok=new Command("ok",Command.SCREEN,1 ); public void startApp() { f1.append("votre test est valide"); f.append(nom); f.append(password); f.addCommand(ok); f.setCommandListener(this); disp.setCurrent(f); }
24/30
Exemple 2 :
public void pauseApp() { } public void destroyApp(boolean unconditional) { }
public void run() { HttpConnection hc; DataInputStream dc; StringBuffer str=new StringBuffer(""); String url="http://localhost/login.php?"; String nom1,pwd,parametre; nom1=nom.getString(); pwd=password.getString(); parametre="name="+nom1+"&password="+pwd.replace(' ','+'); try { hc = (HttpConnection) Connector.open(url+parametre); dc=new DataInputStream(hc.openInputStream()); int ch; while((ch=dc.read())!=-1) { str.append((char)ch); } } catch (IOException ex) { ex.printStackTrace();}
25/30
Exemple 2 :
String resultat=str.toString().trim(); if(resultat.equals("OK")) { disp.setCurrent(f1); nom.setString(""); password.setString(""); } else{ Alert a1=new Alert("Error connexion", "try again", null, AlertType.ALARM); a1.setTimeout(Alert.FOREVER); disp.setCurrent(a1, f); }}
public void validate(){ Thread t=new Thread(this); t.start(); } public void commandAction(Command c, Displayable d) { if(c==ok) validate()}
}
26/30
27/30
30/30