1. 数据库DBAdapter类
import android.content.*;
import android.database.*;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBAdapter
{
public static final String DB_NAME = "student.db";
public static final String DB_TABLE = "studentinfo";
public static final int DB_VERSION = 1;
public static final String KEY_NAME = "name";
public static final String KEY_CLASS = "class";
public static final String KEY_NO = "no";
public SQLiteDatabase db;
public final Context context;
public DBOpenHelper dbOpenHelper;
public DBAdapter(Context _context)
{
context = _context;
}
public void close()
{
if(db != null)
{
db.close();
db = null;
}
}
/** Open the database */
public void open() throws SQLiteException {
dbOpenHelper = new DBOpenHelper(context, DB_NAME, null, DB_VERSION);
try {
db = dbOpenHelper.getWritableDatabase();
}
catch (SQLiteException ex) {
db = dbOpenHelper.getReadableDatabase();
}
}
public long insert(People people) {
ContentValues newValues = new ContentValues();
newValues.put(KEY_NAME, people.Name);
newValues.put(KEY_CLASS, people.Class);
newValues.put(KEY_NO, people.No);
return db.insert(DB_TABLE, null, newValues);
}
public People[] queryAllData() {
Cursor results = db.query(DB_TABLE, new String[] { KEY_NAME, KEY_CLASS, KEY_NO},
null, null, null, null, null);
return ConvertToPeople(results);
}
public People[] queryOneData(long id) {
Cursor results = db.query(DB_TABLE, new String[] { KEY_NAME, KEY_CLASS, KEY_NO},
KEY_NO + "=" + id, null, null, null, null);
return ConvertToPeople(results);
}
private People[] ConvertToPeople(Cursor cursor){
int resultCounts = cursor.getCount();
if (resultCounts == 0 || !cursor.moveToFirst()){
return null;
}
People[] peoples = new People[resultCounts];
for (int i = 0 ; i<resultCounts; i++){
peoples[i] = new People();
peoples[i].Name = cursor.getString(cursor.getColumnIndex(KEY_NAME));
peoples[i].Class = cursor.getInt(cursor.getColumnIndex(KEY_CLASS));
peoples[i].No = cursor.getInt(cursor.getColumnIndex(KEY_NO));
cursor.moveToNext();
}
return peoples;
}
public long deleteAllData() {
return db.delete(DB_TABLE, null, null);
}
public long deleteOneData(long id) {
return db.delete(DB_TABLE, KEY_NO + "=" + id, null);
}
public long updateOneData(long id , People people){
ContentValues updateValues = new ContentValues();
updateValues.put(KEY_NAME, people.Name);
updateValues.put(KEY_CLASS, people.Class);
updateValues.put(KEY_NO, people.No);
return db.update(DB_TABLE, updateValues, KEY_NO + "=" + id, null);
}
private static class DBOpenHelper extends SQLiteOpenHelper{
public DBOpenHelper(Context context,String name,CursorFactory factory,int version)
{
super(context,name,factory,version);
}
private static final String DB_CREATE = "create table "+ DB_TABLE + " (" + KEY_NAME + " text not null, " + KEY_CLASS + " integer," + KEY_NO + " integer primary key autoincrement)";
@Override
public void onCreate(SQLiteDatabase db)
{
// TODO 自动生成的方法存根
db.execSQL(DB_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
// TODO 自动生成的方法存根
db.execSQL("DROP TABLE IF EXIST " + DB_TABLE);
onCreate(db);
}
}
}
public class People {
public String Name;
public int Class;
public int No;
@Override
public String toString(){
String result = "";
result += "姓名: " + this.Name + " ";
result += "班级: " + this.Class + " ";
result += "学号: " + this.No + " ";
return result;
}
}
3. MainActivity
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.*;
public class MainActivity extends Activity
{
Button input;
Button output;
Button delete;
// public static final int SUBACTIVITY1 = 1;
// public static final int SUBACTIVITY2 = 2;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
input = (Button)findViewById(R.id.button1);
output = (Button)findViewById(R.id.button2);
delete = (Button)findViewById(R.id.button3);
Button.OnClickListener btnListener = new Button.OnClickListener(){
@Override
public void onClick(View v)
{
// TODO 自动生成的方法存根
switch(v.getId())
{
case R.id.button1:
Intent intent1 = new Intent(MainActivity.this,SubActivity1.class);
// startActivityForResult(intent,SUBACTIVITY1);
startActivity(intent1);
return;
case R.id.button2:
Intent intent2 = new Intent(MainActivity.this,SubActivity2.class);
startActivity(intent2);
return;
case R.id.button3:
Intent intent3 = new Intent(MainActivity.this,SubActivity3.class);
startActivity(intent3);
return;
}
}
};
input.setOnClickListener(btnListener);
output.setOnClickListener(btnListener);
delete.setOnClickListener(btnListener);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings)
{
return true;
}
return super.onOptionsItemSelected(item);
}
}
4. SubActivity1
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
public class SubActivity1 extends Activity
{
EditText line_name,line_class,line_no;
Button btn_submit,btn_back;
TextView labelView;
DBAdapter dba;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub_activity1);
dba = new DBAdapter(this);
dba.open();
line_name = (EditText)findViewById(R.id.editText1);
line_class = (EditText)findViewById(R.id.editText2);
line_no = (EditText)findViewById(R.id.editText3);
btn_back = (Button)findViewById(R.id.button1);
btn_submit = (Button)findViewById(R.id.button2);
labelView = (TextView)findViewById(R.id.textView4);
Button.OnClickListener btnListener = new Button.OnClickListener(){
@Override
public void onClick(View v)
{
// TODO 自动生成的方法存根
switch(v.getId())
{
case R.id.button1:
//line_name.setText("返回");
finish();
return;
case R.id.button2:
People people = new People();
people.Name = line_name.getText().toString();
people.Class = Integer.parseInt(line_class.getText().toString());
people.No = Integer.parseInt(line_no.getText().toString());
long colunm = dba.insert(people);
if (colunm == -1 ){
labelView.setText("提交失败");
} else {
labelView.setText("提交成功"+String.valueOf(colunm));
}
return;
}
}
};
btn_submit.setOnClickListener(btnListener);
btn_back.setOnClickListener(btnListener);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.sub_activity1, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings)
{
return true;
}
return super.onOptionsItemSelected(item);
}
}
5. SubActivity2
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.*;
public class SubActivity2 extends Activity
{
TextView textshow;
DBAdapter db;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub_activity2);
textshow = (TextView)findViewById(R.id.textView4);
db = new DBAdapter(this);
db.open();
People people[] = db.queryAllData();
int num = people.length;
Log.e("msg",String.valueOf(num));
for(int i=0; i<num; i++)
{
String str = " 姓名: " + people[i].Name + " 班级: " + people[i].Class + " 学号: " + people[i].No;
Log.e("msg", str);
textshow.append(str+"\n");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.sub_activity2, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings)
{
return true;
}
return super.onOptionsItemSelected(item);
}
}
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.*;
public class SubActivity3 extends Activity
{
TextView show;
EditText edit;
DBAdapter da;
Button button_back,button_confirm,button_deleteAll;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub_activity3);
show = (TextView)findViewById(R.id.textView5);
edit = (EditText)findViewById(R.id.editText_delete);
button_back = (Button)findViewById(R.id.button_3back);
button_confirm = (Button)findViewById(R.id.button_3confirm);
button_deleteAll = (Button)findViewById(R.id.button_deleteAll);
da = new DBAdapter(this);
da.open();
Button.OnClickListener btnListener = new Button.OnClickListener(){
@Override
public void onClick(View v)
{
// TODO 自动生成的方法存根
switch(v.getId())
{
case R.id.button_3back:
finish();
return;
case R.id.button_3confirm:
int num = Integer.parseInt(edit.getText().toString());
long result = da.deleteOneData(num);
if(result > 0)
show.setText("删除成功!!!");
else show.setText("删除失败!!!");
return;
case R.id.button_deleteAll:
da.deleteAllData();
show.setText("全部清空!");
return;
}
}
};
button_back.setOnClickListener(btnListener);
button_confirm.setOnClickListener(btnListener);
button_deleteAll.setOnClickListener(btnListener);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.sub_activity3, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings)
{
return true;
}
return super.onOptionsItemSelected(item);
}
}