安卓中實現對SQLITE數據表的(de)增删改查 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 技術分享 >

安卓中實現對SQLITE數據表的(de)增删改查

發表時(shí)間:2021-1-10

發布人(rén):融晨科技

浏覽次數:100


直接上(shàng)代碼
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() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String newData=http://www.sjsjw.com/100/000688MYM017387/et.getText().toString();
				addData(newData);
			}
		});
        //長按列表項,修改數據
        lv.setOnItemLongClickListener(new OnItemLongClickListener() {
			@Override
			public boolean onItemLongClick(AdapterView arg0, View arg1,
					final int position, long arg3) {
				// TODO Auto-generated method stub
				
				new AlertDialog.Builder(MainActivity.this).setPositiveButton("我确定修改",new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						updateData(position);
					}
				}).show();
				return false;
			}
		});
        //短按列表項删除數據
        lv.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView arg0, View arg1, int position,
					long arg3) {
				// TODO Auto-generated method stub
				Toast.makeText(MainActivity.this, position+"", 0).show();
				deleteData(position);
			}
		});
    }
    
    //添加數據的(de)執行函數,添加到(dào)本地(dì / de)數據庫,并提示更新listtview
    void addData(String newData)
    {
    	//添加到(dào)本地(dì / de)數據庫
    	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();
    	 //讀取本地(dì / de)數據庫 
        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
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
		db.execSQL("CREATE TABLE datatable ("+
		           "_id INTEGER PRIMARY KEY AUTOINCREMENT,"+
		           "data String DEFAULT \"\")"  );
	}

	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
		// TODO Auto-generated method stub

	}

}

相關案例查看更多