Download 07-Data Storage

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

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

Database wikipedia , lookup

Functional Database Model wikipedia , lookup

ContactPoint wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript



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