android.database.sqlite.SQLiteDatabase#insertOrThrow ( )源码实例Demo

下面列出了android.database.sqlite.SQLiteDatabase#insertOrThrow ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: iZhihu   文件: ThumbnailsDatabase.java
/**
 * 增加到缓存列表中
 *
 * @param url
 * @return
 */
public boolean add(String url) {
    if (isCached(url)) {
        return false;
    }

    SQLiteDatabase db = new DatabaseOpenHelper(context).getWritableDatabase();
    try {
        ContentValues contentValues = new ContentValues();
        contentValues.put(COLUM_URL, url);

        long values = db.insertOrThrow(DATABASE_THUMBNAILS_TABLE_NAME, null, contentValues);
        return values > 1;
    } catch (SQLiteException e) {
        return false;
    } finally {
        db.close();
    }
}
 
源代码2 项目: Capstone-Project   文件: PredatorDbHelper.java
public int addCollection(ContentValues contentValues) {
    // Create and/or open the database for writing
    SQLiteDatabase db = getWritableDatabase();

    // It's a good idea to wrap our insert in a transaction. This helps with performance and ensures
    // consistency of the database.
    db.beginTransaction();
    try {
        db.insertOrThrow(PredatorContract.CollectionsEntry.TABLE_NAME, null, contentValues);
        db.setTransactionSuccessful();
    } catch (Exception e) {
        Logger.e(TAG, "Error while trying to add collection to database", e);
    } finally {
        db.endTransaction();
    }
    return contentValues.getAsInteger(PredatorContract.CollectionsEntry.COLUMN_COLLECTION_ID);
}
 
源代码3 项目: restcomm-android-sdk   文件: DatabaseManager.java
public void addContact(String name, String uri) throws SQLException
{
   if (databaseHelper == null) {
      throw new RuntimeException("Database hasn't been opened.");
   }

   // Gets the data repository in write mode
   SQLiteDatabase db = databaseHelper.getWritableDatabase();

   // Create a new map of values, where column names are the keys
   ContentValues values = new ContentValues();

   values.put(DatabaseContract.ContactEntry.COLUMN_NAME_NAME, name);
   values.put(DatabaseContract.ContactEntry.COLUMN_NAME_URI, uri);
   db.insertOrThrow(DatabaseContract.ContactEntry.TABLE_NAME, null, values);
}
 
源代码4 项目: narrate-android   文件: DataProvider.java
@Override
public Uri insert(Uri uri, ContentValues values) {

    final int match = sUriMatcher.match(uri);
    SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();

    switch (match) {
        case ENTRIES: {
            db.insertOrThrow(Tables.ENTRIES, null, values);
            notifyChange(uri);
            return Entries.buildEntryUri(values.getAsString(Entries.UUID));
        }
        default: {
            throw new UnsupportedOperationException("Unknown insert uri: " + uri);
        }
    }
}
 
源代码5 项目: geopaparazzi   文件: DaoNotes.java
/**
 * Add a note without transaction (for fast insert of many).
 *
 * @param lon            lon
 * @param lat            lat
 * @param altim          elevation
 * @param timestamp      the UTC timestamp in millis.
 * @param text           the text
 * @param description    a description.
 * @param form           the json form or null
 * @param sqliteDatabase the database reference.
 * @return the inserted note id.
 */
public static long addNoteNoTransaction(double lon, double lat, double altim, long timestamp, String text,
                                        String description, String form, String style, SQLiteDatabase sqliteDatabase) {
    ContentValues values = new ContentValues();
    values.put(NotesTableFields.COLUMN_LON.getFieldName(), lon);
    values.put(NotesTableFields.COLUMN_LAT.getFieldName(), lat);
    values.put(NotesTableFields.COLUMN_ALTIM.getFieldName(), altim);
    values.put(NotesTableFields.COLUMN_TS.getFieldName(), timestamp);
    if (description != null)
        values.put(NotesTableFields.COLUMN_DESCRIPTION.getFieldName(), description);
    values.put(NotesTableFields.COLUMN_TEXT.getFieldName(), text);
    if (form != null)
        values.put(NotesTableFields.COLUMN_FORM.getFieldName(), form);
    if (style != null)
        values.put(NotesTableFields.COLUMN_STYLE.getFieldName(), style);
    values.put(NotesTableFields.COLUMN_ISDIRTY.getFieldName(), 1);
    long noteId = sqliteDatabase.insertOrThrow(TABLE_NOTES, null, values);
    return noteId;
}
 
