Android 应用程序与其他应用程序一样都是要和数据库打交道的。Android使用的数据库一般是SQLite 或者 MySql。SQLite的应用非常广泛,从Android到IOS系统使用的都是SQLite数据库,Android 提供了操作SQLite的类库,而MySql则需要通过导入MySql connection 的jar包才能操作数据库。SQLite最大存储容量可以达到2T对于绝大多数的移动应用来说绝对足够了。

今天使用SQLite数据库写了一个CRUD的Demo,这里贴出来供大家参考。

<span style="font-family:Microsoft YaHei;">package com.example.androidexample;import android.annotation.SuppressLint;import android.app.Activity;import android.content.ContentValues;import android.database.Cursor;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class DatabaseActivity extends Activity {private Button btnCreateDatabase;private Button btnCreateDatatable;private Button btnInsertData;private Button btnQueryData;private SQLiteDatabase db;private static String queryResult;private static final String dbName = "AndroidDBExample.db";@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);super.setContentView(R.layout.activity_database);btnCreateDatabase = (Button)super.findViewById(R.id.btnCreateDatabase);btnCreateDatabase.setOnClickListener(crateDatabaseListener);btnCreateDatatable = (Button)super.findViewById(R.id.btnCreateDataTable);btnCreateDatatable.setOnClickListener(crateDatatableListener);btnInsertData = (Button)super.findViewById(R.id.btnInsertData);btnInsertData.setOnClickListener(insertDataListener);btnQueryData = (Button)super.findViewById(R.id.btnQueryData);btnQueryData.setOnClickListener(queryDataListener);}OnClickListener crateDatabaseListener = new OnClickListener(){@Overridepublic void onClick(View view) {// TODO Auto-generated method stubdb = openOrCreateDatabase(dbName,MODE_PRIVATE,null);Toast.makeText(DatabaseActivity.this,"Database has been created successfully.",Toast.LENGTH_LONG).show();}};OnClickListener crateDatatableListener = new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(db != null){String sql = "create table T_UserInfo (UserID int primary key,Username text,Password text)";try{db.execSQL("drop table if exists T_UserInfo"); db.execSQL(sql);Toast.makeText(DatabaseActivity.this,"Datatable has been created successfully.",Toast.LENGTH_LONG).show();}catch(SQLException ex){ex.printStackTrace();}finally{//db.close();}}}};OnClickListener insertDataListener = new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(db != null){try{ContentValues cv = new ContentValues();cv.put("UserID", 1);cv.put("Username","Tom");cv.put("Password","1234abcd");db.insert("T_UserInfo", null, cv);//you can insert data by execute sql//to doToast.makeText(DatabaseActivity.this,"Data has been inserted successfully.",Toast.LENGTH_LONG).show();}catch(SQLException ex){}finally{//db.close();}}}};OnClickListener queryDataListener = new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(db!=null){try{Cursor cursor = db.rawQuery("select * from T_UserInfo where Username = ?", new String[]{ "Tom" }); while (cursor.moveToNext()) {  int id = cursor.getInt(cursor.getColumnIndex("UserID")); String name = cursor.getString(cursor.getColumnIndex("Username")); queryResult = "id=>" + id + ", name=>" + name; Log.i("queryResult",queryResult );   } cursor.close(); Toast.makeText(DatabaseActivity.this,queryResult,Toast.LENGTH_LONG).show();}catch(SQLException ex){ex.printStackTrace();}finally{db.close();}}}};}</span>
这个例子中包含了创建数据库的方法,创建表的方法,插入数据的方法及查询数据的方法。当然对数据库的操作还有删除表、删除数据库等等,这些操作跟常规的sqlserver,oracle数据库操作类似,不再赘述,这里只是抛砖引玉,供大家参考。SQLite其实也可以做触发器,索引等。今后有机会再详细介绍。 下面是layotu文件:

<span style="font-family:Microsoft YaHei;"><?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/btnCreateDatabase"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:text="@string/CreateDatabase"/>    <Button             android:id="@+id/btnCreateDataTable"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:text="@string/CreateDataTable"/>    <Button             android:id="@+id/btnInsertData"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:text="@string/InsertData"/>        <Button             android:id="@+id/btnQueryData"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:text="@string/QueryData"/></LinearLayout></span>
效果如下:

Toast显示的数据就是查询到的结果。

更多相关文章

  1. Android使用AudioRecord遇到的问题与解决方法
  2. 另类方法屏蔽Android4.03的HOME按键
  3. android SDK更新方法总结
  4. Android 并发之CAS(原子操作)简单介绍(五)
  5. Android 之 SQLite数据库的使用
  6. SQLite 数据库 WAL 工作模式原理简介
  7. android设置Activity背景色为透明的2种方法
  8. android中的数据库操作(SQLite)

随机推荐

  1. 【Android】(转)android模拟器命令详解
  2. 自定义Seekbar拖动条样式
  3. 2018-07-27 详解Android基本布局
  4. Android中控制银行卡号的输入 即4个数字
  5. Android 常用技术
  6. android 使用signingConfigs进行打包
  7. Android studio Gradle插件从3.0.0降到2.
  8. Android实现动态自动匹配输入内容功能
  9. 【Android】AlertDialog中的EditText不能
  10. Android:横屏时禁止输入法全屏