相关疑难解决方法(0)

在Android中使用CursorAdapter进行ORMLite

我正在修改我的Android应用程序以使用ORMLite,它目前使用了许多CursorAdapter,我非常希望尽量减少编码.

我不是100%肯定但是看起来当ORMLite在db中创建一个id字段时,它总是使用id,而CursorAdapter需要_id.

可以使用如下查询来解决此问题:

select id as _id ......
Run Code Online (Sandbox Code Playgroud)

但该Dao.queryRaw()方法返回一个列表,而不是Cursor,所以我这样做的方法是打开另一个SQLiteOpenHelper数据库连接并使用rawQuery().

这有效,但有没有更好的方法呢?拥有两个独立的数据库连接似乎有点过头了,以后可能会存在麻烦.

android ormlite android-cursoradapter

12
推荐指数
2
解决办法
7067
查看次数

如何在LoaderManager中使用Ormlite

我在我的Android应用程序中成功使用OrmLite.我正在将我的应用程序移动到新的CursorLoader逻辑,我想知道如何使用带有CursorLoader的Ormlite而不使用ContentProvider.

不可能吗?

android ormlite

9
推荐指数
1
解决办法
3119
查看次数

Ormlite,listViews和适配器?

我在我的应用程序中使用数据库帮助程序运行OrmLite,依此类推.我查看了OrmLite的示例和一些教程.这是我使用listViews的代码:

数据库经理:

public List<Artist> getAllArtists() {
    List<Artist> artists = null;
    try {
        artists = getHelper().getArtistDao().queryForAll();
    } catch (SQLException e) {
            e.printStackTrace();
    }
    return artists;
}
Run Code Online (Sandbox Code Playgroud)

活动:

List<Artist> artists = dataBase.getAllArtists(); 

for (Artist artist : artists) {
     items.add(artist);
}

mAdapter = new ArtistsListCustomAdapter(getActivity(), items);
listView.setAdapter(mAdapter);
Run Code Online (Sandbox Code Playgroud)

这是一个好的方法还是使用我的方法会遇到麻烦?

从其他来源我已经读过应该CursorAdapter用于listViews而不是BaseAdapter(我现在正在扩展ArtistsListCustomAdapter()).对我来说,第二次迭代结果来创建数组似乎很尴尬.

我已经找到了一些关于使用适配器的线索,但由于我对Android很新,所以我真的很感激"连接点"的更多线索.在我的情况下,应该getAllArtists()返回一个Cursor?这么简单的任务似乎很复杂:

使用ORMLite的Android Cursor在CursorAdapter中使用

android ormlite android-listview

6
推荐指数
1
解决办法
2564
查看次数

使用带有ormlite的原始sql获取游标

我想将SimpleCursorAdapter与Spinner一起使用.

我找到了如何返回Cursor.

QueryBuilder<ChoixPointVerification, Integer> qb = choixPointVerificationDao.queryBuilder();
qb.where().eq(FIELD, id);
PreparedQuery<ChoixPointVerification> preparedQuery = qb.prepare();
AndroidCompiledStatement compiledStatement =
                (AndroidCompiledStatement)preparedQuery.compile(db, StatementType.SELECT);

Cursor cursor = compiledStatement.getCursor();
return cursor;
Run Code Online (Sandbox Code Playgroud)

但是Spinner需要一个_id字段,而我只有一个带有id字段的对象.我宁愿避免重命名这个领域.

我该如何解决这个案子?我真的需要将id与所有微调器字段相关联.

我想我可以从rawsql发出一个游标但是我找不到如何使用ormlite.如果我可以使用原始sql创建PreparedQuery似乎是可能的.

我还读到,如果我有一个AndroidDatabase对象,我可以发出一个Cursor对象,但是我们如何用ormlite创建一个AndroidDatabase呢?

我真的很开心所有的解决方案

问候

android ormlite

2
推荐指数
1
解决办法
4240
查看次数