Jump to content



Βοήθεια σε project για το Android


Magnus

Recommended Posts

Στα πλαίσια μιας εργασίας σε μάθημα κατανεμημένων συστημάτων που πρέπει να κάνω, θα πρέπει σε αρχικό στάδιο να κάνω port τον gridgain client στο Android.Το gridgain είναι open source και εδώ μπορείτε να δείτε περισσότερα πράγματα σχετικά με αυτό αν θέλετε.Επειδή δεν έχω τρομερή εμπειρία στον προγραμματισμό (Γνωρίζω κατι παραπάνω απο απο τα βασικά στην java και πιο συγκεκριμένα έχω ασχοληθεί παλαιότερα με servlets και με βάσεις δεδομένων) θα ήθελα αν γνωρίζει κανείς να με βοηθήσει σε αυτό το στάδιο του porting της εφαρμογής στο Android (δηλαδή πως γίνεται τι πρέπει να κάνω κτλ).

Γενικότερα για την java χρησιμοποιώ το eclipse και φυσικά έχω εγκαταστήσει το plug in του eclipse για το android.

Ευχαριστώ και ελπίζω να μου δώσετε τα φώτα σας όσοι τυχών γνωρίζετε :rolleyes:

Link to comment
Share on other sites

Να σε ρωτήσω κάτι... αυτό το project το διάλεξες εσύ ή "σου το διάλεξαν"...?

Όταν λες "σε αρχικό στάδιο" πρέπει να κάνεις το porting και ότι δεν έχεις εμπειρία σε προγραμματισμό, τότε θα είναι μια πολύ δύσκολη και χρονοβόρα διαδικασία... δεν θέλω να σε αποθαρρύνω, σίγουρα όλα γίνονται, απλά σου λέω τα γεγονότα...

Επί του θέματος τώρα...:

Το πρώτο πράγμα που πρέπει να κάνεις είναι να αναλύσεις τον κώδικα του GridGain... αυτό έχει ένα api με κάποιες κλάσεις, οι οποίες έχουν βάση κάποιες άλλες κλάσεις της java και πηγάζουν από κάποιο runtime... πρέπει να δεις ποιες είναι αυτές και αν τις υποστηρίζει (ή έχει αντίστοιχες) το jvm του sdk του Android... αν είσαι τυχερός και τις υποστηρίζει τότε τα πράγματα είναι πιο βατά, αλλά όσες δεν υπάρχουν θα πρέπει να τις κάνεις και αυτές port (...)

γενικά, λόγο του ότι η java είναι μια πλατφόρμα η οποία ανανεώνεται συχνά, υπάρχει ασυμβατότητα μεταξύ των εκδόσεων, καθώς classes που υπάρχουν στην μία δεν υπάρχουν στην άλλη ή έχουν αλλάξει και αυτό είναι και το μεγαλύτερο πρόβλημα με το να κάνεις διανομή ένα πρόγραμμα της java... πρέπει να επιβάλεις κάθε φορά και το runtime της έκδοσης που είναι γραμμένο το πρόγραμμα και αν υπάρχουν εφαρμογές που πρέπει να τρέξουν στο ίδιο σύστημα, προγραμματισμένες για διαφορετικά runtimes, τότε υπάρχει πρόβλημα...

πριν μπεις στην διαδικασία του porting πρέπει να κάνεις καλό έλεγχο για την συμβατότητα αυτή, αλλιώς θα φτάσεις σε αδιέξοδο ενώ ήδη έχεις σπαταλήσει πολύτιμο χρόνο...

πάντως περισσότερη και εγγυρότερη βοήθεια θα βρεις μέσα από τα discussion groups του Android SDK και τα αντίστοιχα του GridGain, στην θέση σου πριν ξεκινήσω καν θα ρώταγα εκεί για να δω αν αυτό είναι δυνατόν...

Link to comment
Share on other sites

Να σε ρωτήσω κάτι... αυτό το project το διάλεξες εσύ ή "σου το διάλεξαν"...?

To διάλεξα, αναμεσα σε μερικές άλλες οι οποίες δεν νομίζω οτι θα ήταν ευκολότερες.

Το πρώτο πράγμα που πρέπει να κάνεις είναι να αναλύσεις τον κώδικα του GridGain... αυτό έχει ένα api με κάποιες κλάσεις, οι οποίες έχουν βάση κάποιες άλλες κλάσεις της java και πηγάζουν από κάποιο runtime... πρέπει να δεις ποιες είναι αυτές και αν τις υποστηρίζει (ή έχει αντίστοιχες) το jvm του sdk του Android... αν είσαι τυχερός και τις υποστηρίζει τότε τα πράγματα είναι πιο βατά, αλλά όσες δεν υπάρχουν θα πρέπει να τις κάνεις και αυτές port (...)

Γενικά έχω ξεκινήσει να κάνω αυτό που λές, και προσπαθώ να βγάλω κάποια άκρη.Με λίγα λόγια δηλαδή μου μιλας για πακέτα της java ??

Link to comment
Share on other sites

Τι εννοείς λέγοντας "πακέτα της java"...?

