2013-09-23 9 views
1

100 콜 로그 삽입에 실패하면 어떻게 롤백합니까? 안드로이드는 비슷한 접근 방식을 제공합니까?어떻게 액션이 android calllog의 거래를 삽입합니까?

ArrayList<ContentValues> lstValues = new ArrayList<ContentValues>(); 
     for(SmsItem smsItem : data){ 
      ContentValues values = new ContentValues(); 
      long threadId = getOrCreateThreadId(mContext, new String[] {smsItem.address}); 
      values.put(THREAD_ID, threadId); 
      values.put(ADDRESS, smsItem.address); 
      values.put(DATE, smsItem.date*1000L); 
      values.put(TYPE, smsItem.tpye); 
      values.put(BODY, smsItem.body); 
      values.put(READ,smsItem.read); 
      lstValues.add(values); 
     } 
     Uri uri = Uri.parse(SMS_URI); 

     int count = mContext.getContentResolver().bulkInsert(uri, 
       lstValues.toArray(new ContentValues[lstValues 
                .size()]));//if here is failed,how rollback? 

답변

0

이 경우 트랜잭션을 사용하여 데이터베이스 작업을 수행해야합니다. Transaction을 사용하면 많은 수의 삽입을 효율적으로 수행 할 수 있으며 오류가 발생할 경우 롤백 할 수 있습니다.

자세한 내용은 this link을 확인하십시오.

+0

ContentResolver not transcation – user2806483