Εισαγωγή στη βάση δεδομένων Android SQLite



Το ιστολόγιο παρέχει μια εισαγωγή στη βάση δεδομένων Android SQLite

Εισαγωγή στη βάση δεδομένων Android SQLite

Η βάση δεδομένων Android SQLite απαιτεί πολύ λίγη μνήμη (περίπου 250kb), η οποία είναι διαθέσιμη σε όλες τις συσκευές Android. Κάθε συσκευή διαθέτει ενσωματωμένη υποστήριξη για τη βάση δεδομένων SQLite, η οποία διαχειρίζεται αυτόματα στο Android από τη δημιουργία, την εκτέλεση έως τη διαδικασία ερωτήματος.





Το SQLite είναι μια βάση δεδομένων ανοιχτού κώδικα, διαθέσιμη σε κάθε βάση δεδομένων Android. Υποστηρίζει τυπικές λειτουργίες βάσεων δεδομένων σχέσεων, όπως σύνταξη SQL, συναλλαγές και δηλώσεις SQL. Το SQLite είναι σημαντικά, η ελαφρύτερη έκδοση της βάσης δεδομένων SQL, όπου οι περισσότερες από τις εντολές SQL δεν εκτελούνται στη βάση δεδομένων SQLite. Μόλις το SQLite είναι στη θέση του, είναι σημαντικό να διασφαλιστεί ότι μια δυνατότητα ή εντολή είναι διαθέσιμη στο SQLite μόνο τότε μπορεί να εκτελεστεί.

Τα βασικά πλεονεκτήματα του SQLite:



  • Είναι μια μικρή βάση δεδομένων
  • Απαιτεί πολύ λίγη μνήμη
  • Μια αυτόματα διαχειριζόμενη βάση δεδομένων

Το SQLite υποστηρίζει μόνο 3 τύπους δεδομένων:

  • Κείμενο (όπως συμβολοσειρά) - για αποθήκευση αποθήκευσης τύπων δεδομένων
  • Ακέραιος (όπως int) - για την αποθήκευση ακέραιου πρωτεύοντος κλειδιού
  • Πραγματικό (σαν διπλό) - για αποθήκευση μεγάλων τιμών

Βασικά το SQLite δεν επικυρώνει από μόνο του τύπους δεδομένων. Με άλλα λόγια, ανεξάρτητα από τους τύπους δεδομένων που χρησιμοποιούνται, χαρακτηρίζονται ως έγκυροι.

Για παράδειγμα, σε αυτήν την περίπτωση, έχει συζητηθεί η βάση δεδομένων ενός τελεφερίκ. Εδώ, προστίθεται ένας νέος πίνακας με 'κείμενο' στο πεδίο ονόματος και το πεδίο ονόματος πεδίου που φέρει 'πεδίο κειμένου'. Δημιουργήθηκε τύπος δεδομένων τυχαίας τιμής. Το τελικό αποτέλεσμα είναι ένας πίνακας δοκιμών με μη έγκυρο τύπο δεδομένων, ο οποίος δείχνει ότι το SQLite δεν επικυρώνει τύπο δεδομένων.



περάστε από την τιμή και περάστε με αναφορά σε java

* Κάποιος μπορεί να βρει τη βάση δεδομένων κάνοντας κλικ στο πακέτο και μεταβαίνοντας στο φάκελο δεδομένων στο φάκελο βάσης δεδομένων, ο οποίος περιέχει το αρχείο.

Σημείωση: Η κλάση SQLiteOpen Helper χρησιμοποιείται για τη διαχείριση της δημιουργίας βάσεων δεδομένων και της διαχείρισης εκδόσεων.

Ερωτήσεις χρήστη:

Μήπως η αλλαγή στο αποτέλεσμα έκδοσης db είναι αλλαγή της έκδοσης SQLite του αντικειμένου;

Δεν υπάρχει καμία αλλαγή στην έκδοση SQLite του αντικειμένου αφού ο ένας χειρίζεται τη δημιουργία / ενημέρωση της βάσης δεδομένων και ο άλλος παίζει σε δεδομένα που διατηρούνται στους πίνακες της βάσης δεδομένων. Επομένως, δεν υπάρχει καθόλου εξάρτηση

