Android编程入门-第32天

原创 2018年04月16日 21:34:32

CrimeLab.java

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.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 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);
        return values;
    }
}

题目: * 中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?

题目: * 中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”? 输入格式: 输入在一行中给出1个不超过1000...
  • shehun11
  • shehun11
  • 2015年01月19日 23:34
  • 8253

Android编程入门-第14天

今天时间不是很充裕,照着书上修改了一下fragment_crime.xml &lt;TextView style="?android:listSeparato...
  • qq_33924155
  • qq_33924155
  • 2018年04月01日 14:14
  • 28

4-6面向对象

面向对象              :将事物看成XX类,将事物对应的属性---&gt;看成这个类的成员变量               将事物对应的行为-----&gt;看成这个类的成...
  • ws1995_java
  • ws1995_java
  • 2018年04月10日 10:47
  • 13

PAT:3-1. 三天打鱼两天晒网(15)

中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”? 输入格式: 输入在一行中给出1个不超过1000的正整数N。...
  • u012523797
  • u012523797
  • 2014年07月18日 21:36
  • 911

Android编程入门-第23天

ActivityFragment.javaimport android.os.Bundle; import android.support.v4.app.Fragment; import androi...
  • qq_33924155
  • qq_33924155
  • 2018年04月07日 21:34
  • 16

中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是“打鱼”还是“晒网”。

#include int main() { int i,m,j,y,m,d,h,s; int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31...
  • u011436366
  • u011436366
  • 2013年07月17日 21:54
  • 6093

Android编程入门-第33天

CrimeListFragment.javaimport android.content.Intent; import android.os.Bundle; import android.suppor...
  • qq_33924155
  • qq_33924155
  • 2018年04月16日 21:37
  • 12

天 问

天 问曰 遂古之初 谁传道之上下未形 何由考之冥昭瞢暗 谁能极之冯翼惟象 何以识之明明暗暗 惟时何为阴阳三合 何本何化圜则九重 孰营度之惟兹何功 孰初作之斡维焉系 天极焉加八柱何当 东南何亏九天之际 ...
  • popolor
  • popolor
  • 2010年02月09日 16:12
  • 647

Android编程入门-第22天

CrimeActivity.javaimport android.content.Context; import android.content.Intent; import android.supp...
  • qq_33924155
  • qq_33924155
  • 2018年04月07日 21:33
  • 18

Android编程入门-第20天

今天开始学习FragmentArgument的有关内容,还是参考的原书。activity_fragment.xml&lt;FrameLayout android:id="@+id/f...
  • qq_33924155
  • qq_33924155
  • 2018年04月06日 21:45
  • 8
收藏助手
不良信息举报
您举报文章:Android编程入门-第32天
举报原因:
原因补充:

(最多只允许输入30个字)