Android SQLite Database Package, http://developer.android.com/reference/android/database/sqlite/package-summary.html

·         Contains the SQLite database management classes that an application would use to manage its own private database. Applications use these classes to manage private databases.

·         If creating a content provider, you will probably have to use these classes to create and manage your own database to store content. See Content Providers to learn the conventions for implementing a content provider. See the NotePadProvider class in the NotePad sample application in the SDK for an example of a content provider. Android ships with SQLite version 3.4.0.

·         If you are working with data sent to you by a provider, you will not use these SQLite classes, but instead use the generic android.database classes.

 

Android Database Cursor Class, http://developer.android.com/reference/android/database/Cursor.html

·         public interface Cursor implements Closeable

·         android.database.Cursor

·         This interface provides random R/W access to the result set returned by a database query.

 

JSON – JavaScript Object Notation Package, http://developer.android.com/reference/org/json/package-summary.html

Android JSON Classes

·         JSONArray – a dense indexed sequence of values

·         JSONObject – a modifiable set of name/value mappings

·         JSONStringer – implements toString()

·         JSONTokener – parse JSON (FRC 4627) encoded string into the corresponding object

·         RFC 4627 – The application/json Media type for JavaScript Object Notation (JSON), 2006, http://www.ietf.org/rfc/rfc4627.txt

 

Content Providers, http://developer.android.com/guide/topics/providers/content-providers.html

·         Content providers manage access to a structured set of data. They encapsulate the data, and provide mechanisms for defining data security. Content providers are the standard interface that connects data in one process with code running in another process.

·         When you want to access data in a content provider, you use the ContentResolver object in your application's Context to communicate with the provider as a client. The ContentResolver object communicates with the provider object, an instance of a class that implements ContentProvider. The provider object receives data requests from clients, performs the requested action, and returns the results.

·         You don't need to develop your own provider if you don't intend to share your data with other applications. However, you do need your own provider to provide custom search suggestions in your own application. You also need your own provider if you want to copy and paste complex data or files from your application to other applications.

 

Loader Class, http://developer.android.com/reference/android/content/Loader.html

·         Public class Loader extends Object

·         A class that performs asynchronous loading of data. While Loaders are active they should monitor the source of their data and deliver new results when the contents change. See LoaderManager for more detail.

·         Note on threading: Clients of loaders should as a rule perform any calls on to a Loader from the main thread of their process (that is, the thread the Activity callbacks and other things occur on). Subclasses of Loader (such as AsyncTaskLoader) will often perform their work in a separate thread, but when delivering their results this too should be done on the main thread.

·         Subclasses generally must implement at least onStartLoading(), onStopLoading(), onForceLoad(), and onReset().

·         Most implementations should not derive directly from this class, but instead inherit from AsyncTaskLoader.