源代码6 项目: earth   文件: EarthsProvider.java
@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE " + EarthsContract.TABLE +
            " (" + EarthsContract.Columns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT" +
            ", " + EarthsContract.Columns.FILE + " TEXT" +
            ", " + EarthsContract.Columns.FETCHED_AT + " INTEGER" +
            ")");

    @SuppressWarnings("ConstantConditions") final LegacyEarthSharedState state
            = new LegacyEarthSharedState(getContext());

    if (!TextUtils.isEmpty(state.getLastEarth())) {
        ContentValues values = new ContentValues();

        values.put(EarthsContract.Columns.FILE, state.getLastEarth());
        values.put(EarthsContract.Columns.FETCHED_AT, System.currentTimeMillis());

        db.insertOrThrow(EarthsContract.TABLE, null, values);
    }
}
 
源代码7 项目: 4pdaClient-plus   文件: TabTable.java
private static void saveTabInfo(SQLiteDatabase db, Themes topics, String template) {
    ContentValues values = new ContentValues();
    values.put(COLUMN_ID, -1);
    values.put(COLUMN_TEMPLATE, template);
    values.put(COLUMN_MAXCOUNT, topics.getThemesCount());
    db.insertOrThrow(TABLE_NAME, null, values);

}
 
源代码8 项目: QuantumFlux   文件: QuantumFluxContentProvider.java
@Override
public int bulkInsert(@NonNull Uri uri, @NonNull ContentValues[] values) {
    if (values.length == 0) return 0;

    TableDetails tableDetails = mUriMatcherHelper.getTableDetails(uri);
    SQLiteDatabase db = mDatabase.getWritableDatabase();

    if (mDebugEnabled) {
        QuantumFluxLog.d("********* Bulk Insert **********");
        QuantumFluxLog.d("Uri: " + uri);
    }

    int count = 0;

    try {
        db.beginTransactionNonExclusive();
        String tableName = tableDetails.getTableName();

        for (ContentValues value : values) {
            db.insertOrThrow(tableName, null, value);

            count++;
        }
        db.setTransactionSuccessful();

        notifyChanges(uri, tableDetails);
    } finally {
        db.endTransaction();
    }
    return count;
}
 
public static void addRealtion(CharSequence packName, CharSequence topicId) {
    SQLiteDatabase db = null;

    try {
        DbHelper dbHelper = new DbHelper(App.getInstance());

        db = dbHelper.getWritableDatabase();
        String[] selectionArgs = new String[]{packName + "%"};
        db.execSQL("delete from " + TABLE_NAME + " where pack_name like ?", selectionArgs);

        ContentValues values = new ContentValues();
        values.put(COLUMN_ID, UUID.randomUUID().toString());
        values.put(COLUMN_PACK_NAME, packName.toString());
        values.put(COLUMN_APP_URL, topicId.toString());
        values.put(COLUMN_BYUSER_NAME, true);


        db.insertOrThrow(TABLE_NAME, null, values);

    } catch (Exception ex) {
        AppLog.e(App.getInstance(), ex);
    } finally {
        if (db != null) {
            // db.endTransaction();
            db.close();
        }
    }
}
 
源代码10 项目: earth   文件: SettingsProvider.java
@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE " + SettingsContract.TABLE +
            " (" + SettingsContract.Columns.INTERVAL + " INTEGER" +
            ", " + SettingsContract.Columns.RESOLUTION + " INTEGER" +
            ", " + SettingsContract.Columns.WIFI_ONLY + " INTEGER" +
            ", " + SettingsContract.Columns.DEBUG + " INTEGER" +
            ", " + SettingsContract.Columns.OFFSET_L + " REAL" +
            ", " + SettingsContract.Columns.OFFSET_S + " REAL" +
            ", " + SettingsContract.Columns.SCALE + " REAL DEFAULT 1" +
            ")");

    db.insertOrThrow(SettingsContract.TABLE, null,
            Settings.fromLegacySharedState(getContext()).toContentValues());
}
 
@Override
public Uri insert(@NonNull Uri uri, ContentValues values) {
    final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
    final int match = sUriMatcher.match(uri);
    switch (match) {
        case VIDEOITEM: {
            final long _id = db.insertOrThrow(Tables.VIDEO_ITEM, null, values);
            return VideoItemContract.VideoItem.buildItemUri(_id);
        }
        default: {
            throw new UnsupportedOperationException("Unknown uri: " + uri);
        }
    }
}
 
