Android网络编程之一个Android下菜单系统模块的实现(客户端—添单功能(上部))
2013-05-15 18:11
826 查看
接下来,我们完成客户端的添单功能。选择添菜弹出一个Dialog,选择菜品,输入数量与备注后,显示在下方的ListView中。
为了方便,我们仍选择在客户端本地建立sqlite菜品表,并为其编写一个ContentProvider
本篇依然先介绍数据库与ContentProvider等准备工作的编写。
在com.moka.provider包中,先定义关于菜品表的元数据:
View Code
注册provider:
为了方便操作,先向menutbl表中插入5条数据如下:
OrderAcitvity中的余下操作在下篇讨论
为了方便,我们仍选择在客户端本地建立sqlite菜品表,并为其编写一个ContentProvider
本篇依然先介绍数据库与ContentProvider等准备工作的编写。
在com.moka.provider包中,先定义关于菜品表的元数据:
public class MenuProvider extends ContentProvider { private DBHelper helper = null; private static UriMatcher uriMatcher = null; private static final int GET_LIST = 1; private static final int GET_ITEM = 2; static { uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); uriMatcher.addURI(Menus.AUTHORITY, Menus.TABLE_NAME, GET_LIST); uriMatcher.addURI(Menus.AUTHORITY, Menus.TABLE_NAME + "/#", GET_ITEM); } @Override public boolean onCreate() { helper = new DBHelper(getContext()); helper.getReadableDatabase(); return true; } @Override public String getType(Uri uri) { // 暂时不需要查看类型 return null; } @Override public Uri insert(Uri uri, ContentValues values) { SQLiteDatabase db = this.helper.getWritableDatabase() ; long id = 0 ; switch(uriMatcher.match(uri)) { case GET_LIST : // 插入数据操作 id = db.insert(Menus.TABLE_NAME, Menus._ID, values); String uriPath = uri.toString() ; String path = uriPath + "/" + id ; return Uri.parse(path) ; case GET_ITEM : return null ; default: throw new UnsupportedOperationException("Not Support Operation :" + uri); } } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { // 获得可读数据库 SQLiteDatabase db = helper.getReadableDatabase(); switch (uriMatcher.match(uri)) { case GET_LIST: return db.query(Menus.TABLE_NAME, projection, selection, selectionArgs, null, null, sortOrder); case GET_ITEM: long id = ContentUris.parseId(uri) ; String where = "_id=" + id ; return db.query(Menus.TABLE_NAME, projection, where, selectionArgs, null, null, sortOrder); default: throw new UnsupportedOperationException("Not Support Operation :" + uri); } } @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { // 暂时不需要更新操作 return 0; } @Override public int delete(Uri uri, String selection, String[] selectionArgs) { // 暂时不需要删除操作 return 0; } }
View Code
注册provider:
<provider android:name="com.moka.provider.MenuProvider" android:authorities="com.moka.menuprovider" />
为了方便操作,先向menutbl表中插入5条数据如下:
OrderAcitvity中的余下操作在下篇讨论
相关文章推荐
- Android网络编程之一个Android下菜单系统模块的实现(客户端—开桌功能(上部))
- Android网络编程之一个Android下菜单系统模块的实现(客户端—结算功能)
- Android网络编程之一个Android下菜单系统模块的实现(客户端—开桌功能(下部))
- Android网络编程之一个Android下菜单系统模块的实现(开桌功能))(Android客户端+服务器端Servlet+Mysql)
- Android网络编程之一个Android下菜单系统模块的实现(客户端—添单功能(中部))
- Android网络编程之一个Android下菜单系统模块的实现(服务器端—结算功能(上部))
- Android网络编程之一个Android下菜单系统模块的实现(服务器端—开桌功能))
- Android网络编程之一个Android下菜单系统模块的实现(服务器端—添单功能)
- Android网络编程之一个Android下菜单系统模块的实现(服务器端—结算功能(下部))
- Android网络编程之一个Android下菜单系统模块的实现(服务器端—结算功能(中部))
- Android网络编程之一个Android下菜单系统模块的实现(客户端—更新菜单)
- Android网络编程之一个Android下菜单系统模块的实现(客户端—更新桌号)
- Android网络编程之一个Android下菜单系统模块的实现(服务器端—更新菜单)
- Android网络编程之一个Android下菜单系统模块的实现(服务器端—更新桌号)
- Android网络编程之一个Android下菜单系统模块的实现(主操作界面)
- Android网络编程之——Android下菜单系统模块的实现(Android客户端+服务器端Servlet+Mysql)
- Android网络编程之一个Android登录系统模块的实现(客户端)
- Android网络编程之——Android登录系统模块的实现(客户端+服务器端Servlet+MySQL)
- Android网络编程之一个Android登录系统模块的实现(服务器端)
- Android网络编程之——Android登录系统模块的实现(服务器端Servlet+Mysql)