Ευκολότερη ανάπτυξη Android με το RoboGuice
Το RoboGuice είναι ένα must-have πλαίσιο που φέρνει το απλότητα και ευκολία έγχυσης εξάρτησης στο Android. Το Guice είναι ένα ελαφρύ πλαίσιο ένεσης εξάρτησης για την πλατφόρμα Java. Η ένεση εξαρτήσεων είναι ένα σχέδιο με το κύριο πυρήνα του διαχωρίζοντας τη συμπεριφορά από την ανάλυση εξάρτησης.
Επιτρέπει την αφαίρεση του “σκληρό κωδικοποιημένο” εξαρτήσεις και καθιστά δυνατή την αλλαγή τους κατά την κατάρτιση ή την εκτέλεση του χρόνου. Αυτό σας κάνει κώδικα πιο εύκολο να γράψετε, να αλλάξετε, δοκιμή μονάδας και επαναχρησιμοποίηση σε άλλα περιβάλλοντα. Ο κώδικας σας γίνεται λιγότερο από έναν κωδικό boilerplate και περισσότερο από την επιχειρησιακή λογική.
Με το RoboGuice, μπορείτε να φέρετε όλα αυτά στο Android. RoboGuice σας επιτρέπει να χρησιμοποιήστε τις δικές σας κλάσεις βάσης μαζί με τις δικές σας βασικές μεθόδους ή λειτουργίες. Αυτό κάνει RoboGuice συμβατό με τις περισσότερες βιβλιοθήκες καθώς και να σας επιτρέψει να απογυμνώσετε σχεδόν όλα τα boilerplates πλατφόρμας μέσω διαφόρων ενέσεων όπως εγχύσεις View, ενέσεις πόρων, ενέσεις SystemService κ.λπ..
Με απλά λόγια, η χρήση του RoboGuice στο έργο σας Android σημαίνει γράφοντας λιγότερο κώδικα, χειρίζοντας λιγότερα λάθη και έχοντας λιγότερους πονοκεφάλους.
Πώς να εγκαταστήσετε το RoboGuice
Το RoboGuice μπορεί εύκολα να εγκατασταθεί στο πρόγραμμα Gradle με την προσθήκη των παρακάτω γραμμών στο δικό σας “εξαρτήσεις” τμήμα του αρχείου δομής της μονάδας της εφαρμογής σας:
project.dependencies compile 'org.roboguice: roboguice: 3. +' με την προϋπόθεση 'org.roboguice: roboblender: 3. +'
Πώς να χρησιμοποιήσετε το RoboGuice
Το RoboGuice είναι εύκολο στη χρήση, εάν ακολουθείτε αυτούς τους βασικούς κανόνες:
1. Επεκτείνετε τις τάξεις σας από τις κατάλληλες βασικές κλάσεις RoboGuice όπως RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity, κ.λπ..
2. Εισάγετε προβολές, πόρους ή υπηρεσίες χρησιμοποιώντας διαφορετικούς σχολιασμούς που παρέχονται από το RoboGuice όπως “@InjectView“, “@InjectResource“, “@Κάνω ένεση“, και τα λοιπα.
Αυτό είναι. Απλό, έτσι δεν είναι; Θα νιώσετε περισσότερο στο σπίτι εάν είστε εξοικειωμένοι με Σχολιασμοί Java.
Δεν RoboGuice εναντίον RoboGuice
Ας συγκρίνουμε τον τρόπο με τον οποίο το RoboGuice μπορεί να μειώσει το φόρτο εργασίας σας και να βελτιώσει την παραγωγικότητά σας χρησιμοποιώντας αυτό το μικρό παράδειγμα. Ας υποθέσουμε ότι έχουμε ένα “activity_main.xml” που έχει όλες τις προβολές που αναφέρονται παρακάτω.
Σημείωση: Τα σχόλια προστίθενται για να βελτιωθεί η κατανόηση του κώδικα.
η κατηγορία NoRoboGuice επεκτείνει τη Δραστηριότητα // εμφανίζει το όνομα του TextView; ImageView thumbnail; // υπηρεσίες LocationManager θέση; // πόροι Σχετικό εικονίδιο. String myName; δημόσιο κενό onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // ορίζει το όνομα διάταξης = (TextView) findViewById (R.id.name); // boilerplate αρχικοποίηση thumbnail = (ImageView) findViewById (R.id.thumbnail); // boilerplate αρχικοποίηση loc = (LocationManager) getSystemService (Activity.LOCATION_SERVICE); // boilerplate εικονίδιο αρχικοποίησης = getResources () getDrawable (R.drawable.icon); // αρχικοποίηση boilerplate myName = getString (R.string.app_name); // boilerplate όνομα αρχικοποίησης.setText ("Hello," + myName); // πραγματικός κώδικας
Εδώ είναι πώς μοιάζει με το RoboGuice:
@ContentView (R.layout.activity_main) // ορίζει την κλάση διάταξης RoboGuice επεκτείνει το RoboActivity // views @InjectView (R.id.name) ΌνομαΚειμένουView; @InjectView (R.id.thumbnail) ImageView thumbnail; // resources @InjectResource (R.drawable.icon) Σχετικό εικονίδιο. @InjectResource (R.string.app_name) Σειρά myName; // services @ Inject LocationManager loc; δημόσιο κενό onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); name.setText ("Γεια σας," + myName); // πραγματικός κώδικας
Το RoboGuice όχι μόνο μειώνει τον κώδικα, αλλά συμβάλλει επίσης στη βελτίωση της αναγνωσιμότητας και της κατανόησης του πηγαίου κώδικα. Παίρνει τις εικασίες από την ανάπτυξη εφαρμογών και ο κωδικός της εφαρμογής σας δεν είναι πλέον γεμάτος με τους μηχανικούς της πλατφόρμας Android.
Αυτό το πλεονέκτημα βοηθά πολύ κατά τη στιγμή της αποσφαλμάτωσης ή ενημέρωση την εφαρμογή, όπως μπορείτε εύκολα να διαβάσετε και να αλλάξετε τον πηγαίο κώδικα. Δεν χρειάζεται πλέον να αναζητάτε τον πραγματικό κώδικα ανάμεσα στον κώδικα αρχικοποίησης του boilerplate επειδή τώρα μόνο ο πραγματικός κώδικας υπάρχει και το RoboGuice κάνει αυτόματα την εκκίνηση του boilerplate.