安卓中實現對SQLITE資料表的增刪改查

來源:互聯網
上載者:User

標籤:

直接上代碼

MainActiviy.java


package com.example.sqllitcache;import android.app.Activity;import android.app.AlertDialog;import android.content.ContentValues;import android.content.DialogInterface;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.AdapterView.OnItemLongClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import android.widget.Toast;public class MainActivity extends Activity {ListView lv;Button submit;EditText et;SQLiteDatabase dbwrite ;Dbhelper dbhelper;ArrayAdapter <String> adapter; Cursor c;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        lv=(ListView) findViewById(R.id.listView1);        submit=(Button) findViewById(R.id.button1);        et=(EditText) findViewById(R.id.autoCompleteTextView1);        adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);        lv.setAdapter(adapter);        dbhelper=new Dbhelper(this);        dbwrite=dbhelper.getWritableDatabase();        getData();        //點擊提交        submit.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubString newData=et.getText().toString();addData(newData);}});        //長按清單項目,修改資料        lv.setOnItemLongClickListener(new OnItemLongClickListener() {@Overridepublic boolean onItemLongClick(AdapterView<?> arg0, View arg1,final int position, long arg3) {// TODO Auto-generated method stubnew AlertDialog.Builder(MainActivity.this).setPositiveButton("我確定修改",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubupdateData(position);}}).show();return false;}});        //短按清單項目刪除資料        lv.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, position+"", 0).show();deleteData(position);}});    }        //添加資料的執行函數,添加到本機資料庫,並提示更新listtview    void addData(String newData)    {    //添加到本機資料庫    ContentValues content=new ContentValues();    String putdata=et.getText().toString();        content.put("data", putdata);        dbwrite.insert("datatable",null, content);        getData();    }        //刪除一條資料    void deleteData(int position)    {    c.moveToPosition(position);int id=c.getInt(c.getColumnIndex("_id"));dbwrite.delete("datatable", "_id=?",  new String[]{id+""} );getData();     }    //修改一條資料    void updateData(int position)    {    c.moveToPosition(position);ContentValues cv=new ContentValues();cv.put("data", "changed");int id=c.getInt(c.getColumnIndex("_id"));dbwrite.update("datatable", cv, "_id=?", new String [] {id+""});        getData();    }    //擷取資料    void getData()    {    c= dbwrite.query("datatable", null, null, null, null, null, null);    adapter.clear();     //讀取本機資料庫         while(c.moveToNext())        {                String data=c.getString(c.getColumnIndex("data"));        int id=c.getInt(c.getColumnIndex("_id"));        adapter.add(data+":"+id);        System.out.println(data+": "+id);        }        adapter.notifyDataSetChanged();    }}


Dbhelper.java


package com.example.sqllitcache;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;public class Dbhelper extends SQLiteOpenHelper {public Dbhelper(Context context ) {super(context, "mydb",null, 1);// TODO Auto-generated constructor stub}@Overridepublic void onCreate(SQLiteDatabase db) {// TODO Auto-generated method stubdb.execSQL("CREATE TABLE datatable ("+           "_id INTEGER PRIMARY KEY AUTOINCREMENT,"+           "data String DEFAULT \"\")"  );}@Overridepublic void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {// TODO Auto-generated method stub}}


安卓中實現對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.