【Android初学第73天】一箫一剑平生意,负尽狂名十五年。这篇文章主要讲述Android初学第73天相关的知识,希望能为你提供帮助。
android初学第73天16_CameraIntent
代码
Criminalintent
CrimeLab.java
package com.bignerdranch.android.criminalintent;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.bignerdranch.android.criminalintent.database.CrimeBaseHelper;
import com.bignerdranch.android.criminalintent.database.CrimeCursorWrapper;
import com.bignerdranch.android.criminalintent.database.CrimeDbSchema;
import com.bignerdranch.android.criminalintent.database.CrimeDbSchema.CrimeTable;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import static com.bignerdranch.android.criminalintent.database.CrimeDbSchema.CrimeTable.*;
import static com.bignerdranch.android.criminalintent.database.CrimeDbSchema.CrimeTable.Cols.*;
public class CrimeLab {
private static CrimeLab sCrimeLab;
private Context mContext;
private SQLiteDatabase mDatabase;
public static CrimeLab get(Context context) {
if (sCrimeLab == null) {
sCrimeLab = new CrimeLab(context);
}return sCrimeLab;
}private CrimeLab(Context context) {
mContext = context.getApplicationContext();
mDatabase = new CrimeBaseHelper(mContext)
.getWritableDatabase();
}public void addCrime(Crime c) {
ContentValues values = getContentValues(c);
mDatabase.insert(CrimeTable.NAME, null, values);
}public List<
Crime>
getCrimes() {
List<
Crime>
crimes = new ArrayList<
>
();
CrimeCursorWrapper cursor = queryCrimes(null, null);
try {
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
crimes.add(cursor.getCrime());
cursor.moveToNext();
}
} finally {
cursor.close();
}
return crimes;
}public Crime getCrime(UUID id) {
CrimeCursorWrapper cursor = queryCrimes(
CrimeTable.Cols.UUID + " = ?",
new String[]{id.toString()}
);
try {
if (cursor.getCount() == 0) {
return null;
}
cursor.moveToFirst();
return cursor.getCrime();
} finally {
cursor.close();
}
}public File getPhotoFile(Crime crime) {
File filesDir = mContext.getFilesDir();
return new File(filesDir, crime.getPhotoFilename());
}public void updateCrime(Crime crime) {
String uuidString = crime.getId().toString();
ContentValues values = getContentValues(crime);
mDatabase.update(CrimeTable.NAME, values,
CrimeTable.Cols.UUID + " = ?",
new String[]{uuidString});
}private CrimeCursorWrapper queryCrimes(String whereClause, String[] whereArgs) {
Cursor cursor = mDatabase.query(
CrimeTable.NAME,
null, // Columns - null selects all columns
whereClause,
whereArgs,
null, // groupBy
null, // having
null// orderBy
);
return new CrimeCursorWrapper(cursor);
}private static ContentValues getContentValues(Crime crime) {
ContentValues values = new ContentValues();
values.put(UUID, crime.getId().toString());
values.put(TITLE, crime.getTitle());
values.put(DATE, crime.getDate().getTime());
values.put(SOLVED, crime.isSolved() ? 1 : 0);
values.put(CrimeTable.Cols.SUSPECT, crime.getSuspect());
return values;
}
}
推荐阅读
- Android初学第81天
- Android xUtils3使用 - 获取网络图片
- DAPP超详细解释
- 1. SpringBoot启动后,报异常:This application has no explicit mapping for /error, so you are seeing this as
- Ubuntu(64位)编译Android源码常见错误解决办法
- kali之Nmap (Network Mapper(网络映射器)
- android -------- 混淆打包报错(warning - InnerClass annotations are missing corresponding EnclosingMember a
- 一SpringMVC源码之DispatcherServletAbstractHanderMapping
- BroadcastReceiver(广播)的静态注册和动态注册 --Android开发