Προς το περιεχόμενο

midlet (java)


Evgenios1

Προτεινόμενες αναρτήσεις

Δημοσ.

Ελεος~~~~~~

Εδω και 5 μερες παλευω να φτιαξω ενα προγ στο κινιτο μου με το οποιο θα βαζω τοις υπερωριες μου , και ολλα τα σχετικα.... Και εκει που τελιοσα ΜπΑΜ δε δουλευει στο κινιτο! Ενω στο emulator ειναι ρολοϊ !!!

 

Το προβλημα το βρικα, αλα οχι τη λυση.....

Το προβλημα:

Εχω 3 textfield...

με τα οποια κανω τα εξεις(σχιματηκα το γρφω)

textfield1

+

textfield2

=

textfield

......

Στο emulator δουλευει GG αλα στο κινιτο @@

Δημοσ.

1) Φίλτατε Evgenios1, καταρχάς να σου δώσω congrats για το γεγονός ότι αποφάσισες να υλοποιήσεις μόνος σου μια εφαρμογή που χρησιμεύει στην καθημερινότητά σου! Geeks όλου του κόσμου ενωθείτε!

 

2) I feel your pain σχετικά με τον emulator. Την έχω πατήσει και εγώ. Δυστυχώς, ο emulator κάνει αυτό ακριβώς που λέει, δηλαδή emulate... Για μεγαλύτερη προσέγγιση της πραγματικότητας μπορείς να δοκιμάσεις το αντίστοιχο SDK της εταιρείας της συσκευής. Για παράδειγμα, οι μεγάλες εταιρείες (Nokia, Motorola, Ericsson) παρέχουν SDKs που σε βοηθούν στο development. Εγγράφεσαι και κατεβάζεις.

 

3) Σχετικά με το προβλημά σου, δεν κατάλαβα ποιο είναι το πρόβλημα. Δε γίνεται σωστά rendered το interface? Δε γίνονται σωστά οι πράξεις? Τι? Αν δεν έχεις πρόβλημα, πόσταρε και κώδικα να δούμε τι παίζει.

 

4) Θα στη σπάσω λίγο, αλλά πρέπει να βελτιώσεις λίγο την ορθογραφία σου, μας πέθανες...

Δημοσ.

κατσε να κανω τα copy paste

Το προβλημα το εχω σε ενα tool (το οποιο σου βγαζει την υπερωρια )

>
   private void OnOk_click_hourTool() {
       MTime in=MTime.ToMTime(CalcHour.Filter(textIn.getString()));
       MTime out=MTime.ToMTime(CalcHour.Filter(textOut.getString()));
       MTime ends=CalcHour.ClearMTime( CalcHour.GetUnderHour(in, out));
       textend.setText(ends.GetString());
       money.setText(String.valueOf((ends.H*5)+((ends.M/60.)*5.)));
       
   }

