【问题标题】:How to Contant Sqlite Database Using ContentProvider and LoaderManager如何使用 ContentProvider 和 LoaderManager 联系 Sqlite 数据库
【发布时间】:2014-10-11 12:32:24
【问题描述】:

我很难弄清楚如何使用我的内容提供者创建一个新表,我已经为这个权限创建了一个提供者:com.mypackage.database/chats,在其中,它运行良好,但我制作了几个数据库使用 SqliteOpenHelper,名称例如“mydb.db”,在同一个包中。 我需要的是这样的东西:

     if(uriMatcher.match(Uri.parse("content://com.lifemate.lmmessenger.database/chats/mynewtable))== -1){

 System.out.println();
 Log.i("loader","Table Didnt Exists,Creating it...");
   String sqlCreate = "CREATE TABLE IF NOT EXISTS " + "'"+CurrentTarget+"'"
            + "  (_id           INTEGER PRIMARY KEY AUTOINCREMENT,"
            + "   username            TEXT,"
            + "   message           TEXT,"
            + "   isfile           TEXT,"
            + "   isright     INTEGER,"
            + "   time          CHAR,"
            + "   delivery INTEGER)";
    mDb.execSQL(sqlCreate);

    VCards.vCardsInstance.DownloadVCards(CurrentTarget);

 }

有没有办法可以通过我的 ContentProvider 联系他们,或者有什么方法可以使用提供程序创建一个新表?非常感谢

【问题讨论】:

  • 你为什么不为此使用 SQLiteOpenHelper?
  • 因为我想用LoaderManager

标签: android database sqlite android-contentprovider


【解决方案1】:

内容提供者可以通过SQLiteOpenHelper 对象访问数据库。

但是,使用a CursorLoader that does not need a content provider 并直接访问数据库(帮助程序)可能更容易。

【讨论】:

  • 是的,我找到了一个,SqliteProvider
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-03
  • 2023-01-25
  • 1970-01-01
  • 2020-06-02
  • 2023-03-25
相关资源
最近更新 更多