Honeycomb的code里面MediaProvider由6个.java组成。分别是:
MediaProvider.java
MediaScannerReceiver.java
MediaScannerService.java
MediaThumbRequest.java
MtpService.java
UsbReceiver.java
主要解释如下:
1.MediaProvider.java
此类继承于ContentProvider,实现一个内容提供者。像外界提供数据访问。
主要包括:DatabaseHelper GetTableAndWhereOutParameter ThumbData
DatabaseHelper继承自SQLiteOpenHelper类,提供数据库的入口。它有三个抽象方法组成。
onCreate()
onUpgrade()
onOpen()
DatabaseHelper():这是一个构造函数,主要用来叫起super()
onCreate():当数据库第一次被创建的时候被叫起.它会调用SQLiteDatabase.execSQL()方法来创建数据表。具体需要调用updateDatabase(db,mInternal,0,DATABASE_VERSION);
onUpgrade():当数据库需要升级的时候,该方法被叫起。通过调用SQLiteDatabase.execSQL()方法来删除数据表。并且创建新的数据表。整个的具体实现是在updateDatabase(db,mInternal,oldV,newV);