介绍
在Android中使用 SQLite, ContentProvider
数据库支持(SQLite) - Android 开发平台提供了操作 SQLite 数据库的相关 API
内容提供器(ContentProvider) - 当数据需要在应用程序之间共享时,可以在某程序中使用 ContentProvider 定义 URI, 以使其它应用程序可以通过此 URI 访问指定的数据
1、SQLite 的 Demo
DatabaseHelper.java
// TODO 每次成功打开数据库后首先被执行
}
}
Main.java
2、ContentProvider 的 Demo
MyUser.java
// 定义 CONTENT_URI
public static final Uri CONTENT_URI=Uri.parse("content://com.webabcd.MyContentProvider");
// 表数据列
public static final String USER_NAME="USER_NAME";
}
}
MyContentProvider.java
String content;
try {
in=new FileInputStream(file);
int length=(int) file.length();
byte[] buffer=new byte[length];
in.read(buffer, 0, length);
content=EncodingUtils.getString(buffer, "UTF-8");
in.close();
String[] columns=new String[] { MyUser.User._ID, MyUser.User.USER_NAME };
MatrixCursor cur=new MatrixCursor(columns);
String[] values=new String[] { "0", content };
cur.moveToFirst();
cur.addRow(values);
return cur;
} catch (Exception e) {
return null;
}
}
// ContentProvider 的更新数据接口
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
// TODO Auto-generated method stub
return 0;
}
}
Main.java
AndroidManifest.xml
<!--
配置一个自定义的 ContentProvider"
-->
<provider android:name="MyContentProvider" android:authorities="com.webabcd.MyContentProvider" />
</application>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-sdk android:minSdkVersion="3" />
</manifest>