Android数据库的SQLite增删改查
2013-06-13 15:10
369 查看
这个月的17日,就要去大连比赛了,是今年的职业技能大赛,整理了一下自己过去写过的代码,这个是Android数据库的知识,涉及数据库的增删改查,代码很普通,稍有Android基础的,估计都能看懂,无邪本着互联网精神,希望大家一起进步,大神直接飘过,勿喷。。。
主界面的代码:
package com.example.sqlitetestdemo;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
private Button skip;
private ListView list;
private SQLiteDatabase mydb=null;
private Cursor cursor;
public static String Name=null;
public static String Text=null;
public static String DataBase_Name="StudentDataBase.db";
public static String Table_Name="Student";
public static String Create_Table="create table if not exists "+Table_Name+"(_id integer primary key autoincrement ,name,text)";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
//创建数据库
mydb=openOrCreateDatabase(DataBase_Name, MODE_PRIVATE, null);
mydb.execSQL(Create_Table);//创建表
ContentValues values=new ContentValues();
values.put("name", "王晓让");
values.put("text", "2011237144 男 ");
mydb.insert(Table_Name, null, values);//插入数据
//在ListView里显示数据
this.showText();
//skip按钮的监听事件
skip=(Button) findViewById(R.id.saveto);
skip.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,MySQLite.class);
startActivityForResult(intent, 6);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch( resultCode){
case RESULT_OK:
cursor.requery();
//重绘
list.invalidateViews();
break;
default:
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
public void showText(){
//获取数据库的所有数据
cursor=mydb.query(Table_Name,new String[]{"_id","name","text"}, null,null, null, null,null);
list=(ListView) findViewById(R.id.listView1);
SimpleCursorAdapter simple=new SimpleCursorAdapter(this, R.layout.show, cursor, new String[]{"name","text"}, new int[]{R.id.textView1,R.id.textView2});
//绑定适配器
list.setAdapter(simple);
}
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Android数据库操作的代码:
package com.example.sqlitetestdemo;
import android.app.Activity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MySQLite extends Activity{
private SQLiteDatabase mydb=null;
private Button add;
private Button modify;
private Button delete;
private EditText name;
private EditText content;
private static String DataBase_Name="StudentDataBase.db";
private static String Table_Name="Student";
private static String Name="name";
private static String Text="text";
private static String Create_Table="create table if not exists "+Table_Name+ "(_id integer primary key autoincrement ,name,text)";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.context_edit);
//初始化控件
this.init();
}
//初始化控件
public void init(){
name=(EditText) findViewById(R.id.name);
content=(EditText) findViewById(R.id.content);
add=(Button) findViewById(R.id.button1);
modify=(Button) findViewById(R.id.button2);
delete=(Button) findViewById(R.id.button3);
add.setOnClickListener(new ButtonListener());
modify.setOnClickListener(new ButtonListener());
delete.setOnClickListener(new ButtonListener());
}
//按钮的监听事件
class ButtonListener implements OnClickListener{
public void onClick(View v) {
switch(v.getId()){
case R.id.button1:
//打开数据库
mydb=openOrCreateDatabase(DataBase_Name, MODE_PRIVATE, null);
ContentValues cv=new ContentValues();
//存入键值对
cv.put(Name,name.getText().toString() );
cv.put(Text, content.getText().toString());
mydb.insert(Table_Name, null, cv);//插入数据,如果不成功返回-1
//设置参数
setResult(RESULT_OK);
mydb.close();//关闭资源
//销毁视图
finish();
break;
case R.id.button3:
//打开数据库
mydb=openOrCreateDatabase(DataBase_Name, MODE_PRIVATE, null);
String whereClause="name=?";
String[] whereArgs={name.getText().toString()};
//删除数据
mydb.delete(Table_Name, whereClause, whereArgs);
//设置参数
setResult(RESULT_OK);
mydb.close();//关闭资源
//销毁视图
finish();
break;
case R.id.button2:
//打开数据库
mydb=openOrCreateDatabase(DataBase_Name, MODE_PRIVATE, null);
ContentValues values=new ContentValues();
values.put(Name, name.getText().toString());
values.put(Text, content.getText().toString());
String whereClause1="name=?";
String[] whereArgs1={name.getText().toString()};
//修改数据
mydb.update(Table_Name, values, whereClause1, whereArgs1);
//设置参数
setResult(RESULT_OK);
mydb.close();//关闭资源
//销毁视图
finish();
break;
default:
break;
}
}
}
}
主界面的布局文件:
<?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/saveto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="存储" />
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
与数据库操作相关联的布局文件
<?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" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入姓名" />
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入内容" />
<EditText
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="增加" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="修改" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除" />
</LinearLayout>
</LinearLayout>
与ListView相关的布局文件:
<?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" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名: " />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="详细内容: " />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
</LinearLayout>
相关文章推荐
- android sqlite数据库增删改查
- android sqlite数据库增删改查
- android 数据库sqlite 增删改查和数据库事务
- Android学习---数据库的增删改查(sqlite CRUD)
- Android -- SQLite 数据库创建,增删改查,事务处理
- Android -- SQLite 数据库创建,增删改查,事务处理
- Android SQLite数据库增删改查操作的使用详解
- Android SQLite数据库增删改查
- Android SQLite数据库增删改查操作的使用详解
- Android Sqlite数据库 增删改查应用
- 利用反射实现对sqlite3数据库的crud(增删改查)操作的一个baseAndroidDao封装,安卓开发中
- Android开发SQLite轻量级数据库增删改查教程
- android sqlite 数据库创建及增删改查的操作实现
- Android数据库的SQLite增删改查
- Android:数据库增删改查、SQLite、SQLiteOpenHelper、openOrCreateDatabase
- Android SQLite数据库简单实现增删改查
- Android:数据库增删改查、SQLite、ORM、Cursor
- android SQLite数据库的增删改查
- Android数据库一:sqlite语句增删改查
- Android SQLite数据库增删改查操作的案例分析