android
  • android-contacts
  • 2017-07-28 7 views 1 likes 
    1

    にBLOBを変換することができません。私のコード:android.database.sqlite.SQLiteException:不明なエラー(コード0):既存の連絡先に名前を更新している間、私はこのエラーを取得しています文字列

    String nameWhere = ContactsContract.Data.CONTACT_ID + "=? AND " + ContactsContract.Data.MIMETYPE + "='" 
          + ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE + "'"; 
    
    String[] idParam = new String[]{contacts.getContactId()}; 
    
        ContentValues values = new ContentValues(); 
        values.put(ContactsContract.Contacts.Data.RAW_CONTACT_ID, id); 
        values.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, contacts.getName()); 
        int update = context.getContentResolver().update(ContactsContract.Data.CONTENT_URI, values, nameWhere, idParam); 
    

    私はまた、これらのリンクを経由しています SQLiteException Unable to convert BLOB to string when contact have photo. Android と、その問題に関連する他の。

    と私のログ

    E/AndroidRuntime:致命的な例外:メイン プロセス:com.embedded.contacts、PID:15248 android.database.sqlite.SQLiteException:不明なエラー(コード0):変換できません文字列 にBLOB ############################################## ################### エラーコード:0(SQLITE_OK) によって引き起こさ:不明なエラー(コード0):文字列 にBLOBを変換することができません##### ########################## ########## ########################## ############### エラーコード:0(SQLITE_OK) をすることによって引き起こさ:不明なエラー(コード0):文字列 にBLOBを変換することができません######### ########################## ###### エラーコード:0(SQLITE_OK) によって引き起こさ:不明なエラー(コード0):文字列 にBLOBを変換することができません################## #################### ## ########################## ############# android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:179)アンドロイドで で。 RAW_CONTACT_IDDISPLAY_NAME:database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)android.content.ContentProviderProxy.update(ContentProviderNative.java:568)で

    +0

    は、完全なログを表示...私が持っているρяσѕρєя[email protected] –

    +0

    ログを追加して、もう一度チェックしてください。 – user8269038

    答えて

    0

    あなたのコードは、2つの値を変更しています。 問題はRAW_CONTACT_IDは読み取り専用です。 とにかくraw-contact-idを変更するつもりはないと思います。 あなただけのこれを試して、連絡先のDISPLAY_NAMEそのIDによってを変更する場合:

    String selection = Data.CONTACT_ID + "=" + contacts.getContactId() + " AND " + Data.MIMETYPE + "='" + StructuredName.CONTENT_ITEM_TYPE + "'"; 
    ContentValues values = new ContentValues(); 
    values.put(StructuredName.DISPLAY_NAME, contacts.getName()); // make sure getName() returns a String!!! 
    getContentResolver().update(Data.CONTENT_URI, values, selection, null); 
    

    (あなたがDataStructuredNameの正しいクラスをインポート検証)

    +0

    私も 'RAW_CONTACT_ID'アップデートを削除してみましたが、私の問題は解決しません。 – user8269038

    +0

    私のコードを試しましたか? – marmor

     関連する問題

    • 関連する問題はありません^_^