Android数据库

来源:互联网 发布:Linux 线程 sched_fifo 编辑:程序博客网 时间:2024/05/17 01:55



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)";@Overridepublic void onCreate(SQLiteDatabase db){// TODO 自动生成的方法存根db.execSQL(DB_CREATE);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){// TODO 自动生成的方法存根db.execSQL("DROP TABLE IF EXIST " + DB_TABLE);onCreate(db);}        }}


2.  People类

public class People {public String Name;public int Class;public int No;@Overridepublic 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;@Overrideprotected 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(){@Overridepublic 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);    }@Overridepublic 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;}@Overridepublic 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;@Overrideprotected 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(){@Overridepublic 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);}@Overridepublic 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;}@Overridepublic 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;@Overrideprotected 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");}}@Overridepublic 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;}@Overridepublic 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);}}


6. SubActivity3

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;@Overrideprotected 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(){@Overridepublic 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);}@Overridepublic 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;}@Overridepublic 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);}}



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 车里面进了老鼠怎么办 街电充电宝丢了怎么办 充电宝充不了电怎么办 脚裸扭伤肿了怎么办 大货车电瓶亏电怎么办 货车电瓶被偷了怎么办 小乌龟尾巴断了怎么办 长青春痘怎么办简单小妙招 一关灯就有蚊子怎么办 狗狗误食蟑螂药怎么办 泰迪误食蟑螂药怎么办 猫咪吃了蟑螂药怎么办 狗把蟑螂药吃了怎么办 猫吃了蟑螂诱饵怎么办 猫吃了蟑螂中毒怎么办 孕妇胃烧的难受怎么办 6个月孕妇胃难受怎么办 飞机杯吸盘不上怎么办 我的车位被占用怎么办 占别人车位的车怎么办 头受凉受风了疼怎么办 看电脑时间长了眼睛疼怎么办 电脑玩久了头疼怎么办 屋里有死老鼠味怎么办 老鼠死在车里面怎么办 手机锁屏怎么办求解锁 玩lol左键失灵怎么办 小米鼠标没电了怎么办 电脑键盘鼠标没反应怎么办 win10玩游戏很卡怎么办 鞋子夹脚怎么办小妙招 新鞋两边夹脚怎么办 新鞋子两边夹脚怎么办 鞋子瘦两边夹脚怎么办 鞋子小脚趾磨脚怎么办 鞋子买小了顶脚怎么办 鼠标不亮了怎么办呢 坐便水箱不上水怎么办 2个shift键失灵怎么办 比熊鼻子粉了怎么办 比熊的皮肤变黑怎么办