Android get data from screen put into database

เป็นโปรแกรมรับข้อมูลจากหน้าจอ ใส่ลงใน database และแสดงในหน้าจอ โดยรับข้อมูลในหน้า main กด Insert และ Query แสดงผลในหน้าที่ 2

MainActivity.java

package com.example.mydb2;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText edlevel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
}
public void OnInsert(View view) {
ContentValues values=new ContentValues();
EditText edstudentid=(EditText)findViewById(
R.id.edstudentid);
values.put(”studentid”, edstudentid.getText().toString());
EditText edfirstname=(EditText)findViewById(
R.id.edfirstname);
values.put(”firstname”, edfirstname.getText().toString());
EditText edlastname=(EditText)findViewById(
R.id.edlastname);
values.put(”lastname”, edlastname.getText().toString());
EditText edlevel=(EditText)findViewById(
R.id.edlevel);
values.put(”level”,edlevel.getText().toString());
Uri u=this.getContentResolver().insert(Uri.parse(”content://rmutp.students”), values);
Toast.makeText(this, u.toString(),
Toast.LENGTH_LONG).show();
}
public void OnQuery(View view)
{
Intent i=new Intent(this,StudentView.class);
this.startActivity(i);
/*Cursor output=this.getContentResolver().query(Uri.parse(”content://rmutp.students),
null, null, null, null);
while(output.moveToNext())
{
Toast.makeText(this,
output.getString(1),
Toast.LENGTH_LONG).show();
}
*/
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}

————————————————

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;
}
}
————————————————————–

main.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” >
<EditText
android:id=”@+id/edstudentid”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:ems=”10″ >
<requestFocus />
</EditText>
<EditText
android:id=”@+id/edfirstname”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:ems=”10″ />
<EditText
android:id=”@+id/edlastname”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:ems=”10″ />
<EditText
android:id=”@+id/edlevel”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:ems=”10″ />
<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>

———————————————-

StudentView.java

package com.example.mydb2;
import android.app.ListActivity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.widget.SimpleCursorAdapter;
public class StudentView extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Cursor
output=this.getContentResolver().query(Uri.parse(”content://rmutp.students”),
null, null, null, null);
SimpleCursorAdapter sca=new SimpleCursorAdapter(
this,
R.layout.listlayout,
output,
new String []{”studentid”,”firstname”,”lastname”,”level”},
new int[]{R.id.textView1,R.id.textView2,R.id.textView3,R.id.textView4});
this.setListAdapter(sca);
}
}
—————————————–

Layout.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”>
<ImageView
android:id=”@+id/imageView2″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:src=”@drawable/ic_launcher” />
<TextView
android:id=”@+id/textView1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”TextView”
android:layout_weight=”1″/>
<TextView
android:id=”@+id/textView2″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”TextView”
android:layout_weight=”1″/>
<TextView
android:id=”@+id/textView3″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”TextView”
android:layout_weight=”1″ />
<TextView
android:id=”@+id/textView4″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”TextView”
android:layout_weight=”1″ />
</LinearLayout>
——————————————————-