我想知道 Android 的 SQLite 实现如何处理长字符串。从 sqlite 的在线文档中读取,它说 sqlite 中的字符串限制为 100 万个字符。我的弦肯定更小。
我正在创建一个简单的 RSS 应用程序,在解析 html 文档并提取文本后,我在将其保存到数据库时遇到问题。我的数据库中有 2 个表,feeds
and articles
。 RSS 源已正确保存并从中检索feeds
表,但是当保存到articles
表中,logcat 表示它无法将提取的文本保存到其列中。我不知道其他专栏是否也出现问题,logcat 中没有提及它们。
我想知道,由于文本来自网络上的文章,像 (",',;) 这样的符号会产生问题吗?Android 是否会自动转义它们,或者我必须这样做。我正在使用一种类似于插入的技术记事本教程之一:
public long insertArticle(long feedid, String title, String link, String description, String h1,tring h2, String h3, String p, String image, long date) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_FEEDID, feedid);
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_LINK, link);
initialValues.put(KEY_DESCRIPTION, description );
initialValues.put(KEY_H1, h1 );
initialValues.put(KEY_H2, h2);
initialValues.put(KEY_H3, h3);
initialValues.put(KEY_P, p);
initialValues.put(KEY_IMAGE, image);
initialValues.put(KEY_DATE, date);
return mDb.insert(DATABASE_TABLE_ARTICLES,null, initialValues);
}
P 列用于提取文本,h1、h2 和 h3 用于页面标题。 Logcat 仅报告 p 列有问题。该表是使用以下语句创建的:
private static final String DATABASE_CREATE_ARTICLES =
"create table articles( _id integer primary key autoincrement, feedid integer, title text, link text not null, description text," + "h1 text, h2 text, h3 text, p text, image text, date integer);";