源代码12 项目: nextcloud-notes   文件: NotesDatabase.java
/**
 * @param url          URL to the root of the used Nextcloud instance without trailing slash
 * @param username     Username of the account
 * @param accountName  Composed by the username and the host of the URL, separated by @-sign
 * @param capabilities {@link Capabilities} object containing information about the brand colors, supported API versions, etc...
 * @throws SQLiteConstraintException in case accountName already exists
 */
public void addAccount(@NonNull String url, @NonNull String username, @NonNull String accountName, @NonNull Capabilities capabilities) throws SQLiteConstraintException {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues(4);
    values.put(key_url, url);
    values.put(key_username, username);
    values.put(key_account_name, accountName);
    values.put(key_capabilities_etag, capabilities.getETag());
    long accountId = db.insertOrThrow(table_accounts, null, values);
    updateBrand(accountId, capabilities);
}
 
源代码13 项目: android   文件: Database.java
/**
 * Registra una ubicación en la Base de Datos
 */
public void nuevaUbicacion(Ubicacion ubicacion) {
   	
   	SQLiteDatabase db = this.getWritableDatabase();
   	
   	ContentValues valores = new ContentValues();
   	valores.put(NOMBRE, ubicacion.getNombre());
   	valores.put(LATITUD, ubicacion.getPosicion().latitude);
   	valores.put(LONGITUD, ubicacion.getPosicion().longitude);
   	db.insertOrThrow(TABLA, null, valores);
   }
 
源代码14 项目: CPOrm   文件: CPOrmContentProvider.java
@Override
public int bulkInsert(@NonNull Uri uri, @NonNull ContentValues[] values) {

    int length = values.length;
    if (length == 0)
        return 0;

    TableDetails tableDetails = uriMatcherHelper.getTableDetails(uri);
    SQLiteDatabase db = database.getWritableDatabase();

    if (debugEnabled) {
        CPOrmLog.d("********* Bulk Insert **********");
        CPOrmLog.d("Uri: " + uri);
    }

    int count = 0;

    try {
        db.beginTransactionNonExclusive();
        String tableName = tableDetails.getTableName();
        for (int i = 0; i < length; i++) {

            db.insertOrThrow(tableName, null, values[i]);
            count++;

            if (count % 100 == 0)
                db.yieldIfContendedSafely();
        }

        db.setTransactionSuccessful();

        notifyChanges(uri.buildUpon().appendQueryParameter(PARAMETER_CHANGE_TYPE, CPOrm.ChangeType.INSERT.toString()).build(), tableDetails);
    } finally {
        db.endTransaction();
    }

    return count;
}
 
源代码15 项目: restcomm-android-sdk   文件: DatabaseManager.java
public void addMessage(String contactName, String messageText, boolean isLocal, String jobId, DatabaseContract.MessageDeliveryStatus deliveryStatus) throws SQLException
{
   if (databaseHelper == null) {
      throw new RuntimeException("Database hasn't been opened.");
   }

   // Gets the data repository in write mode
   SQLiteDatabase db = databaseHelper.getWritableDatabase();

   // Create a new map of values, where column names are the keys
   ContentValues values = new ContentValues();

   String type = "local";
   if (!isLocal) {
      type = "remote";
   }

   int contactId = getContactIdFromName(contactName);

   values.put(DatabaseContract.MessageEntry.COLUMN_NAME_CONTACT_ID, contactId);
   values.put(DatabaseContract.MessageEntry.COLUMN_NAME_TEXT, messageText);
   values.put(DatabaseContract.MessageEntry.COLUMN_NAME_TYPE, type);
   values.put(DatabaseContract.MessageEntry.COLUMN_NAME_JOB_ID, jobId);
   values.put(DatabaseContract.MessageEntry.COLUMN_NAME_DELIVERY_STATUS, deliveryStatus.ordinal());

   db.insertOrThrow(DatabaseContract.MessageEntry.TABLE_NAME, null, values);
}
 
源代码16 项目: Tanks   文件: Table.java
public long insert(String entityName, T data)
{
  SQLiteDatabase database = helper.getWritableDatabase();
  ContentValues values = new ContentValues(2);
  values.put("Name", entityName);
  values.put("Data", Serializer.Serialize(data));

  return database.insertOrThrow(name, null, values);
}
 
