Android Programming




   Lesson 7
Data Storage

 NGUYEN The Linh
Android Programming


Contents

     1     Accessing Files

     2     Using Preferences

     3     Accessing Local Database


     4     Exercise 7




                             2
Android Programming


Data Storage




           Accessing Files




                 3
Android Programming


Accessing Files

 Including Static Files as Resources
    If your application requires external file resources, you can include
     them in your distribution package by placing them in the res/raw
     folder of your project hierarchy.




                                   4
Android Programming


Accessing Files

 Including Static Files as Resources (etc.)
    Adding raw files to your resources hierarchy is an excellent
     alternative for large, preexisting data sources (such as
     dictionaries) where it’s not desirable (or even possible) to convert
     them into an Android database.




                                   5
Android Programming


Accessing Files

 Accessing File from SDCard
    Permission
      • <uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


    SDCard Path
      • Environment.getExternalStorageDirectory().getAbsolutePath()


    Check a file is exists or not
      • /sdcard/contacts.xml



                                     6
Android Programming


Accessing Files

 Accessing File from SDCard(etc. )
    Check a file is exists or not




                          7
Android Programming


Accessing Files

 Accessing File from SDCard(etc. )
    Create New File




                          8
Android Programming


Accessing Files

 Accessing File from SDCard(etc. )
    Delete File




                          9
Android Programming


Accessing Files

 Example 7.1
    Update Exercise 6 project:
       • Data will be loaded from /raw/contacts.xml




                                       10
Android Programming


Accessing Files

 Example 7.2
    Update Exercise 6 project:
       • Data will be stored in SDCard




                                         11
Android Programming


Data Storage




               Shared Preferences




                      12
Android Programming


Shared Preference

 Using SharedPreferences, you can create named maps
  of key/value pairs within your application that can be
  shared between application components running in
  the same Context.

 Shared Preferences support the primitive types
  Boolean, string, float, long, and integer, making them
  an ideal way to quickly store default values, class
  instance variables, the current UI state, and user
  preferences.


                          13
Android Programming


Shared Preference




                    14
Android Programming


Shared Preference




                    15
Android Programming


Shared Preference

 Example 7.3
    Update Example 7.2 project:
       • Prompt engaged users to rate your app
         in the Google Play




                                     16
Android Programming


Data Storage




         Accessing Local Database




                   17
Android Programming


Accessing Local Database

 Install a Firefox Add-on: SQLite manager
    https://addons.mozilla.org/vi/firefox/addon/sqlite-manager/




                                  18
Android Programming


Accessing Local Database

 Create Helper class
    It’s good practice to create a helper class to simplify your
     database interactions.
    BaseDAO class will be provided
    Add database file (demo.sqlite) to assets folder
    Open BaseDAO class and change DB_NAME = “demo.sqlite”




                                19
Android Programming


Accessing Local Database

 Using the BaseDAO class
    Check and create DB




                        20
Android Programming


Accessing Local Database

 Using the BaseDAO class
    Add new row




                        21
Android Programming


Accessing Local Database

 Using the BaseDAO class
    Add new row




                        22
Android Programming


Accessing Local Database

 Using the BaseDAO class
    Select rows




                        23
Android Programming


Accessing Local Database

 Using the BaseDAO class
    Delete a row




                        24
Android Programming


Accessing Local Database

 Using the BaseDAO class
    Update a row




                        25
Android Programming


Exercise 7

 Update Exercise 6 project:
    Data will be stored in SQLite database




                                26
Android Programming

[Android] Data Storage