Announcement

Collapse
No announcement yet.

J2ME auf Windows Mobile

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • J2ME auf Windows Mobile

    Hey Leute,
    ich möchte seit längerem mal für mein handy ein paar kleine Programme schreiben, ich hab das Touch Diamond 2 von HTC mit Windows Mobile, nun möchte ich aber keine hunderte von Euro für die Entwicklungs Studios von Microsoft ausgeben um die "cab" Dateien für Windows Mobile entwickeln ...
    Deswegen habe ich es mit J2ME versucht und mittels Netbeans einfach mal ein simpeles "Hallo Welt" Middlet erstellt ... Wenn ich das jedoch auf meinem Handy test wirft mir das nur folgende Fehlermedlung raus... :

    "Mobile Application1 funktioniert nicht mit diesem Gerät und kann nicht installiert werden. - 40"

    Könnt ihr mir helfen ? Was mache ich falsch ? Liegt das an dem Program oder irgendwie an Windows Mobile bzw an der Java Version die dadrauf ist ?
    Hier der Source von dem Programm (von Netbeans erzeugt) :

    Code:
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    package hello;
    
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    
    /**
     * @author Max
     */
    public class HelloMIDlet extends MIDlet implements CommandListener {
    
        private boolean midletPaused = false;
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Fields ">//GEN-BEGIN:|fields|0|
        private Command exitCommand;
        private Form form;
        private StringItem stringItem;
        //</editor-fold>//GEN-END:|fields|0|
    
        /**
         * The HelloMIDlet constructor.
         */
        public HelloMIDlet() {
        }
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Methods ">//GEN-BEGIN:|methods|0|
        //</editor-fold>//GEN-END:|methods|0|
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Method: initialize ">//GEN-BEGIN:|0-initialize|0|0-preInitialize
        /**
         * Initilizes the application.
         * It is called only once when the MIDlet is started. The method is called before the <code>startMIDlet</code> method.
         */
        private void initialize() {//GEN-END:|0-initialize|0|0-preInitialize
            // write pre-initialize user code here
    //GEN-LINE:|0-initialize|1|0-postInitialize
            // write post-initialize user code here
        }//GEN-BEGIN:|0-initialize|2|
        //</editor-fold>//GEN-END:|0-initialize|2|
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Method: startMIDlet ">//GEN-BEGIN:|3-startMIDlet|0|3-preAction
        /**
         * Performs an action assigned to the Mobile Device - MIDlet Started point.
         */
        public void startMIDlet() {//GEN-END:|3-startMIDlet|0|3-preAction
            // write pre-action user code here
            switchDisplayable(null, getForm());//GEN-LINE:|3-startMIDlet|1|3-postAction
            // write post-action user code here
        }//GEN-BEGIN:|3-startMIDlet|2|
        //</editor-fold>//GEN-END:|3-startMIDlet|2|
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Method: resumeMIDlet ">//GEN-BEGIN:|4-resumeMIDlet|0|4-preAction
        /**
         * Performs an action assigned to the Mobile Device - MIDlet Resumed point.
         */
        public void resumeMIDlet() {//GEN-END:|4-resumeMIDlet|0|4-preAction
            // write pre-action user code here
    //GEN-LINE:|4-resumeMIDlet|1|4-postAction
            // write post-action user code here
        }//GEN-BEGIN:|4-resumeMIDlet|2|
        //</editor-fold>//GEN-END:|4-resumeMIDlet|2|
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Method: switchDisplayable ">//GEN-BEGIN:|5-switchDisplayable|0|5-preSwitch
        /**
         * Switches a current displayable in a display. The <code>display</code> instance is taken from <code>getDisplay</code> method. This method is used by all actions in the design for switching displayable.
         * @param alert the Alert which is temporarily set to the display; if <code>null</code>, then <code>nextDisplayable</code> is set immediately
         * @param nextDisplayable the Displayable to be set
         */
        public void switchDisplayable(Alert alert, Displayable nextDisplayable) {//GEN-END:|5-switchDisplayable|0|5-preSwitch
            // write pre-switch user code here
            Display display = getDisplay();//GEN-BEGIN:|5-switchDisplayable|1|5-postSwitch
            if (alert == null) {
                display.setCurrent(nextDisplayable);
            } else {
                display.setCurrent(alert, nextDisplayable);
            }//GEN-END:|5-switchDisplayable|1|5-postSwitch
            // write post-switch user code here
        }//GEN-BEGIN:|5-switchDisplayable|2|
        //</editor-fold>//GEN-END:|5-switchDisplayable|2|
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Method: commandAction for Displayables ">//GEN-BEGIN:|7-commandAction|0|7-preCommandAction
        /**
         * Called by a system to indicated that a command has been invoked on a particular displayable.
         * @param command the Command that was invoked
         * @param displayable the Displayable where the command was invoked
         */
        public void commandAction(Command command, Displayable displayable) {//GEN-END:|7-commandAction|0|7-preCommandAction
            // write pre-action user code here
            if (displayable == form) {//GEN-BEGIN:|7-commandAction|1|19-preAction
                if (command == exitCommand) {//GEN-END:|7-commandAction|1|19-preAction
                    // write pre-action user code here
                    exitMIDlet();//GEN-LINE:|7-commandAction|2|19-postAction
                    // write post-action user code here
                }//GEN-BEGIN:|7-commandAction|3|7-postCommandAction
            }//GEN-END:|7-commandAction|3|7-postCommandAction
            // write post-action user code here
        }//GEN-BEGIN:|7-commandAction|4|
        //</editor-fold>//GEN-END:|7-commandAction|4|
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Getter: exitCommand ">//GEN-BEGIN:|18-getter|0|18-preInit
        /**
         * Returns an initiliazed instance of exitCommand component.
         * @return the initialized component instance
         */
        public Command getExitCommand() {
            if (exitCommand == null) {//GEN-END:|18-getter|0|18-preInit
                // write pre-init user code here
                exitCommand = new Command("Exit", Command.EXIT, 0);//GEN-LINE:|18-getter|1|18-postInit
                // write post-init user code here
            }//GEN-BEGIN:|18-getter|2|
            return exitCommand;
        }
        //</editor-fold>//GEN-END:|18-getter|2|
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Getter: form ">//GEN-BEGIN:|14-getter|0|14-preInit
        /**
         * Returns an initiliazed instance of form component.
         * @return the initialized component instance
         */
        public Form getForm() {
            if (form == null) {//GEN-END:|14-getter|0|14-preInit
                // write pre-init user code here
                form = new Form("Welcome", new Item[] { getStringItem() });//GEN-BEGIN:|14-getter|1|14-postInit
                form.addCommand(getExitCommand());
                form.setCommandListener(this);//GEN-END:|14-getter|1|14-postInit
                // write post-init user code here
            }//GEN-BEGIN:|14-getter|2|
            return form;
        }
        //</editor-fold>//GEN-END:|14-getter|2|
    
        //<editor-fold defaultstate="collapsed" desc=" Generated Getter: stringItem ">//GEN-BEGIN:|16-getter|0|16-preInit
        /**
         * Returns an initiliazed instance of stringItem component.
         * @return the initialized component instance
         */
        public StringItem getStringItem() {
            if (stringItem == null) {//GEN-END:|16-getter|0|16-preInit
                // write pre-init user code here
                stringItem = new StringItem("Hello", "Hello, World!");//GEN-LINE:|16-getter|1|16-postInit
                // write post-init user code here
            }//GEN-BEGIN:|16-getter|2|
            return stringItem;
        }
        //</editor-fold>//GEN-END:|16-getter|2|
    
        /**
         * Returns a display instance.
         * @return the display instance.
         */
        public Display getDisplay () {
            return Display.getDisplay(this);
        }
    
        /**
         * Exits MIDlet.
         */
        public void exitMIDlet() {
            switchDisplayable (null, null);
            destroyApp(true);
            notifyDestroyed();
        }
    
        /**
         * Called when MIDlet is started.
         * Checks whether the MIDlet have been already started and initialize/starts or resumes the MIDlet.
         */
        public void startApp() {
            if (midletPaused) {
                resumeMIDlet ();
            } else {
                initialize ();
                startMIDlet ();
            }
            midletPaused = false;
        }
    
        /**
         * Called when MIDlet is paused.
         */
        public void pauseApp() {
            midletPaused = true;
        }
    
        /**
         * Called to signal the MIDlet to terminate.
         * @param unconditional if true, then the MIDlet has to be unconditionally terminated and all resources has to be released.
         */
        public void destroyApp(boolean unconditional) {
        }
    
    }

  • #2
    Was für eine Datei hast du versucht auf dem Handy zu installieren?

    EDIT:

    40=
    Auf die Hardware kann nicht zugegriffen werden, weil die Dienstschlüsselinformationen
    in der Registrierung fehlen oder nicht richtig eingetragen wurden.
    Installieren Sie den Treiber neu.


    Wie hast du das zu installieren versucht?
    Zuletzt editiert von Christian Marquardt; 16.02.2010, 16:04.
    Christian

    Comment


    • #3
      Ich habe das mit Netbeans halt zu einer Jar Datei zusamen gepackt und dann auf mein Handy übertragen ... Auf dem Handy ist eine Software von Esmertec drauf und wenn ich dann mittem doppelklick auf die JAR datei im Dateibrowser gehe öffnet sich dias von Esmertec und versucht die JAR datei zu "installieren" nur dann wirft de rmit halt den Fehler raus...

      EDIT:
      Hier ist die Software zu finden :

      Esmertec Software

      Gibt es sonst gute alternativen für Windows Mobile ?
      Zuletzt editiert von Max-M; 16.02.2010, 16:23.

      Comment

      Working...
      X