Επιστρέφοντας, όταν επεκτείνουμε την κλάση SQLiteopenHelper, αντικαθιστούμε τις μεθόδους Oncreate & OnUpgrade σε αυτήν την τάξη. Όταν υπάρχει πρόσβαση στη βάση δεδομένων SQLite, μερικές φορές μπορεί να είναι αργή, ανάλογα με την πολυπλοκότητα του ερωτήματος. Είναι πάντα προτιμότερο να διασφαλίζεται ότι αποφεύγονται οι λιγότερες επιπτώσεις ή ερωτήματα που εκτελούνται σε αναδρομή όταν εκτελείται ένα ερώτημα SQL. Επίσης είναιΣυνιστάται να εκτελείτε τη βάση δεδομένων ταυτόχρονα.Αυτές οι μέθοδοι χειρίζονται ή καλούνται αυτόματα από το πλαίσιο. Επίσης, πρέπει να σημειωθεί ότι όποτε κάποιος αυξάνει την έκδοση DB, θα καλεί αυτόματα το onUpgrade σε αυτήν.

Κάθε φορά που κάποιος μιλάει για το SQLite open helper class, το όνομα και η έκδοση της βάσης δεδομένων του περνά στον κατασκευαστή της εκτεταμένης τάξης.

Εδώ, δύο πράγματα πρέπει να ληφθούν υπόψη:

  • Η μέθοδος OnCreate () καλείται, εάν η βάση δεδομένων δεν υπάρχει.
  • Η μέθοδος OnUpgrade () καλείται, εάν ενημερωθεί η έκδοση της βάσης δεδομένων.

Η ανοιχτή τάξη βοηθητικού προγράμματος SQLite δίνει το όνομα και την έκδοση στον κατασκευαστή. Το getwriteabledatabase () καλείται και εάν η βάση δεδομένων δεν υπάρχει, θα OnCreate. Σε περίπτωση που η βάση δεδομένων υπάρχει και η έκδοση είναι ενημερωμένη, θα καλέσει OnUpgrade ().

Είναι αυτές οι μέθοδοι στο firstcall του db;

Ας πάρουμε ένα παράδειγμα. Μόλις εγκαταστήσουμε μια εφαρμογή, θα δημιουργήσει το OnCreate και η μέθοδος apk θα μεταφορτωθεί στο Google play store. Μόλις ληφθεί η τελευταία έκδοση του apk, θα ελέγξει τη βάση δεδομένων που είναι ήδη εγκατεστημένη. Εάν έχει υψηλότερη έκδοση, θα καλέσει αναβάθμιση, εάν όχι, τότε δεν θα κάνει τίποτα.

Ερώτηση χρήστη

Απαιτείται άδεια χρήστη για αναβάθμιση της έκδοσης db;

Όχι, δεν απαιτείται άδεια, καθώς εργαζόμαστε για τους πόρους της εφαρμογής, δεν χρειάζεται να ζητήσουμε άδεια.

αφαίρεση δεδομένων c ++

Ερώτηση χρήστη

Εάν ο χρήστης1 έχει εγκαταστήσει την εφαρμογή μου και είναι μια αναβαθμισμένη έκδοση για DB και στη συνέχεια ο χρήστης2 εγκαθιστά νέα εφαρμογή και ο χρήστης1 αναβαθμίζει την εφαρμογή. Σε ένα τέτοιο σενάριο, εάν καλείται user1 σε έκδοση αναβάθμισης και για το user2 create method, είναι όλες οι μέθοδοι από το Android;

Ναι, επειδή δεν έχουμε ήδη εγκαταστήσει καμία έκδοση στη συσκευή. Δεν έχει σημασία, εφόσον δεν υπάρχει εγκατεστημένη προηγούμενη έκδοση στη συσκευή. Μοιάζει πολύ με το χειρισμό του πλαισίου.

Ερώτηση χρήστη

Μπορούμε να έχουμε το αντικείμενο βάσης δεδομένων SQLite; Τι γίνεται αν έχει το όνομά μου dbσύγκρουσημε άλλο αντικείμενο ονόματος db;

τι είναι μεταβλητό στο java

Δεν έχει σημασία, επειδή η βάση δεδομένων βρίσκεται στο όνομα του πακέτου της εφαρμογής, το οποίο δεν πρέπει να έρχεται σε διένεξη ακόμη και αν έχει δημιουργηθεί ένας υποφάκελος με το ίδιο όνομα. Έχει σημασία μόνο σε επίπεδο ρίζας και ο χειρισμός επιπέδου ρίζας γίνεται με τη βοήθεια του ονόματος πακέτου. Πρέπει να σημειωθεί ότι δεν μπορούμε να έχουμε δύο εφαρμογές με το ίδιο όνομα πακέτου, αλλά μπορούμε να έχουμε 2 διαφορετικά ονόματα db κάτω από διαφορετικά πακέτα. Η βάση δεδομένων SQLite φροντίζει για την ενημέρωση, τη διαγραφή, την εισαγωγή, την αναζήτηση και το κλείσιμο και το άνοιγμα των λειτουργιών βάσης δεδομένων με τη βοήθεια του αντικειμένου.

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

Σχετικές αναρτήσεις: