当前位置:  开发笔记 > 前端 > 正文

Android上的SQLite如何处理长字符串?

如何解决《Android上的SQLite如何处理长字符串?》经验,为你挑选了1个好方法。

我想知道Android的SQLite实现如何处理长字符串.从sqlite的在线文档中读到,它说sqlite中的字符串限制为100万个字符.我的琴弦肯定更小.

我正在创建一个简单的RSS应用程序,在解析html文档和提取文本后,我遇到了将其保存到数据库的问题.我在数据库中有2个表,feedsarticles.从feeds表中正确保存和检索RSS提要,但是当保存到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);";

Viesturs.. 7

由于Android使用SQLite作为后端,因此所有字段都是可变长度的.默认的sqlite字段长度限制是10亿个字符,但android可能已经改变了这个.



1> Viesturs..:

由于Android使用SQLite作为后端,因此所有字段都是可变长度的.默认的sqlite字段长度限制是10亿个字符,但android可能已经改变了这个.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有