J2ME

J2ME : Java 2 Platform Micro Edition.
Жижиг төхөөрөмжүүдийг програмчлахад хэрэглэгдэнэ.
—————————————————————————-
1998 онд Sun лабд Spotless хэмээх төсөл эхэлсэн.
Зорилго: Java хэлний маш хязгаарлагдмал нөөцтэй системүүдэд (гар утас) хэрэглэх боломжтой хувилбарыг гаргах явдал.
Энэ төсөл нь эхний үед зөвхөн судалгааны ажил байсан боловч Motorola компаны нөлөөгөөр уг төслийг бодит систем болгосон.
Төслийн үр дүнд
KVM буюу K Virtual Machine хувилбар гарч ирсэн.

Нэгэнт Motorola, Nokia, NTT DoCoMo, Palm Computing, RIM, Siemens болон бусад корпорациуд KVM –г сонирхож эхэлсэн тул Java – ийн стандартчлалыг бий болгох шаардлагатай болсон.
Тэгэхгүй бол корпораци бүрт өөр өөр KVM-н имплиментаци үүсч утас хоорондын зөрчил улам ихсэх байв.
Стандартчлах ажилд 18 компани оролцон үүний үр дүнд CLDC стандарт бий болов (1999 оны 10 сард дууссан).
Энэ стандарт нь ямар нэг төхөөрөмжид тусгайлж зориулаагүй бөгөөд ямар ч төхөөрөмжид хэрэглэгдэх үндсэн асуудлуудыг тооцсон.
Дараачийн стандартчлалд 22 компани оролцон MIDP стандарт үүсэв. Энэ нь CLDC стандарт дээр тулгуурласан байсан (1999 оны 11 сар).
Энэ стандарт нь ялангуяа гар утаснуудад хэрэглэгдэх API нуудад гол анхаарлаа хандуулж өгсөн.

