網頁

2018年1月22日 星期一

[Android Studio] 資料庫SQLite教學 (附影片教學)

用java檔使用SQLiteOpenHelper來自行產生SQLite資料庫檔案及修改SQLite內容。
且如何新增到資料庫及查詢資料庫的語法。
如果語法看不懂最下面有影片教學


資料庫檔案:SQLdata.java檔

package com.example.fan.sqlite2;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/** * Created by fan on 2018/1/21. */
public class SQLdata extends SQLiteOpenHelper {
private final static String DB="DB2018.db";//資料庫    
private final static String TB="TB2018";//資料表    
private final static int VS=2;//版本

public SQLdata(Context context) {
        //super(context, name, factory, version);        
super(context,DB, null, VS);
}

@Override    
public void onCreate(SQLiteDatabase sqLiteDatabase) {
        String SQL="CREATE TABLE IF NOT EXISTS "+TB+"(_id INTEGER PRIMARY KEY AUTOINCREMENT ,_title VARCHAR(50))";
        sqLiteDatabase.execSQL(SQL);
}
@Override    
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        String SQL="DROP TABLE"+TB;
        sqLiteDatabase.execSQL(SQL);
}
}

新增顯示語法:SQLite2.java

package com.example.fan.sqlite2;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SQLite2 extends AppCompatActivity {
    public SQLdata DH=null;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sqlite2);
    DH=new SQLdata(this);
    add("55555");//加入的資料
    }

private void add(String s) {
        SQLiteDatabase db=DH.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put("_title",s.toString());//載入資料123        
        db.insert("TB2018",null,values);//寫入123        
ListView LV1=(ListView)findViewById(R.id.LV);//讀取元件 
       
//查詢資料庫並載入        
Cursor cursor=db.query("TB2018",new String[]{"_id","_title"},null,null,null,null,null);
List<Map<String,Object>> items=new ArrayList<Map<String,Object>>();
cursor.moveToFirst();

//叫出資料庫的資料       

           for(int i=0;i< cursor.getCount();i++){
           Map<String,Object> item=new HashMap<String,Object>();
           item.put("_id",cursor.getString(0));
           item.put("_title",cursor.getString(1));
           items.add(item);//新增           
        cursor.moveToNext();//移下一筆資料        }
        SimpleAdapter SA=new SimpleAdapter(this,items,android.R.layout.simple_expandable_list_item_2,new String[]{"_id","_title"},new int[]{android.R.id.text1,android.R.id.text2});
        LV1.setAdapter(SA);
    }
}




影片教學:

沒有留言:

張貼留言

影片的問題請留在影片的留言區裡。
部落格不會另外通知給我,所以很難發現你有留言。