Βασικά, αυτό που λέω είναι το εξής, για να κάνεις εύκολα port "κάτι σε κάτι" θα πρέπει τα "κάτι" να υποστηρίζουν τις ίδιες βιβλιοθήκες (libraries πχ στην C++ και κλάσεις στην java, το ίδιο είναι)... Διαφορετικά θα χρειαστεί να γράψεις ή να κάνεις port και την κάθε βιβλιοθήκη ξεχωριστά... Επομένως, πρέπει να εξακριβώσεις τι από τα δυο ισχύει και... αν ισχύει η πρώτη πείπτωση, τότε συνεχίζεις ακάθεκτος, θα τελειώσεις γρήγορα και χωρίς να ξέρεις καλά Java, διαφορετικά καλό κουράγιο...

τέλος κάνε μου μια χάρη... όταν τελειώσεις από όλα αυτά θέλω να μου πεις, αφού μάθεις, αν αυτός που έδωσε αυτές τις ασκήσεις, τις είχε κάνει πρώτα μόνος του να δει ότι γίνεται στον χρόνο που ζητάει... έχει παραγίνει το κακό με τους έλληνες καθηγηταράδες, πέρα του ότι είναι κατά 99% λαμόγια, δεν έχουν και καμιά επαφή με την πραγματικότητα...

Link to comment
Share on other sites

Τι εννοείς λέγοντας "πακέτα της java"...?

Να για παράδειγμα στην αρχη κάθε προγράμματος java δεν βλέπουμε εντολές οπως πχ αυτή : import java.util.*;

με σκοπό να έχουμε στην διαθεση μας τις κλάσεις του πακέτου util και να μπορούμε να χρησιμοποιήσουμε όποιες λειτουργείες προσφέρει.Εγώ σκέφτηκα πως καλό θα ήταν πρώτα να δοκιμάσω να κάνω ξεχωριστά compile τον

κώδικα του gridgain.Διαπιστωσα πως μου βγάζει πολλά λάθη που οφείλονται σε πακέτα τα οποία δεν μπορεί να βρεί.Υποθέτω πως αρχικά θα πρέπει να βρώ αυτα τα πακέτα.

τέλος κάνε μου μια χάρη... όταν τελειώσεις από όλα αυτά θέλω να μου πεις, αφού μάθεις, αν αυτός που έδωσε αυτές τις ασκήσεις, τις είχε κάνει πρώτα μόνος του να δει ότι γίνεται στον χρόνο που ζητάει... έχει παραγίνει το κακό με τους έλληνες καθηγηταράδες, πέρα του ότι είναι κατά 99% λαμόγια, δεν έχουν και καμιά επαφή με την πραγματικότητα...

Πραγματι δεν έχεις και άδικο.Οι πιο πολλοί έχουν την εντύπωση οτι έχουμε μόνο το δικό τους μάθημα και τίποτα άλλο για να μας απασχολεί.Τουλάχιστον με το συγκεκριμένο θέμα ξέρω οτι θα το πάρουν και άλλα παιδιά που ξέρουν κάτι παραπάνω, οπότε θα έχω κάποια βοήθεια.Και επειδή και εγώ έχω την ίδια απορία θα προσπαθήσω να το μάθω.

Ευχαριστώ πάντως για τις απαντήσεις και για οτιδήποτε ελπίζω και στις δικές σας απαντήσεις :o:o:thank_you2::thank_you2:

Link to comment
Share on other sites

Λοιπόν για να υπάρχει μια κοινή βάση, τα πακέτα όπως λες είναι οι κλάσεις/αντικείμενα (classes/objects) της java... οι κλάσεις σκέψου είναι κάποια αντικείμενα, όπως και στον πραγματικό κόσμο, με κάποιες ιδιότητες που μπορούν να εκτελέσουν συγκεκριμένες λειτουργίες και οι κλάσεις μπορεί να περιέχουν ή να περιέχονται σε άλλες κλάσεις...

Για παράδειγμα η μηχανή του αυτοκίνητου είναι μια κλάση, η οποία έχει διάφορες παραμέτρους (properties), όπως κυβισμός, ίπποι κλπ και λειτουργίες (functions) όπως ξεκίνημα, σταμάτημα κλπ... το αυτοκίνητο είναι μια κλάση/αντικείμενο η οποία περιέχει την κλάση της μηχανής...

Στην περίπτωση σου όταν κάνεις import μια κλάση, καλείς ένα αντικείμενο με τις ιδιότητες του, το χρησιμοποιείς στον κώδικά σου και κάνεις compile ώστε να δημιουργήσεις το τελικό αποτέλεσμα... αν ο compiler σου δεν μπορεί να βρει το αντικείμενο που του δηλώνεις, τότε γι'αυτόν είναι σφάλμα...

Σκοπός σου είναι να βρεις πια αντικείμενα δεν βρίσκει ο compiler και για ποιο λόγο και τέλος με κάποιο τρόπο να του τα δώσεις... αυτό είναι το porting...

Για περισσότερες πληροφορίες θα πρέπει να διαβάσεις για την java και γενικότερα τον αντικειμενοστραφή προγραμματισμό και αποκτώντας εμπειρία, σιγά-σιγά να καταλαβαίνεις τι σου λείπει, για ποιο λόγο χτυπάει ο compiler και πως μπορείς εύκολα και γρήγορα να διορθώσεις/ξεπεράσεις τα σφάλματα αυτά... ξαναδιάβασε τα πρώτα posts, σκοπός του porting είναι να βρεις τι δεν υποστηρίζει εγγενώς το Android και να το ενσωματώσεις εσύ...

Καλή τύχη... ;)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

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

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.