2010-06-18 42 views
4

我想知道Android的SQLite如何處理長字符串。從在線文檔中讀取sqlite時,它表示sqlite中的字符串限制爲100萬個字符。我的琴絃絕對比較小。Android上的SQLite如何處理長字符串?

我創建一個簡單的RSS應用程序,並解析一個HTML文檔,並提取文本後,我有問題將其保存到數據庫。我在數據庫中有兩個表格,feedsarticles。 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);"; 
+1

發佈實際的錯誤消息和周圍的logcat上下文將很有用。 – 2010-06-18 09:04:41

+0

發現錯誤...對我而言,一個愚蠢的監督...... – Levara 2010-06-18 09:35:52

回答

7

由於Android使用SQLite作爲後端,所有字段是可變長度。默認的SQLite字段長度限制是10億字符,但android可能已經改變了這一點。

+1

看着代碼,我沒有看到任何地方的字符串的最大長度已被改變。 – 2012-11-09 23:45:56