杭州做网站的公司,家政公司,wordpress修改功能小工具栏,北京百度推广电话考虑到我们的接口文档可能不是很清晰#xff0c;昨天对接的时候也发现UI人员对我们的接口逻辑不太理解#xff0c;所以这里写几个典型范例。虽然对接也快对接完了#xff08;逃#xff0c;但是这样至少免得以后忘记了。 #xff08;注#xff1a;这里的代码都测试过…考虑到我们的接口文档可能不是很清晰昨天对接的时候也发现UI人员对我们的接口逻辑不太理解所以这里写几个典型范例。虽然对接也快对接完了逃但是这样至少免得以后忘记了。 注这里的代码都测试过放在HeartTrace\app\src\androidTest\java\com\example\dell\db\examples\中。持续性更新。 几个基本原则 任何新建的对象在insert之前是不会到数据库里的不管怎样都不会 任何已有的对象在修改之后如果不update修改也不会被更新到数据库里不管怎样都不会 只有通过getAll, getByRestrict, getAllLabel等方法获取的Diary Sentence Label Diarybook Sentencebook对象才指向数据库中的一个表项直接new的会被认为是一个新的表项 注 Diary要求text日记内容可以为空date日期不能为空diary book日记本可以为空TODO这个以后肯定会改成不能为空的 Sentence要求text日记内容可以为空date日期不能为空sentence book瓶子不能为空 Diarybook要求name名字不能为空且彼此不能重复 Sentencebook要求name名字不能为空且彼此不能重复 获取、释放DatabaseHelper 方法1 // 获取DatabaseHelper helper new DatabaseHelper(context); // 这个context视情况而定可能是this或者getApplicationContext()// 释放helper.close(); 方法2 // 获取DatabaseHelper helper OpenHelperManager.getHelper(context, DatabaseHelper.class); // context同上// 释放OpenHelperManager.releaseHelper(); 目录 Example 0. 将一个新的日记插入已有日记本并插入标签 Example 1. 通过名字判断某个瓶子是否存在如果不存在则新建这个瓶子。并将新建的小纸条插入这个瓶子 Example 2. 通过单个Label查找所有的Diary一些常见的错误操作 Example 0. 将一个新的日记插入已有日记本并插入标签 前提diarybook是一个已经插入数据库的日记本helper是已有的DatabaseHelper Diary diary new Diary(hiasjfhlaf);diary.setDate();diary.setDiarybook(diarybook);diary.insert(helper);Label label1 new Label(label1);label1.insert(helper);Label label2 new Label(label2);label2.insert(helper);diary.insertLabel(helper, label1);diary.insertLabel(helper, label2);ListLabel list diary.getAllLabel(helper);for(Label l : list) {Log.d(getClass().getName(), testExample0: label l.getLabelname());} 如果想要对已有的diary进行insertLabel操作其实完全同理。 Example 1. 通过名字判断某个瓶子是否存在如果不存在则新建这个瓶子。并将新建的小纸条插入这个瓶子 前提helper是已有的DatabaseHelperbookName是已有的String。 Sentencebook b Sentencebook.getByName(helper, bookName);if(b null) {b new Sentencebook(bookName);b.insert(helper);}Sentence sentence new Sentence(adfjanvnavop);sentence.setDate();sentence.setSentencebook(b);sentence.insert(helper); 如果想要通过名字获得某个Label假如不存在就新建Label代码同理。 Example 2. 通过单个Label查找所有的Diary 前提helper是已有的DatabaseHelperlabel已经在数据库内这个很重要不然会报错的。 ListLabel labelList new ArrayList();labelList.add(label);ListDiary d Diary.getByRestrict(helper, null, null, null, labelList, true); 一些常见的错误操作 对于Label Diarybook Sentencebook这三个要求名字不能重复的类如果重复插入名字相同的对象肯定会崩溃的。 另 关于出了问题怎么办 如果是和数据库有关的错误请立刻联系数据库人员不要试图自己瞎jb调 把一小段代码发过来有时候是有用的但有的时候是没用的。比较好的方法是把整个工程文件弄过来然后告诉数据库人员如何复现情景因为数据库人员 真 的 不知道你们点哪个键怎么跳转怎么才能触发错误…… 当然最好的方法是带着电脑跟数据库的人面♂调 问如果现在有一个错误但是三个写数据库的人都不理我怎么办 答买个西瓜/冰淇淋到空调房里看电影或写作业直到写数据库的人回复 或者如果水群在线只是不想理你的话可以提出给水群买个奶茶w 转载于:https://www.cnblogs.com/USTC-CC/p/9154712.html