源代码17 项目: make-your-app-material   文件: ItemsProvider.java
@Override
public Uri insert(@NonNull Uri uri, ContentValues values) {
    final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
    final int match = sUriMatcher.match(uri);
    switch (match) {
        case ITEMS: {
            final long _id = db.insertOrThrow(Tables.ITEMS, null, values);
            mContext.getContentResolver().notifyChange(uri, null);
            return ItemsContract.Items.buildItemUri(_id);
        }
        default: {
            throw new UnsupportedOperationException("Unknown uri: " + uri);
        }
    }
}
 
源代码18 项目: LaunchEnr   文件: LauncherProvider.java
/**
 * Recreates workspace table and migrates data to the new table.
 */
boolean recreateWorkspaceTable(SQLiteDatabase db) {
    db.beginTransaction();
    try {
        Cursor c = db.query(WorkspaceScreens.TABLE_NAME,
                new String[] {LauncherSettings.WorkspaceScreens._ID},
                null, null, null, null,
                LauncherSettings.WorkspaceScreens.SCREEN_RANK);
        ArrayList<Long> sortedIDs = new ArrayList<Long>();
        long maxId = 0;
        try {
            while (c.moveToNext()) {
                Long id = c.getLong(0);
                if (!sortedIDs.contains(id)) {
                    sortedIDs.add(id);
                    maxId = Math.max(maxId, id);
                }
            }
        } finally {
            c.close();
        }

        db.execSQL("DROP TABLE IF EXISTS " + WorkspaceScreens.TABLE_NAME);
        addWorkspacesTable(db, false);

        // Add all screen ids back
        int total = sortedIDs.size();
        for (int i = 0; i < total; i++) {
            ContentValues values = new ContentValues();
            values.put(LauncherSettings.WorkspaceScreens._ID, sortedIDs.get(i));
            values.put(LauncherSettings.WorkspaceScreens.SCREEN_RANK, i);
            addModifiedTime(values);
            db.insertOrThrow(WorkspaceScreens.TABLE_NAME, null, values);
        }
        db.setTransactionSuccessful();
        mMaxScreenId = maxId;
    } catch (SQLException ex) {
        // Old version remains, which means we wipe old data
        ex.printStackTrace();
        return false;
    } finally {
        db.endTransaction();
    }
    return true;
}
 
源代码19 项目: Trebuchet   文件: LauncherProvider.java
/**
 * Recreates workspace table and migrates data to the new table.
 */
public boolean recreateWorkspaceTable(SQLiteDatabase db) {
    db.beginTransaction();
    try {
        Cursor c = db.query(TABLE_WORKSPACE_SCREENS,
                new String[] {LauncherSettings.WorkspaceScreens._ID},
                null, null, null, null,
                LauncherSettings.WorkspaceScreens.SCREEN_RANK);
        ArrayList<Long> sortedIDs = new ArrayList<Long>();
        long maxId = 0;
        try {
            while (c.moveToNext()) {
                Long id = c.getLong(0);
                if (!sortedIDs.contains(id)) {
                    sortedIDs.add(id);
                    maxId = Math.max(maxId, id);
                }
            }
        } finally {
            c.close();
        }

        db.execSQL("DROP TABLE IF EXISTS " + TABLE_WORKSPACE_SCREENS);
        addWorkspacesTable(db);

        // Add all screen ids back
        int total = sortedIDs.size();
        for (int i = 0; i < total; i++) {
            ContentValues values = new ContentValues();
            values.put(LauncherSettings.WorkspaceScreens._ID, sortedIDs.get(i));
            values.put(LauncherSettings.WorkspaceScreens.SCREEN_RANK, i);
            addModifiedTime(values);
            db.insertOrThrow(TABLE_WORKSPACE_SCREENS, null, values);
        }
        db.setTransactionSuccessful();
        mMaxScreenId = maxId;
    } catch (SQLException ex) {
        // Old version remains, which means we wipe old data
        Log.e(TAG, ex.getMessage(), ex);
        return false;
    } finally {
        db.endTransaction();
    }
    return true;
}
 
源代码20 项目: RedReader   文件: RawObjectDB.java
public synchronized void put(E object) {

		final SQLiteDatabase db = getWritableDatabase();

		try {
			final ContentValues values = new ContentValues(fields.length + 1);
			final long result = db.insertOrThrow(TABLE_NAME, null, toContentValues(object, values));

			if(result < 0) throw new RuntimeException("Database write failed");

		} catch(IllegalAccessException e) {
			throw new RuntimeException(e);

		} finally { db.close(); }
	}