首页 文章

Azure离线sqlite存储同步与主键,数据类型映射相关的问题

提问于
浏览
0

我正在使用sqlite进行azure脱机同步 . 并有几个问题 . 我是android和azure的新手

  • 是否可以在本地sqlite商店中定义primary_key(当我在azure apis上工作时)?因为我看到支持的android列类型很少 . 如果我需要一个有助于处理离线数据的主键(可能是出于性能或任何原因)该怎么办?

ColumnDataType:Boolean,Integer,Real,String,Date,DateTimeOffset,Other localStore.defineTable(“FR_Tbl_Items”,tableDefinition);

  • 我面临的另一个问题是,根据微软的ToDoItem示例,首先我应该有一个用于表的类(ToDoItem)定义所有列,然后使用它来创建MobileServiceTable对象以从azure获取数据 . 但如果我们需要再次离线同步,我们必须使用defineTable函数 . 这不会将ToDoItem类作为参数 . 我们必须在哈希映射中再次定义并传递它 . 为什么会这样?或者还有其他方法吗?

私人MobileServiceTable mToDoTable;和public void defineTable(String tableName,Map columns)

编辑:我知道sqlite支持主键,但看起来像azure不支持 . 我没有看到任何使用主键创建表的规定

private void define_Tbl_ChangedTable_Table(DBManager localStore) throws MobileServiceLocalStoreException {
    Map<String, ColumnDataType> tableDefinition = new HashMap<String, ColumnDataType>();
    tableDefinition.put("id", ColumnDataType.String);
    tableDefinition.put("lastupdatetime", ColumnDataType.Date);
    localStore.defineTable("Tbl_ChangedTable", tableDefinition);
}
  • 有什么地方可以看到Azure / Android / Sqlite之间的数据类型映射? Azure显示Number,Data as column type,我应该在Table类中使用Number(我可以使用Number,Java的Date类)然后最终我应该从ColumnDataType中选择什么数据类型

2 回答

相关问题