sql >> Database teknologi >  >> RDS >> SQLite

Er det virkelig nødvendigt at oprette SQLite-tabeller, hver gang applikationen starter?

Jeg tror du misforstår her. Når et SQLiteOpenHelper-objekt er konstrueret, vil det kontrollere, om SQLite-databasen eksisterer eller ej, hvis ikke, vil det kalde dets onCreate( ) metode (hvor udviklere normalt implementerer oprettelsesdatabasen SQL)

Opdatering:
@Clay Shannon:Jeg vil forklare mekanismen, som Eclipse og Android projekterer. Lad os sige, at du bruger Eclipse til at programmere Android-projekter. Det nye projekt vil oprette en projektmappe i arbejdsområdet (i dit tilfælde er det C:\aXX3&Space\Android\workspace og projektmappen er OnDemandAndAutomatic_Project ). Denne mappe vil indeholde flere undermapper såsom:src, bin, assets, res,... Hver mappe har sin egen rolle, og du er interesseret i assets mappe, ikke? Assets mappe bruges til at indeholde referencefiler (som ikke kan eller du ikke ønsker at lægge i res mappe) såsom:html-fil, lydfil, billedfil, tekstfil... Når Eclipse bygger apk'en fra projektet, disse filer er også inkluderet i apk. Når du installerer apk'en på Android-enhed, kopieres apk'en til Android-systemmappen, og der oprettes også en mappe, der indeholder appdata, som Dharmendra nævnte:/data/data/{pakkenavn}/ (pakkenavn såsom com.google.app osv., og denne sti er til dit Android OS på din enhed, ikke til Windows).

Din sag her er, at du vil bruge din allerede eksisterende database, så du skal implementere en funktion, der tjekker om din database eksisterer eller ej, hvis ikke kopierer din db ind i databasestien /data/data/ {pakkenavn}/databaser/ , og kald den funktion, når din app starter. Og hvordan man gør det er allerede besvaret her Sådan kopierer du eksisterende database fra en app til en anden. Her er også reference til adgang til aktivfiler, hvis du ikke ved det http://www.wiseandroid.com/post/2010/06/14/Android-Beginners-Intro-to-Resources-and-Assets.aspx

Håber nu du kan løse dit problem. Bemærk :din allerede eksisterende db skal være en SQLite-database, ellers vil appen ikke genkende den, selvom du kopierer til den rigtige sti.



  1. Hvordan kan jeg opdatere et felt af min spinner med brugerinput i EditText

  2. Implementering af kommentarer og likes i databasen

  3. Sådan konverteres fra ét datoformat til et andet i SQL Server ved hjælp af CONVERT()

  4. ORA-12516, TNS:listener kunne ikke finde tilgængelig handler