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);} }}
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);}}
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);}}
阅读全文
0 0
- Android数据库 SQLite数据库
- android-数据库
- android 数据库
- android数据库
- Android 数据库
- android数据库
- android 数据库
- Android数据库
- Android 数据库
- android数据库
- Android 数据库
- android数据库
- android数据库
- Android 数据库
- Android数据库
- android数据库
- android数据库
- Android 数据库
- ffmpeg系列:使用ffmpeg转换为RGB数据并缩放视频
- 笔记(四)
- 链表的创建
- D.Game with Pearls
- 试验性的Numpy教程
- Android数据库
- (二)——添加网络权限和WebView访问网页
- python的元类
- 大数据学习之——Zookeeper安装
- NXP第十三届智能车竞赛就此拉开帷幕(更新中)
- Android面试题整理(1)
- early_irq_init
- 大数据学习之——kafka安装部署
- git