(8)Launcher3客制化之ContentProvider内容提供者,实现其他应用修改数据库更新等操作
2014-10-18 23:30
369 查看
首先添加两个权限
<uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.WRITE_SETTINGS"/>
这两个是修改 桌面的数据库的权限
不添加就修改不了哦
直接通过内容提供者获取数据,
具体我就不进行代码编写了。
<uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.WRITE_SETTINGS"/>
这两个是修改 桌面的数据库的权限
不添加就修改不了哦
直接通过内容提供者获取数据,
static ArrayList<ShortcutInfo> getItemsInLocalCoordinates(Context context) { ArrayList<ShortcutInfo> items = new ArrayList<ShortcutInfo>(); final ContentResolver cr = context.getContentResolver(); Cursor c = cr.query(LauncherSettings.Favorites.CONTENT_URI, new String[] { LauncherSettings.Favorites.ITEM_TYPE, LauncherSettings.Favorites.CONTAINER, LauncherSettings.Favorites.SCREEN, LauncherSettings.Favorites.CELLX, LauncherSettings.Favorites.CELLY, LauncherSettings.Favorites.SPANX, LauncherSettings.Favorites.SPANY ,LauncherSettings.Favorites.TITLE,LauncherSettings.Favorites.INTENT}, null, null, null); final int itemTypeIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.ITEM_TYPE); final int containerIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.CONTAINER); final int screenIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.SCREEN); final int cellXIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.CELLX); final int cellYIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.CELLY); final int spanXIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.SPANX); final int spanYIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.SPANY); final int titleIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.TITLE); final int intenIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.INTENT); try { while (c.moveToNext()) { ShortcutInfo item = new ShortcutInfo(); item.cellX = c.getInt(cellXIndex); item.cellY = c.getInt(cellYIndex); item.spanX = Math.max(1, c.getInt(spanXIndex)); item.spanY = Math.max(1, c.getInt(spanYIndex)); item.container = c.getInt(containerIndex); item.itemType = c.getInt(itemTypeIndex); item.screenId = c.getInt(screenIndex); item.title=c.getString(titleIndex); if(c.getString(intenIndex)!=null){ item.intent=new Intent(c.getString(intenIndex)); } items.add(item); } } catch (Exception e) { items.clear(); } finally { c.close(); } return items; }修改内容同理通过对于的URL进行修改,
具体我就不进行代码编写了。
相关文章推荐
- (8)Launcher3客制化之ContentProvider内容提供者,实现其它应用改动数据库更新等操作
- 操作数据库是否需要实现自己的内容提供器
- Android学习---通过内容提供者(ContentProvider)操作另外一个应用私有数据库的内容
- ContentProvider 操作其他应用的数据库
- Android复习练习十二(自定义ContentProvider实现其他应用操作本应用SQLite数据库)
- android 玩转ContentProvider之一--实现ContentProvider操作数据库
- ABAP--如何实现交货单的任何一item库位发生人工修改时系统自动更新所有items(感谢天元提供)
- python实现更新页面内容的小例子,已经修改成“更新订饭菜单“
- bboss persistent 实现数据库更新操作
- 系出名门Android(9) - 数据库支持(SQLite), 内容提供器(ContentProvider)
- vb 利用ADO.Net实现数据库的连接,修改,删除,插入操作
- Android 内容提供器---创建内容提供器(实现ContentProvider的MIME类型)
- 内容提供器ContentProvider的原理及应用
- 实现向数据库中任何表中添加、删除、修改内容
- 拖拽自动生成的DataGridView和BindingSource操作数据库(增加,修改,删除)---自己实现
- 如何用一张JSP页面连接数据库,实现查询、修改操作
- fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。 ifstream -- 从已有的文件读 ofstream -- 向文件写内容 fstream - 打开文件供读写
- 用WebService实现对数据库进行操作(添加+删除+修改)
- 如何不用数据库实现内容的动态更新
- JAVA操作XML三(更新):修改或删除XML内容