Responses

  1. Би энэ 1,2 демо тавина аа coming soon :P

  2. hi. gar utsan deerh buh togloom programiig eniig ashiglaj hiideg uu ene chin zugeer JAVA -gaasaa oor tusdaa hel u

  3. er tiim gej bodoj bna. teh adilha java l hel. nemelt gar utsand zoriulsan classuud ashiglana gesen ug.

  4. end bluetooth holboltiig ashiglaj bsan hun bnu? bga bol holbolt hiih source-oo ch ymuu eswel tailba hiij uguuch, please :)

  5. er ni bgaa shu hehe coming soon :D

  6. J2ME -н талаар мэдээлэл байвал зүгээр байна . Яаж ажилдаг талаар . Бас сайхан хэлэлцүүлэг байна шүү.

  7. ene ch harin dawgui ym bn aa gehdee eheleed enniihee talaar jaahan ch gsn tailbar ene ter hiij bolkunmuu bi dunguj anhlan suraltsaj bgaa gehuu de tiim bolohoor ene taliin ym haij ywnoo

  8. За тэгвэл нэг лекц тавилаа татаад аваарай

    http://share.gogo.mn/44763941237560414

  9. Хэрвээ та гар утсандаа англи – монгол толь суулгахыг хүсвэл
    http://share.gogo.mn/69730221236973482

  10. Tsolmon- Уучлаарай чи надад yahoo ID gaa өгөөч чамаас юм асуух гэсэн юм.

  11. xac_tsolmon@yahoo.com

  12. Цолмон лекц тавьсан байна. Үзсэн чинь манай сургуулийн лекц байлаа.
    Багш нар ерөнхийдөө дургүй л байдаг юм билээ.

  13. J2ME болон mySQL -ийг холбосон мааш жижигхэээн коод тавиад өгөөч

  14. import java.io.*;
    import java.util.*;
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    import javax.microedition.io.*;

    public class testMySQL extends MIDlet implements CommandListener {
    private String username;
    private String url =
    “http://localhost:8080/servlets-examples/servlet/getConnection”;

    private Display display;
    private Command exit = new Command(“EXIT”, Command.EXIT, 1);;
    private Command connect = new Command(“Connect”, Command.SCREEN, 1);
    private TextField tb;
    private Form menu;
    private TextField tb1;
    private TextField tb2;
    DB db;

    public testMySQL() throws Exception {
    display = Display.getDisplay(this);

    }

    public void startApp() {
    displayMenu();
    }

    public void displayMenu() {
    menu = new Form(“Connect”);

    tb = new TextField(“Please input database: “,”",30,
    TextField.ANY );

    tb1 = new TextField(“Please input username: “,”",30,
    TextField.ANY);

    tb2 = new TextField(“Please input password: “,”",30,
    TextField.PASSWORD);

    menu.append(tb);
    menu.append(tb1);
    menu.append(tb2);
    menu.addCommand(exit);
    menu.addCommand(connect);
    menu.setCommandListener(this);
    display.setCurrent(menu);
    }

    public void pauseApp() {}

    public void destroyApp(boolean unconditional) {}

    public void commandAction(Command command, Displayable screen) {
    if (command == exit) {
    destroyApp(false);
    notifyDestroyed();
    } else if (command == connect) {
    db = new DB(this);
    db.start();
    db.connectDb(tb.getString(),tb1.getString(),tb2.getString());
    }
    }

    public class DB implements Runnable {
    testMySQL midlet;
    private Display display;
    String db;
    String user;
    String pwd;
    public DB(testMySQL midlet) {
    this.midlet = midlet;
    display = Display.getDisplay(midlet);
    }

    public void start() {
    Thread t = new Thread(this);
    t.start();
    }

    public void run() {
    StringBuffer sb = new StringBuffer();
    try {
    HttpConnection c = (HttpConnection) Connector.open(url);
    c.setRequestProperty(
    “User-Agent”,”Profile/MIDP-1.0, Configuration/CLDC-1.0″);
    c.setRequestProperty(“Content-Language”,”en-US”);
    c.setRequestMethod(HttpConnection.POST);

    DataOutputStream os =
    (DataOutputStream)c.openDataOutputStream();

    os.writeUTF(db.trim());
    os.writeUTF(user.trim());
    os.writeUTF(pwd.trim());
    os.flush();
    os.close();

    // Get the response from the servlet page.
    DataInputStream is =(DataInputStream)c.openDataInputStream();
    //is = c.openInputStream();
    int ch;
    sb = new StringBuffer();
    while ((ch = is.read()) != -1) {
    sb.append((char)ch);
    }
    showAlert(sb.toString());
    is.close();
    c.close();
    } catch (Exception e) {
    showAlert(e.getMessage());
    }
    }
    /* This method takes input from user like db,user and pwd and pass
    to servlet */
    public void connectDb(String db,String user,String pwd) {
    this.db = db;
    this.user = user;
    this.pwd = pwd;
    }

    /* Display Error On screen*/
    private void showAlert(String err) {
    Alert a = new Alert(“”);
    a.setString(err);
    a.setTimeout(Alert.FOREVER);
    display.setCurrent(a);
    }

    };
    }
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;

    public class getConnection extends HttpServlet {

    public void init() {
    }

    public void doPost(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException {

    DataInputStream in = new DataInputStream(
    (InputStream)request.getInputStream());

    String db = in.readUTF();
    String user = in.readUTF();
    String pwd = in.readUTF();

    String message =”jdbc:mysql://localhost:3306/”+db+”,”+user+”,”+pwd;
    try {

    connect(db.toLowerCase().trim(),user.toLowerCase().trim(),
    pwd.toLowerCase().trim());

    message += “100 ok”;

    } catch (Throwable t) {
    message += “200 ” + t.toString();
    }
    response.setContentType(“text/plain”);
    response.setContentLength(message.length());
    PrintWriter out = response.getWriter();
    out.println(message);
    in.close();
    out.close();
    out.flush();
    }

    public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException {

    doPost(request,response);
    }

    /* This method connects to MYSQL database*/
    private void connect(String db, String user,String pwd)
    throws Exception {

    // Establish a JDBC connection to the MYSQL database server.
    //Class.forName(“org.gjt.mm.mysql.Driver”);
    Class.forName(“com.mysql.jdbc.Driver”).newInstance();
    Connection conn = DriverManager.getConnection(
    “jdbc:mysql://localhost:3306/”+db,user,pwd);

    // Establish a JDBC connection to the Oracle database server.
    //DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    //Connection conn = DriverManager.getConnection(
    // “jdbc:oracle:thin:@localhost:1521:”+db,user,pwd);

    // Establish a JDBC connection to the SQL database server.
    //Class.forName(“net.sourceforge.jtds.jdbc.Driver”);
    //Connection conn = DriverManager.getConnection(
    // “jdbc:jtds:sqlserver://localhost:1433/”+db,user,pwd);
    }
    }

  15. маш их баярлалаа

  16. localhost deer j2me mySQL 2g holboj boldoggui ym u zaaval servlet gej ym bh ystoi yu servlet gej yu ym bol tailbarlaad uguuch bi zugeer l localhost deer mySql baazas utga avah gesen boldoggui e

  17. JM2E chini hodolgoont tohooromj computerees tusdaa. chi bodood uz dee yaj computer deer bga mysql – iin shuuud localhost avj bhiin bodvoos. naadah chini utasnaas – GPR – ees ashiglasan internet dahi JSP SERVLET serverluu huseltee shideed huseltiig chini Server chini MySql ruu shideed butsaad yavsam zamaaraa hariu chini irne :D tegheer yavj servletgui bolohgui gesen ug. dundiiin guur server chini bhgu yu :D

  18. за ойлголоо тэгвэл JSP servlet яаж ашиглах вэ жишээлбэл мобикомын мобимедиа энэ янзаар ажилладаг гэж ойлгож болох уу

  19. client – jsp servlet – server – mysql gej oilgoj boloh uu

  20. chi sain uzvel ene talar bi oooroo hiigeeed tavitysan gar utasnii zuragtai medee bgaa. yaj connect ntr hiisen tuhai. client chini chiniii J2ME bhgui yu, j2me -> Servlet(JSP)->Mysql->servler(JSP)->j2me gesen ergeh holbooroi. mobimedie oor bh gej bodoj bna., zuger msg shig. :D

  21. HI Бөхөө чи хэлэлцүүлэг нээчээч. Тэгвэл их зүгээр бна бас ID хаягаа өгчих

  22. hi. hen be. manai blog chini ter chigeeree heleltsuuleg sh de. ID-g tosol gesen menu – ruu orood avaarai tnx

  23. Миний бодлоор MobiMedia өөр байхаа үүнийг Java Card аар програмчилдаг гэж бодож байна Энэ нь таны утасны sim card ийг програмчилдаг.

  24. Харин тийм байх

  25. Ta ene talaar neg alham alhamaar ni hicheel taviad uguuch teh u

  26. ok, gehdee chi unshij uzeed oilgohgui bolhooroo asuuj bna uu hehe er ni hiij uzsen ni l surna daa hiigeed connect daraad uz :D

  27. Энэ J2ME чинь их зүгээр эд бна гэхдээ нээх сайн оролдож үзээгүй болохоор та нарын бичсэнээс чинь хагас хугас ойлгосон болоод л бж бна даа. Цолмон тэр Лекцээ Rapidshare дээр дахиад тавиад өгөөч.

  28. дээр байгаа кодын getConnection гэдэг класс нь servlet дотор байрлах юм уу
    ямар үүрэгтэй класс юм бэ

  29. http://www.4shared.com/file/99069027/85379186/J2ME.html

    За энд J2ME гийн лекц байгаа сонирхсон хүн авч болно шүү

  30. hey yu bnda andaa
    chi java deer sain yum shig bn
    netbeans geed open source program bdag shde
    ternii talaar her medeh we

  31. ер нь бага сага мэднэ ш дэ

  32. надад гар утасны нэг жижигхэн тоглоомны source cod байвал өгөөч өрнөөс салмаар байна

  33. Servlet дээр midlet-ээс бичсэн зүйлийг яаж унших вэ?

    readUTF writeUTF ашиглах юм уу дээрх кодонд байгаа шиг ашиглахаар болохгүй байна өөр арга байдаг уу?
    Туслаач

  34. тийм тэгж уншина. Наад код чинь яг ажилладаг код ш дээ. sad аа блог дээр тоглоомны source байгаа

  35. Midlet : ——
    Form f;
    public void startApp()
    {
    try{
    f=new Form(“Hello”);
    HttpConnection hc=(HttpConnection)Connector.open(“http://localhost:808/latest/servletName”);
    hc.setRequestMethod(HttpConnection.POST);

    InputStream is=hc.openInputStream();
    byte[] b=new byte[100];
    while(is.read()!=-1)
    is.read(b);
    String s=b.toString();
    f.setTicker(new Ticker(s));
    }
    catch(Exception e)
    {
    e.printStackTrace();

    }
    }

    public void pauseApp()
    {
    }
    public void destroyApp(boolean a)
    {
    }

  36. Servlet :

    public void doGet(HttpServletRequest req,HttpServletResponse resp)
    {
    try{

    String s=”World will end tomorrow.”;
    ServletOutputStream s1=resp.getOutputStream();
    byte[] b=s.getBytes();
    s1.write(b,0,b.length-1);

    }
    catch(Exception e)
    {
    }

    Гэх маягаар л унших юм шиг байна даа.

  37. сайн байна уу?. netbeans дээр mobile client-тэй webapplication бичих project үүсгэх гэсэн чинь No valid method is available in this project гэсэн алдаа заагаад байхийн яах ёстой юм бол туслаач.

  38. Сайн уу? Энэ source code нь J2ME – г ямар нэг сервертэй холбох жишээ юм. Та на хэрэвээ Java дээр юм хийдэг бол http://www.java-tips.org ер нь дажгүй сайт байна лээ шүү…

    import java.io.*;
    import java.util.*;
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    import javax.microedition.io.*;

    public class testMySQL extends MIDlet implements CommandListener {
    private String username;
    private String url =
    “http://localhost:8080/servlets-examples/servlet/getConnection”;

    private Display display;
    private Command exit = new Command(”EXIT”, Command.EXIT, 1);;
    private Command connect = new Command(”Connect”, Command.SCREEN, 1);
    private TextField tb;
    private Form menu;
    private TextField tb1;
    private TextField tb2;
    DB db;

    public testMySQL() throws Exception {
    display = Display.getDisplay(this);

    }

    public void startApp() {
    displayMenu();
    }

    public void displayMenu() {
    menu = new Form(”Connect”);

    tb = new TextField(”Please input database: “,””,30,
    TextField.ANY );

    tb1 = new TextField(”Please input username: “,””,30,
    TextField.ANY);

    tb2 = new TextField(”Please input password: “,””,30,
    TextField.PASSWORD);

    menu.append(tb);
    menu.append(tb1);
    menu.append(tb2);
    menu.addCommand(exit);
    menu.addCommand(connect);
    menu.setCommandListener(this);
    display.setCurrent(menu);
    }

    public void pauseApp() {}

    public void destroyApp(boolean unconditional) {}

    public void commandAction(Command command, Displayable screen) {
    if (command == exit) {
    destroyApp(false);
    notifyDestroyed();
    } else if (command == connect) {
    db = new DB(this);
    db.start();
    db.connectDb(tb.getString(),tb1.getString(),tb2.getString());
    }
    }

    public class DB implements Runnable {
    testMySQL midlet;
    private Display display;
    String db;
    String user;
    String pwd;
    public DB(testMySQL midlet) {
    this.midlet = midlet;
    display = Display.getDisplay(midlet);
    }

    public void start() {
    Thread t = new Thread(this);
    t.start();
    }

    public void run() {
    StringBuffer sb = new StringBuffer();
    try {
    HttpConnection c = (HttpConnection) Connector.open(url);
    c.setRequestProperty(
    “User-Agent”,”Profile/MIDP-1.0, Configuration/CLDC-1.0″);
    c.setRequestProperty(”Content-Language”,”en-US”);
    c.setRequestMethod(HttpConnection.POST);

    DataOutputStream os =
    (DataOutputStream)c.openDataOutputStream();

    os.writeUTF(db.trim());
    os.writeUTF(user.trim());
    os.writeUTF(pwd.trim());
    os.flush();
    os.close();

    // Get the response from the servlet page.
    DataInputStream is =(DataInputStream)c.openDataInputStream();
    //is = c.openInputStream();
    int ch;
    sb = new StringBuffer();
    while ((ch = is.read()) != -1) {
    sb.append((char)ch);
    }
    showAlert(sb.toString());
    is.close();
    c.close();
    } catch (Exception e) {
    showAlert(e.getMessage());
    }
    }
    /* This method takes input from user like db,user and pwd and pass
    to servlet */
    public void connectDb(String db,String user,String pwd) {
    this.db = db;
    this.user = user;
    this.pwd = pwd;
    }

    /* Display Error On screen*/
    private void showAlert(String err) {
    Alert a = new Alert(””);
    a.setString(err);
    a.setTimeout(Alert.FOREVER);
    display.setCurrent(a);
    }

    };
    }
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;

    public class getConnection extends HttpServlet {

    public void init() {
    }

    public void doPost(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException {

    DataInputStream in = new DataInputStream(
    (InputStream)request.getInputStream());

    String db = in.readUTF();
    String user = in.readUTF();
    String pwd = in.readUTF();

    String message =”jdbc:mysql://localhost:3306/”+db+”,”+user+”,”+pwd;
    try {

    connect(db.toLowerCase().trim(),user.toLowerCase().trim(),
    pwd.toLowerCase().trim());

    message += “100 ok”;

    } catch (Throwable t) {
    message += “200 ” + t.toString();
    }
    response.setContentType(”text/plain”);
    response.setContentLength(message.length());
    PrintWriter out = response.getWriter();
    out.println(message);
    in.close();
    out.close();
    out.flush();
    }

    public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException {

    doPost(request,response);
    }

    /* This method connects to MYSQL database*/
    private void connect(String db, String user,String pwd)
    throws Exception {

    // Establish a JDBC connection to the MYSQL database server.
    //Class.forName(”org.gjt.mm.mysql.Driver”);
    Class.forName(”com.mysql.jdbc.Driver”).newInstance();
    Connection conn = DriverManager.getConnection(
    “jdbc:mysql://localhost:3306/”+db,user,pwd);

    // Establish a JDBC connection to the Oracle database server.
    //DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    //Connection conn = DriverManager.getConnection(
    // “jdbc:oracle:thin:@localhost:1521:”+db,user,pwd);

    // Establish a JDBC connection to the SQL database server.
    //Class.forName(”net.sourceforge.jtds.jdbc.Driver”);
    //Connection conn = DriverManager.getConnection(
    // “jdbc:jtds:sqlserver://localhost:1433/”+db,user,pwd);
    }
    }

  39. сайн уу надад j2me дээр дуу хэрхэн тоглуулах талаар зөвлөгөө өгөөч мөн жижигхэн жишээ код байвал тавьж өгөөч

    баярлалаа

  40. public void run()
    {
    try
    {
    InputStream is = getClass().getResourceAsStream(“/your.mp3″);
    player = Manager.createPlayer(is,”audio/mpeg”);

    player.realize();
    // get volume control for player and set volume to max
    vc = (VolumeControl) player.getControl(“VolumeControl”);
    if(vc != null)
    {
    vc.setLevel(100);
    }
    player.prefetch();
    player.start();
    }
    catch(Exception e)
    {}
    }

  41. баярлалаа

  42. сайн уу?

    midlet дээр тоглоом маягийн нэг зүйл хийж байгаа юм аа, тэгсэн тэрийгээ өөр өөр утсан дээр суулгахаар заримынх нь дэлгэцэнд багадаад, зарим дээр нь тал нь гарахгүй байхын, энийг яаж тохируулах вэ???

    туслаач…

  43. fullscreen хийнэ дээ. Учир нь утас чинь өргөн нарийн дэлгэцийн хэмжээ янз янз ш дээ.

  44. fullscreen хийж байгаа тэгсэн ч гэсэн болохгүй байгаа юм аа. тухайн утасны дэлгэцийн урт өргөнийг аваад зуралтандаа ашиглах ёстой юм болов уу

  45. Hi

  46. Би бас нэг app хийсэнл дээ Тэгээд яг дээрх асуудал тулгарсан юм. Ер нь чиний санаа зөв байна. би энд яаж шийдсэнээ бичжи

    int width = getWidth();
    int height = getHeight();
    тухайн утасны screen -ний урт , өргөнийг аваад
    Canvas aa зурахдаа set хийж өгнө
    Энэ нь background-image байгаа тохиолдолд.

  47. баярлалаа :)

  48. end bluetooth holboltiig ashiglaj bsan hun bnu? bga bol holbolt hiih source-oo ch ymuu eswel tailba hiij uguuch, please :)

  49. hi. end bluetooth holboltiig ashiglaj bsan hun bnu? bga bol holbolt hiih source-oo ch ymuu eswel tailba hiij uguuch, please :)

  50. http://www.codeguru.com/java/article.php/c13147/
    эндээс хэрэгтэй зүйлээ олох байх гэж найдаж байна.

  51. Снуу? Таны блогоор сүүлийн үед их орж байгаа саяхан нет-еес юм хайж байгаад мэдэж авлаа. Ер нь их хэрэгтэй гоё блог байнаа хүмүүстэй ингэж ярилцаж байгаа Монголын програм хангамжийн ирээдүйн хөгжилд их тус болж байгаа байх гэж бодож байна баярлалаа. Танд j2me-дээр бичсэн эсвэл 3 хэмжээстийн (3D)-ийн хичээл бнуу? Эсвэл мэддэг гадаад дажгүй сайт ч юмуу байвал хэлж өгч туслаач. thx

  52. http://www.codemiles.com/java/j2me-tutorial-for-3d-t110.html
    Энэ их зүгээр форум байна. source энэ тэрийг нь татаад авахгүй юу.

  53. Манай цолмон бол J2ME – д сайн шүү :)

  54. :D

  55. Hi, j2me -iin mongol hicheeliig ahiad taviad uguuch.

  56. http://www.scribd.com/doc/19835756/J2ME

  57. энэ хүний юмийг ингэж хамаагүй тавьж болж байгаа юм уу цолмоон

  58. Өөрөө ингэж тавьсаныг нь бодвол болох л байлгүй дээ.

  59. j2me дээр opengl хэрхэн ашиглах вэ?
    энэ талаар жишээ ч юм уу эсвэл зөвлөгөө өгөөч

  60. netbeans ide deer record store gej ugugdul hadgalah class bdag gesen teriig yaj ahshiglah we jishee code bwal tuslaach


Leave a response

Your response: