Android Create Database and Put data to Database

วิธีการตั้งค่า

ทุกครั้งที่มี activity ใหม่ต้องตั้งค่า Android Manifest

 

 

 

 

 

 

 

 

 

 

StudentProvider.java

package com.example.mydb2;

import android.content.ContentProvider;

import android.content.ContentUris;

import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteDatabase.CursorFactory;

import android.database.sqlite.SQLiteOpenHelper;

import android.net.Uri;

public class StudentProvider extends ContentProvider {

@Override

public int delete(Uri uri, String selection, String[] selectionArgs) {

// TODO Auto-generated method stub

return 0;

}

@Override

public String getType(Uri uri) {

// TODO Auto-generated method stub

return null;

}

@Override

public Uri insert(Uri uri, ContentValues values) {

SQLiteDatabase db=MyStudentDB.getWritableDatabase();

Uri u=null;

long rowid=0;

rowid=db.insert(”Students”, null, values);

u=ContentUris.withAppendedId(uri, rowid);

return u;

}

//Create Help

private static class MyHelper extends SQLiteOpenHelper

{

public MyHelper(Context context, String name, CursorFactory factory,

int version) {

super(context, name, factory, version);

// TODO Auto-generated constructor stub

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL(”Create Table Students (”+

“_id integer primary key autoincrement,”+

“studentid Text,”+

“firstname Text,”+

“lastname Text,” +

“level integer);”);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL(”Drop table if Exists Students;”);

onCreate(db);

}

}

MyHelper MyStudentDB;

@Override

public boolean onCreate() {

MyStudentDB=new MyHelper(getContext(),

“Student.db”,

null,

3);

return true;

}

@Override

public Cursor query(Uri uri, String[] projection, String selection,

String[] selectionArgs, String sortOrder) {

SQLiteDatabase db=MyStudentDB.getReadableDatabase();

Cursor c=db.query(”Students”, projection, selection, selectionArgs,

null, null, sortOrder);

return c;

}

@Override

public int update(Uri uri, ContentValues values, String selection,

String[] selectionArgs) {

// TODO Auto-generated method stub

return 0;

}

}

————————————————————
MainActivity.Java

package com.example.mydb2;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
}
public void OnInsert(View view) {
ContentValues values=new ContentValues();
values.put(”studentid”, “S001″);
values.put(”firstname”, “Petcharaporn”);
values.put(”lastname”, “Petchkeaw”);
values.put(”level”, 1);
Uri u=this.getContentResolver().insert(Uri.parse(”content://rmutp.students”), values);
Toast.makeText(this, u.toString(),
Toast.LENGTH_LONG).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
————————————————————
Main1.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:orientation=”vertical” >
<Button
android:id=”@+id/button1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:onClick=”OnInsert”
android:text=”Insert” />
<Button
android:id=”@+id/button2″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:onClick=”OnQuery”
android:text=”Query” />
</LinearLayout>
———————————————————–
Result After run