android資料庫 Android內建資料庫SQLite 操作 一步一步 圖示教程

來源:互聯網
上載者:User

標籤:android   資料庫   內建資料庫 sqlite操作   

開發過程中使用Android內建的資料庫,不僅安全性較好,而且資料存取的效果也較好。

附原始碼

http://download.csdn.net/detail/wyx100/8670843

開發規劃 主介面

     完成資料的輸入,觸發儲存

 

啟動後介面

 

輸入資料

 資料顯示介面

     資料庫讀取資料後顯示

刪除記錄

 

開發順序主介面

   類代碼

package com.example.sqlitetest;import android.os.Bundle;import android.app.Activity;import android.content.ContentValues;import android.content.Intent;import android.view.View;import android.widget.Button;import android.widget.EditText;public class ActivityMain_1 extends Activity {//聲明EditText執行個體private EditText et1,et2,et3;//聲明Button執行個體private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main_1);//根據ID獲得執行個體對象et1 = (EditText) findViewById(R.id.EditText01);et2 = (EditText) findViewById(R.id.EditText02);et3 = (EditText) findViewById(R.id.EditText03);button = (Button) findViewById(R.id.button);//事件button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String name=et1.getText().toString();String url =et2.getText().toString();String desc = et3.getText().toString();ContentValues values = new ContentValues();values.put("name", name);values.put("url", url);values.put("desc", desc);//執行個體化資料庫協助類DBHelper helper = new DBHelper(getApplicationContext());//開啟資料庫helper.open(); //插入資料helper.insert(values);//執行個體化IntentIntent intent = new Intent(ActivityMain_1.this,QueryActivity.class);startActivity(intent);helper.close();}});}}

 

   介面布局
<?xml version="1.0" encoding="UTF-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:id="@+id/TextView01"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="網站名稱"/><EditTextandroid:id="@+id/EditText01"android:layout_width="fill_parent"android:layout_height="wrap_content"/><TextViewandroid:id="@+id/TextView02"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="URL"/><EditTextandroid:id="@+id/EditText02"android:layout_width="fill_parent"android:layout_height="wrap_content"/><TextViewandroid:id="@+id/TextView03"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="網站描述"/><EditTextandroid:id="@+id/EditText03"android:layout_width="fill_parent"android:layout_height="wrap_content"android:height="100px"/><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="添加"/></LinearLayout>

 

2.資料顯示介面

類代碼

package com.example.sqlitetest;import android.app.AlertDialog;import android.app.ListActivity;import android.content.DialogInterface;import android.database.Cursor;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ListView;import android.widget.SimpleCursorAdapter;public class QueryActivity extends ListActivity {private ListView listView;private Cursor c; @Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);//setContentView(R.layout.row);//執行個體化資料庫協助類final DBHelper help = new DBHelper(this);help.open();c= help.query(); query();//提示對話方塊final AlertDialog.Builder builder = new AlertDialog.Builder(this);listView.setOnItemClickListener(new OnItemClickListener(){@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {final long temp = id;builder.setMessage("真的要刪除該條記錄嗎?").setPositiveButton("是", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {System.out.println("yes");help.del((int)temp);//重新查詢//query();Cursor c = help.query();//清單項目數組String[] from ={"_id","name","url","desc"};//清單項目IDint[] to ={R.id.text0,R.id.text1,R.id.text2,R.id.text3};//適配器SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(),R.layout.row,c,from,to);ListView listView = getListView();listView.setAdapter(adapter);}}).setNegativeButton("否", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub}});builder.create();builder.show();}});}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();}public void query(){//清單項目數組String[] from ={"_id","name","url","desc"};//清單項目IDint[] to ={R.id.text0,R.id.text1,R.id.text2,R.id.text3};//適配器SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.row,c,from,to);//adapter.notifyDataSetChanged();//列表視圖 listView = getListView();//為列表視圖添加適配器listView.setAdapter(adapter);}}


介面布局

<?xml version="1.0" encoding="UTF-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_gravity="center_vertical"><TextViewandroid:id="@+id/text0"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingRight="10px"/><TextViewandroid:id="@+id/text1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingRight="10px"/><TextViewandroid:id="@+id/text2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingRight="10px"/><TextViewandroid:id="@+id/text3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingRight="10px"/></LinearLayout>
資料庫處理類
package com.example.sqlitetest;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBHelper extends SQLiteOpenHelper {private static final String DB_NAME="coll.db";//????private static final String TBL_NAME="logtable";//????SQL???private static final String CREATE_TBL = "create table logtable " +"(_id integer primary key autoincrement,name text,url text,desc text)";//SQLiteDatabase???private SQLiteDatabase db;public DBHelper(Context context) {super(context, DB_NAME, null, 2);}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_TBL);}//??????public void open(){db = getWritableDatabase();}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stub}//??????public void insert(ContentValues values){db.insert(TBL_NAME, null, values);}//???????public Cursor query(){Cursor c = db.query(TBL_NAME, null, null, null, null, null, null);return c;}//???public void del(int id){db.delete(TBL_NAME, "_id=?", new String[]{String.valueOf(id)});}//???????public void close(){if (db != null){db.close();}}}

啟動設定檔

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.sqlitetest"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="18" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"          android:theme="@style/AppTheme" >        <activity            android:name="com.example.sqlitetest.ActivityMain_1"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity            android:name="com.example.sqlitetest.QueryActivity"></activity>    </application></manifest>


 


 

android資料庫 Android內建資料庫SQLite 操作 一步一步 圖示教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.