* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 07-Data Storage
Entity–attribute–value model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Relational model wikipedia , lookup
Functional Database Model wikipedia , lookup
ContactPoint wikipedia , lookup
http://developer.android.com/guide/topics/ data/data-storage.html#pref http://marakana.com/forums/android/exam ples/63.html Hello Android, chapter 9 Shared Preferences ◦ Store private primitive data in key-value pairs. Internal Storage ◦ Store private data on the device memory. External Storage ◦ Store public data on the shared external storage. SQLite Databases ◦ Store structured data in a private database. Network Connection ◦ Store data on the web with your own network server Store private primitive data in key-value pairs How to save and retrieve data? Using SharePrference class ◦ persistent key-value pairs ◦ only primitive data types. booleans, floats, ints, longs, and strings. This data will persist across user sessions ◦ even if your application is killed getSharedPreferences() ◦ Use this if you need multiple preferences files identified by name, which you specify with the first parameter. getPreferences() ◦ Use this if you need only one preferences file for your Activity. Because this will be the only preferences file for your Activity, you don't supply a name Write ◦ Call edit() to get a SharedPreferences.Editor. ◦ Add values with methods such as putBoolean() and putString(). ◦ Commit the new values with commit() Read ◦ use SharedPreferences methods such as getBoolean() and getString(). Store private data on the device memory You can save files directly on the device's internal storage. By default, files saved to the internal storage are private to your application and other applications cannot access them (nor can the user). When the user uninstalls your application, these files are removed. Call openFileOutput() with the name of the file and the operating mode. This returns a FileOutputStream. Write to the file with write(). Close the stream with close(). Call openFileInput() and pass it the name of the file to read. This returns a FileInputStream. Read bytes from the file with read(). Then close the stream with close(). XML resources can mean resources in general that are defined in XML, ◦ layout files, styles, arrays, res/xml XML files. In this section we will be dealing with res/xml XML files. SQLite Databases A tiny yet powerful database engine created by Dr. Richard Hipp in 2000. It is arguably the most widely deployed SQL database engine in the world. Besides Android, SQLite can be found in the Apple iPhone, Symbian phones, Mozilla Firefox, Skype, PHP, Adobe AIR, Mac OS X, Solaris, and many other places. It’s free. ◦ The authors have placed it in the public domain and don’t charge for its use. It’s small. ◦ The current version is about 150KB, well within the memory budget of an Android phone. It requires no setup or administration. ◦ There is no server, no config file, and no need for a database administrator. Android stores the file ◦ /data/data/packagename/databases You can take that file, move it around, and even copy it to another system ◦ for example, from your phone to your workstation), and it will work fine. You can use the adb command or the File Explorer view in Eclipse to view, move, or delete it. ◦ Window > Show View > Other... > Android > File Explorer) Nothing here yet Goal ◦ Save time stamps and string to a table ◦ Display it Constants describing the database ◦ Constants interface represent the database ◦ Using SQLiteOpenHelper Driver ◦ Main program manages database creation and versions. All you need to do is provide a constructor and override two methods. DATABASE_VERSION is just a number we make up. If this were a real program, you would increase the version number whenever you had to make significant changes to the database design (for example, to add a new column). close the database inside the finally block. So even if an error occurs in the middle, the database will still be closed. Every time you run this program, you’ll get a new event. Running a Query Allows you to connect your model (data) to your view with just a few lines of code. To demonstrate data binding, we’ll modify the Events example to use a ListView that is bound to the result of a database query. putting the ID, time, and title on one line with colons in between the fields. added a little padding and formatting to make it look nice. need to change the layout for the activity itself in layout/main.xml