編輯:Android開發教程
最近開始在某個項目中實習,充分認識到了自己的不足,包括能力和性格等各種方面的缺陷。如何快速掌 握開發環境,如何與其他程序員溝通交流,如何准確知道分配給自己的模塊具體實現的功能等等,都是大問題 ,更重要的是,自己不能僅僅只是寫代碼而已,還要清楚自己的代碼的應用環境,別人是怎樣用的,自己應該 提供哪些接口。這就屬於擴展性的問題,不是一個新手能夠馬上明白的,但卻是我們是否能夠“脫農”的關鍵 。
廢話不多說,本文講訴的是我在項目中使用到的新知識---android數據庫的操作。以前並沒有任何 關於android數據庫的開發經歷,所有的東西都是現學現用,所以特意總結一下。
如果想要在android 中使用數據庫,使用SQLite是一個非常好的選擇,因為它是android內置的數據庫,提供了很多支持。
數據庫的使用無非就是CRUD,也就是"Create,Read,Update,Delete"這四個基本操作。
一.Create
Create就是創建表,而要想創建表,首先必須要創建或者打開數據庫。
有兩種方式 可以做到這點:
1.手動創建或者打開數據庫
SQLiteDatabase database = openOrCreateDatabase("Student.db", MODE_PRIVATE, null);
調用 openOrCreateDatabase()方法,如果有該數據庫,就打開,沒有就創建一個。該方法的具體信息還是得看源碼 ,但一般我們使用的時候,只要指定數據庫的名字和指定該數據庫是私有的就行。
2.使用 SQLiteOpenHelper
public class SQLHelper extends SQLiteOpenHelper { public SQLHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) {} @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {} }
然後我們再在Activity這樣使用:
SQLHelper helper = new SQLHelper(this, "Student.db", null, 1);
版本號(不能為負數)是為了方便以後升級數據庫,由於是初版, 版本號就是1。
SQLiteOpenHelper是一個抽象的數據庫操作類,首先執行的是OnCreate,這裡我們可 以執行創建表等動作,但該方法並沒有真正創建數據庫,創建數據庫是在以下的情況:
SQLiteDatabase database = helper.getWritableDatabase();
調用getWritableDatabase()或者getReadableDatabase ()時,就會真正創建數據庫。
創建或打開數據庫後,我們就可以建表。
使用數據庫並不是一件 難事,難就難在如何建模。這裡我們就只建三個簡單的表:
Teacher(teacherId, name, classId), Student(studentId,name,classId),Class(classId,className,studentId,teacherId),其中 teacherId,studentId,classId分別是Teacher,Student和Class的主鍵。
SQLite可以直接執行SQL語句 ,所以,我們可以這樣建表:
String CREATE_CLASS = "Create Table If Not Exists Class (classId integer primary key," + "className varchar(100)," + "studentId integer References Student(studentId)," + "teacherId integer References Teacher(teacherId))"; SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL(CREATE_CLASS);
每次使用完數據庫都要記得及時關閉數據庫:
db.close ();
按照上面的方法,我們可以很快的建好三個表。
這段時間的自定義View學習,學會了繪制柱狀圖、繪制折線圖、繪制進度控件,那我們今天就來聊聊另外一種自定義的View,這就是我們常見的七日年化收益折線圖效果。先看看長什麼
上例說過如果需要構造一些較復雜的類的實例,通常的方法是使用@Provides 方法。這個方法必須定義在模塊中(Module),而且必須使用@Provides 標注,在 個
Activity生命周期:一個activity主要有三個狀態:當在屏幕前台時(位於當前任務堆棧的頂部),它是活躍或運行的狀態。它就是相應用戶操作的activity。當它失
創建好ApiDemo項目後,就可以逐個示例的來分析代碼,這裡假定讀者已對Android開發有些了解或是讀過Android簡明開發教 程。首先是看ApiDemo的主Acti