使用记事本教程并提出问题。当它使用字段rowid,title和body构建数据库时 - 所有这三个都是私有静态最终字符串。但是当像fetchnote()这样的方法运行时,它使用一个很长的id来获取音符。如果rowid是一个字符串,该方法如何获得该ID?我想稍微修改一下这个教程并让一个活动调用一个listactivity。列表活动将显示数据库中的所有内容,然后,当用户单击某个项目时,我想将该项目复制到新数据库中,并将行标识发送回调用活动。但我不知道如何让它将条目复制到新数据库中,因为本教程使用行ID进行调整,并且我的新数据库将为空。那有意义吗?我对此很陌生。关于记事本教程的问题
0
A
回答
1
我觉得public static final Strings
你谈论这些是:
public class NotesDbAdapter {
public static final String KEY_TITLE = "title";
public static final String KEY_BODY = "body";
public static final String KEY_ROWID = "_id";
...
}
如果是这样,那么这些列名。列名称是字符串,而不是这些列中的值。如果你看得更深一点,你会看到:
private static final String DATABASE_CREATE =
"create table notes (_id integer primary key autoincrement, "
+ "title text not null, body text not null);";
这是如何创建数据库。正如你所看到的那样,“_id”列的类型是“整数”,我猜是和long一样的(或至少兼容)。
(编辑)
下应使您能够将附注内容复制出来的原始表并将其插入到另一个。
mCursor = mDbHelper.fetchNote(rowId);
title = mCursor.getString(mCursor.getColumnIndex(NotesDbAdapter.KEY_TITLE));
body = mCursor.getString(mCursor.getColumnIndex(NotesDbAdapter.KEY_BODY));
// I'm using mDbHelper2 here to indicate that you're inserting it into
// a different table.
mDbHelper2.createNote(title, body);
// And if you want to remove it from the original table as well:
mDbHelper.deleteNote(rowId);
// I'm guessing you'd have to run this to square up all the rows in the display:
fillData();
0
您可以使用与第一个列相同的列来设置新的数据库,但在id列上没有自动递增参数。然后,您只需添加一个新的条目,并使用与另一条相同的详细信息。
+0
因此,如果我建立了一个新的数据库,我会设置它与原始相同的列减去rowid。那么我将如何处理数据库呢? 现在,ListActivity打开并显示数据库条目。然后我有一个OnListItemClick方法,它接受被单击的条目的行ID - >然后我想将该条目复制到新的数据库中(通过记事本CreateNote方法修改以适合我的需要并减去rowid?)我不是确定如何去设置。 – Will 2010-08-31 18:27:41
相关问题
- 1. 记事本教程
- 2. 关于Android教程的问题
- 3. 问题上的记事本教程:网页
- 4. Android记事本教程 - onListItemClick
- 5. Android SQL - 记事本教程
- 6. 关于在Android中扩展记事本教程的一个非常开放的,n00b-esque的问题
- 7. 关于Dojo事件的教程
- 8. 关于教义的新手问题
- 9. 关于Clojure与状态相关问题的书籍/教程
- 10. 记事本++的问题
- 11. 试图Android的记事本教程 - 练习1 - 更多的问题
- 12. iPhone原始记事本教程?
- 13. 记事本教程:添加baseadapter
- 14. 关于Android教程“hello world”的疑问
- 15. 关于来自太阳的死锁教程的问题
- 16. 记事本++格式问题
- 17. RegEx问题与记事本+
- 18. 关于socket.io教程(第1部分)的许多问题?
- 19. Noob关于“Hello World”Android教程的问题
- 20. 有关XPath教程问题由w3school
- 21. 关于ASP.NET的WebSockets教程
- 22. 关于XMLObject的教程
- 23. 关于WinAPI unicode的教程?
- 24. 关于PyObjC的教程
- 25. 关于TMemIni的教程
- 26. 关于XMPP的好教程?
- 27. 关于OpenMap的教程
- 28. Android dev记事本教程练习,烦人的空笔记
- 29. 关于线程的问题
- 30. 关于程序的问题
那么,我将如何去获取当前的数据库条目并将其复制到新的数据库中。我可以通过点击的rowId获取当前条目。我如何复制条目并将rowid更新为它应该包含的内容,而不是被点击的原始条目的rowid - 这就是我被卡住的地方。我无法让副本工作,然后将新的数据库rowid传递回调用活动。 – Will 2010-08-31 20:12:13
NotesDbAdapter类具有一个fetchNote()函数,该函数接受一个rowId并返回一个指针,该指针指向数据库中具有该rowId的条目。然后,您可以获取数据字段(在本例中为标题和正文),并使用相同的值在新表中创建一个新条目。 – onlynone 2010-09-03 17:31:49