το OnOk_click... (μη δοσεις σμασια, το εχω ετσι επειδη ασχολουμε με C#)

κληση της OnOk_click...

 

 

>   [color="Silver"]public void commandAction(Command command, Displayable displayable) {                                               
       // write pre-action user code here
       if (displayable == HelpHourTool) {                                           
           if (command == exitCommand1) {                                         
               // write pre-action user code here
               exitMIDlet();                                           
               // write post-action user code here
           } else if (command == itemCommand2) {                                          
               // write pre-action user code here
               switchDisplayable(null, getHourTool());                                           
               // write post-action user code here
           }                                           
       } else if (displayable == fAbout) {
           if (command == btnBack) {                                         
               // write pre-action user code here
               switchDisplayable(null, getList());                                           
               // write post-action user code here
           } else if (command == btnExit) {                                          
               // write pre-action user code here
               exitMIDlet();                                           
               // write post-action user code here
           }                                           
       } else if (displayable == hourTool) {
           if (command == btnBack1) {                                         
               // write pre-action user code here
               switchDisplayable(null, getList());                                            
               // write post-action user code here
           } else if (command == itemCommand1) {                                           
               // write pre-action user code here
               switchDisplayable(null, getHelpHourTool());                                            
               // write post-action user code here
           } else if (command == okCommand) {                                           
               // write pre-action user code here[/color]
              OnOk_click_hourTool();
                                   [color="Silver"]         
               // write post-action user code here
           }                                            
       } else if (displayable == list) {
           if (command == List.SELECT_COMMAND) {                                          
               // write pre-action user code here
               listAction();                                            
               // write post-action user code here
           } else if (command == btnExit1) {                                           
               // write pre-action user code here
               exitMIDlet();                                            
               // write post-action user code here
           }                                                   
       }                                                 
       // write post-action user code here
   }   [/color]

 

 

CalcHour class βοηθιτηκη κλαση

 

>public class CalcHour {
   public CalcHour(){}
   public static MTime GetUnderHour(MTime in,MTime out)
   {
     
     if(CalcHour.DesAnYparxoynYperories(in, out, MTime.MOktaoro))
     {
         MTime temp=CalcHour.Remove(in, out);
         return CalcHour.Remove(MTime.MOktaoro,temp);
         
     }
     else return MTime.GetIns(0,0);
   }
   public static boolean DesAnYparxoynYperories(MTime in,MTime out,MTime standarHour)
   {
       MTime temp=CalcHour.Remove(in, out);
       return CalcHour.IsBig(temp, standarHour);
     
   }
   public static MTime Remove(MTime obj1,MTime obj2)
   {
       return MTime.GetIns(obj2.H-obj1.H, obj2.M-obj1.M);
   }
   public static boolean IsBig(MTime obj1,MTime obj2)
   {
   
       if(obj1.M>obj2.M)
       {
           if(obj1.H==obj2.H)
               return true;
           if(obj1.H>obj2.H)
               return true;
           else return false;

       }
       if(obj1.H>obj2.H)
            return true;
       else 
           return false;
   }

   public static boolean IsSmall(MTime obj1, MTime obj2)
   {
       return !IsBig(obj1,obj2);
   }
   public static String Filter(String obj)
   {
       String temp=obj.toLowerCase();
       return temp.replace('a', ':').replace('α', ':');
   }
   public static MTime ClearMTime(MTime m)
   {
       if(m.M<0)
       {
           return MTime.GetIns(m.H-1, m.M+60);
       }
       return m;
   }

}

 

 

MTime class μια απλη dataclass

 

>public class MTime {
   //static vars
   public static MTime MOktaoro=MTime.GetIns(8, 0);
           
   
public int H;
public int M;
public MTime(int h,int m)
{
H=h;
M=m;
}
public MTime(){}
public  String GetString()
{
   return String.valueOf(H)+":"+String.valueOf(M);
}

public static MTime GetIns(int h,int m)
{
return new MTime(h,m);
}
public static MTime ToMTime(String str)
{
   
   String _sm="";
   String _sh="";
   int len=str.toCharArray().length;
   boolean isp=false;
   boolean skip=false;
   for(int i=0;i<len;i++)
   {
       if(str.toCharArray()[i]==':')
           isp=true;
       if(!isp)
           _sh+=String.valueOf(str.toCharArray()[i]);
       if(isp)
       {
           if(!skip)skip=true;
           else
           _sm+=String.valueOf(str.toCharArray()[i]);
   }}
return  MTime.GetIns(Integer.parseInt(_sh),Integer.parseInt(_sm));
}
public static String ToString(MTime time)
{
   return String.valueOf(time.H)+":"+String.valueOf(time.M);
}

//
//10:00  
//11:30
//01:30
}

 

 

 

Το προβλημα?

Δε κανει τιποτα στο πατιμα του κουμπιου τπτ τπτπτπ grrr....

 

 

-----Προστέθηκε 11/2/2009 στις 09 : 44 : 07-----

 

 

1)

 

4) Θα στη σπάσω λίγο, αλλά πρέπει να βελτιώσεις λίγο την ορθογραφία σου, μας πέθανες...

Αυτο να το πεις στους αντιστιχους υπουργους παιδειας (για τα τελευτεα 12 χρονοια)

που δε με αφισανε σε καμια ταξη, και τωρα κλαιω τη μοιρα μου' που δεν εκατσα να μαθω γαραμματικη (εχω τα βιβλια και διαβαζω που και που)

Εχω απολιτηριο λυκειου (ελεος με 16)

Δημοσ.

Από μια γρήγορη ματιά, δε διαπίστωσα κάτι περίεργο. Προφανώς χρησιμοποιείς το GUI editor του Netbeans οπότε δε νομίζω να υπάρχει πρόβλημα στο κουμπί και στον αντίστοιχο listener. Τα υπόλοιπα κουμπιά λειτουργούν κανονικά? Αν ναι, τότε μήπως μέσα στην κλήση της OnOk_click_hourTool τρως κανένα περίεργο exception. Βάλε να σου πετάει ένα Popup αμέσως με το που καλείται η OnOk_click_hourTool και βάλε τα υπόλοιπα μέσα σε try/catch (δηλαδή τα MTime in=MTime.ToMTime κτλ). Μέσα στο catch, βάλε πάλι popup ώστε να εκτυπώσεις πληφοροφίες για το exception, αν παίζει κάτι τέτοιο. Λίγο quick and dirty, αλλά τι να κάνεις...

 

PS: Η μέθοδος DesAnYparxoynYperories έχει μακράν το πιο πρωτότυπο όνομα.

Δημοσ.

Ολε!!!

Το βρηκα!!!

Λεω εγω.. κινιτο ειναι οχι η/υ, ας κανω ενα update στη display και ολα ok :o

>    private void OnOk_click_hourTool() {
       MTime in=MTime.ToMTime(CalcHour.Filter(textIn.getString()));
       MTime out=MTime.ToMTime(CalcHour.Filter(textOut.getString()));
       MTime ends=CalcHour.ClearMTime( CalcHour.GetUnderHour(in, out));
       textend.setText(ends.GetString());
       money.setText(String.valueOf((ends.H*5)+((ends.M/60.)*5.)));
       [color="Lime"]switchDisplayable(null,getHourTool());[/color] //η μεθοδος ειναι auto created       
   }

Αντε τωρα να μαθω RMS

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...