淺談SQLiteOpenHelper之onCreate例子


哈嘍大家好!如果你感覺SQLiteOpenHelper不懂的可以看一下。

 onCreate(SQLiteDatabase db) : 當數據庫被首次創建時執行該方法,一般將創建表等初始化操作在該方法中執行。

直接上代碼:

新建一個QqlText類

package com.example.sjk;

import android.content.Context;
import android.database.sqlite.SQLiteCursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class SqlText extends SQLiteOpenHelper{
    private static final String DB_NAME = "mydata.db"; //數據庫名稱
    private static final int version =1; // 數據庫版本
    
//調用父類構造器 public SqlText(Context context) { super(context, DB_NAME, null, version); //context 注意一下 } @Override public void onCreate(SQLiteDatabase db) { //新安裝的軟件從這里開始 String sql_message = "create table t_message (id int primary key,name varchar(50),age varchar(50))"; db.execSQL(sql_message); Log.i("hi", "創建表成功"); String sql_up1 = "insert into t_message values(1,'小白','18')"; db.execSQL(sql_up1); Log.i("hi", "版本1.0插入數據成功了"); } @Override //在原來的軟件上更新會從這里開始,不卸載在線更新 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
 public void onCreate(SQLiteDatabase db) //本人理解為:新安裝的軟件從這里開始 ,其他的都不關事;

這個時候我們的數據庫已經創建好了,並且建立表,插入了數據

選擇導出:

 

 數據庫有數據了,小白亂碼了;但還是插入了數據。

 

//增加點查詢功能 MainActivity.java

package com.example.sjk;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;


public class MainActivity extends Activity {
		private SqlText st; //得到SqlText這個類的context
		private TextView tv;	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         tv = (TextView) findViewById(R.id.TextView);//找到這個TextView組件
         st = new SqlText(MainActivity.this);
         
         String text = query();//調用查詢這個方法
         tv.setText("id \t"+"name\t"+"age\n"+text);//顯示
    }
    
    public String query(){//查詢數據庫的數據
		String result = "";
    	//獲取數據庫對象
		SQLiteDatabase db = st.getReadableDatabase();//只讀:ReadableDatabase;讀寫:WritableDatabase
    	//查詢數據庫中的數據
		Cursor cursor = db.query("t_message", null, null, null, null, null, null);
		//結果集
		for(int i=0;i<cursor.getCount();i++) {
			cursor.moveToNext();
			result +=  cursor.getInt(cursor.getColumnIndex("id"));
			result +=  cursor.getString(cursor.getColumnIndex("name"));
			result +=  cursor.getString(cursor.getColumnIndex("age"));	
		}
		cursor.close();//關閉結果集
		db.close();//關閉數據庫對象
		return result;
    	
    }

}

  

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM