草庐IT

android - NotesDbAdapter 示例是针对一张表的,那么多张表呢?

coder 2023-07-20 原文

我检查了 NotesDbAdapter 示例,我注意到它仅适用于单个表。 (注释)

1) 我想知道如何对多个表完成此操作? 例如,我现在有 3 个表。我将如何处理这三个表中的所有升级、获取、删除?

2) 我看到表列的已定义属性

public static final String KEY_TITLE = "title";
public static final String KEY_BODY = "body";
public static final String KEY_ROWID = "_id";

如何为多表情况定义列?

最佳答案

对于我的应用程序,我创建了一个类来定义数据库:

public final class MyApplicationDb
{
    public static String DATABASE_NAME = "my_application_db";
    public static int DATABASE_VERSION = 1;

    public static final class Table1
    {
        public static String TABLE_NAME = "table1";
        public static String ID = "_id";
        public static String DAY = "day";
        public static String NAME = "name";
        public static String SOURCE = "source";
        public static String[] COLUMNS = { ID, DAY, NAME, SOURCE };
    }
    public static final class Table2
    {
        public static String TABLE_NAME = "table2";
        public static String ID = "_id";
        public static String CONTACT_ID = "contactId";
        public static String CONTACT_NAME = "contactName";
        public static String LAST_WISH_DATE = "lastWishDate";
        public static String[] COLUMNS = { ID, CONTACT_ID, CONTACT_NAME, LAST_WISH_DATE };
    }
}

还有 2 个用于创建和更新数据库的 sql 脚本 res/raw/db_create.sqlres/raw/db_update.sql

/* db_create.sql */
create table table1(
  _id integer primary key autoincrement,
  day char(5) not null,
  name varchar(64) not null,
  source varchar(64) not null);
create table table2(
  _id integer primary key autoincrement,
  contactId integer not null,
  contactName text not null,
  lastWishDate char(10) null);


/* db_update.sql */
DROP TABLE IF EXISTS table1;
DROP TABLE IF EXISTS table2

还有另一个用于创建/更新/访问数据库的类,它类似于 NotesDbAdapter,只是它使用 sql 脚本而不是常量来创建/更新数据库。 (查看 here 了解如何做到这一点)

关于android - NotesDbAdapter 示例是针对一张表的,那么多张表呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2339821/

有关android - NotesDbAdapter 示例是针对一张表的,那么多张表呢?的更多相关文章

  1. ruby - 使 faSTLane 不那么冗长 - 2

    有没有办法配置(例如,可以使用Fastfile)或以更简洁的方式执行FaSTLane?它目前打印出很多信息,这些信息通常会使开发人员对警告和错误视而不见。主要问题是需要花费一些时间在大量无用消息中滚动和搜索黄色/红色文本,直到您了解发生了什么。默认设置会打印所有内容,令人惊讶的是甚至还有--verbosemode对于CLI,但我找不到任何相反的东西,例如--quiet模式。编辑:下面是一些我希望能够抑制的输出示例。考虑到我使用了来自gitrepo的Fastfile,gym、match、cocoapods、get_version_number、increment_version_numb

  2. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  3. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  4. Ruby-vips 图像处理库。有什么好的使用示例吗? - 2

    我对图像处理完全陌生。我对JPEG内部是什么以及它是如何工作一无所知。我想知道,是否可以在某处找到执行以下简单操作的ruby​​代码:打开jpeg文件。遍历每个像素并将其颜色设置为fx绿色。将结果写入另一个文件。我对如何使用ruby​​-vips库实现这一点特别感兴趣https://github.com/ender672/ruby-vips我的目标-学习如何使用ruby​​-vips执行基本的图像处理操作(Gamma校正、亮度、色调……)任何指向比“helloworld”更复杂的工作示例的链接——比如ruby​​-vips的github页面上的链接,我们将不胜感激!如果有ruby​​-

  5. arrays - 如何在下面的示例中将两个值数组分组为 n 个值数组? - 2

    我已经有很多两个值数组,例如下面的例子ary=[[1,2],[2,3],[1,3],[4,5],[5,6],[4,7],[7,8],[4,8]]我想把它们分组到[1,2,3],[4,5],[5,6],[4,7,8]因为意思是1和2有关系,2和3有关系,1和3有关系,所以1,2,3都有关系我如何通过ruby​​库或任何算法来做到这一点? 最佳答案 这是基本Bron–Kerboschalgorithm的Ruby实现:classGraphdefinitialize(edges)@edges=edgesenddeffind_maximum_

  6. ruby - Google-api-ruby-client 翻译 API 示例 - 2

    很高兴看到google代码:google-api-ruby-client项目,因为这对我来说意味着Ruby人员可以使用GoogleAPI-s来完善代码。虽然我现在很困惑,因为给出的唯一示例使用Buzz,并且根据我的实验,Google翻译(v2)api的行为必须与google-api-ruby-client中的Buzz完全不同。.我对“Explorer”演示示例很感兴趣——但据我所知,它并不是一个探索器。它所做的只是调用一个Buzz服务,然后浏览它已经知道的关于Buzz服务的事情。对我来说,Explorer应该让您“发现”所公开的服务和方法/功能,而不一定已经知道它们。我很想听听使用这个

  7. ruby - 是否有 SproutCore 或 Cappuccino 的现场演示/示例应用程序 - 2

    在他们的网站上找不到任何内容。我主要只是想看看哪个值得一试(当然是RIA)。谢谢 最佳答案 SproutCoredemos 关于ruby-是否有SproutCore或Cappuccino的现场演示/示例应用程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1419788/

  8. ruby - 如何设置自动测试以仅重新运行失败的 rspec 示例 - 2

    我对自动测试的工作方式的印象(基于cucumbergithubwiki和其他在线内容)是它应该重新运行红色示例,直到它们通过。我的问题是它会重新运行规范文件中找到失败示例的所有示例,包括通过的示例。我不想浪费时间在修复失败示例的同时重新运行通过的示例。是否可以配置自动测试以便仅运行失败的示例? 最佳答案 您需要rspec-retrygem。以下是文档中有关如何实现它的一些示例:将它应用到覆盖整个测试套件的configureblock中...RSpec.configuredo|config|config.verbose_retry=t

  9. ruby - 是否有 Rack::Session::Cookie 用法的基本示例? - 2

    我找不到任何使用Rack::Session::Cookie的简单示例,并且希望能够将信息存储在cookie中,并在以后的请求中访问它并让它过期.这些是我能找到的唯一示例:HowdoIset/getsessionvarsinaRackapp?http://rack.rubyforge.org/doc/classes/Rack/Session/Cookie.html这是我得到的:useRack::Session::Cookie,:key=>'rack.session',:domain=>'foo.com',:path=>'/',:expire_after=>2592000,:secret=

  10. ruby - 点列表的 RGeo 凸包 - 2

    RGeo有可用的凸包方法,但在这方面根本没有文档。给定一组点,我如何找到它们的凸包? 最佳答案 好问题。事实证明,有一种名为“MultiPoint”的几何类型适用于此。我做了一个简单的例子来测试它,它似乎运行良好。f=RGeo::Geos.factory(:srid=>3361,:buffer_resolution=>8)#mytypicallocalrectilinearprojectionfactorywithmydefaultsettings.coords=[[1,1],[2,2],[1,3]]points=[]coords.

随机推荐