• android笔记--Sqlite使用


    package com.example.storedate;
    
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.util.Log;
    
    public class SQLiteUtil extends SQLiteOpenHelper {
    	private final static String TAG = SQLiteUtil.class.getName();
    
    	private String SQL_CREATE = "create table dictionary(_id integer primary key autoincrement,"
    			+ "word, detail)";
    
    	public SQLiteUtil(Context context, String name, CursorFactory factory,
    			int version) {
    		super(context, name, factory, version);
    		// TODO Auto-generated constructor stub
    	}
    
    	@Override
    	public void onCreate(SQLiteDatabase db) {
    		// TODO Auto-generated method stub
    		db.execSQL(SQL_CREATE);
    	}
    
    	@Override
    	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    		// TODO Auto-generated method stub
    		Log.i(TAG, "db version update ");
    
    	}
    
    }
    
    package com.example.storedate;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
    
    import android.R.integer;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.util.Log;
    
    public class SQLiteManager {
    
    	private SQLiteUtil util;
    	private int VERSION = 1;
    	public SQLiteManager(Context context) {
    		this.util = new SQLiteUtil(context, "dict.db", null, VERSION);
    	}
    
    	public boolean addWord(String word, String detail) {
    		String sql = "insert into dictionary values(null,?,?)";
    		String[] bindArgs = new String[] { word, detail };
    		SQLiteDatabase db = util.getWritableDatabase();
    		db.execSQL(sql, bindArgs);
    
    		return true;
    	}
    
    	public ArrayList<Map<String, String>> convertToList() {
    		ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
    		String sql = "select _id,word,detail from dictionary";
    		SQLiteDatabase db = util.getReadableDatabase();
    		Cursor cursor = db.rawQuery(sql, null);
    		while (cursor.moveToNext()) {
    			Map<String, String> map = new HashMap<String, String>();
    			map.put("word", cursor.getString(1));
    			map.put("detail", cursor.getString(2));
    			// Log.i("test [0]","---"+cursor.getString(0));
    			// Log.i("test [1]","---"+cursor.getString(1));
    			// Log.i("test [2]","---"+cursor.getString(2));
    			list.add(map);
    		}
    		return list;
    	}
    
    	public Cursor getCursor() {
    		String sql = "select _id,word,detail from dictionary";
    		SQLiteDatabase db = util.getReadableDatabase();
    		Cursor cursor = db.rawQuery(sql, null);
    		return cursor;
    	}
    
    	public Map<String, String> getById(int index) {
    		String sql = "select _id,word,detail from dictionary where _id=?";
    		SQLiteDatabase db = util.getReadableDatabase();
    		Map<String, String> map = new HashMap<String, String>();
    		String[] selectionArgs = new String[] { index + "" };
    		Cursor cursor = db.rawQuery(sql, selectionArgs);
    		if (cursor.moveToNext()) {
    			map.put("word", cursor.getString(1));
    			Log.i("Dest", cursor.getString(1));
    			map.put("detail", cursor.getString(2));
    		}
    		return map;
    	}
    
    }
    

    使用:插入数据

    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_add);
    		dbManager = new SQLiteManager(this);
    		Button button = (Button) findViewById(R.id.button1);
    		final TextView textView1 = (TextView) findViewById(R.id.editText1);
    		final TextView textView2 = (TextView) findViewById(R.id.editText2);
    
    		button.setOnClickListener(new OnClickListener() {
    
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				String word = textView1.getText().toString();
    				String detail = textView2.getText().toString();
    				if (!"".equals(word) && !"".equals(detail)) {
    					dbManager.addWord(word, detail);
    					Toast.makeText(AddActivity.this, "word saved",
    							Toast.LENGTH_SHORT).show();
    					finish();
    				}
    			}
    		});
    
    	}
    

     使用:查询

    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_sqlite);
    
    		dbManager = new SQLiteManager(this);
    		listView = (ListView) findViewById(R.id.listView1);
    
    		cursorAdapter = new SimpleCursorAdapter(this,
    				android.R.layout.simple_list_item_2, dbManager.getCursor(),
    				new String[] { "word", "detail" }, new int[] {
    						android.R.id.text1, android.R.id.text2 }, 1);
    
    		listView.setAdapter(cursorAdapter);
    		listView.setOnItemClickListener(new OnItemClickListener() {
    			@Override
    			public void onItemClick(AdapterView<?> parent, View view,
    					int position, long id) {
    				// TODO Auto-generated method stub
    				Bundle bundle = new Bundle();
    				bundle.putInt("index", position);
    				Intent intent = new Intent(SQLiteActivity.this,
    						DetailActivity.class);
    				intent.putExtra("dic", bundle);
    				startActivity(intent);
    			}
    		});
    
    	}
    
  • 相关阅读:
    与ORA-28000: the account is locked-的解决办法
    Oracle建库
    批量将PowerDesigner中表字段由小写变成大写
    MVC5 action 返回JavaScript代码,未执行弹框,出现下载文件或是返回的JavaScript内容 的问题
    sql实现子查询
    经纬度计算是否在圆形内,是否在矩形内,是否在多边形内方法
    网站模板地址及CSS样式网站
    web前端学习笔记
    spring get方法 中文(UTF-8)乱码
    OpenLayers 笔记
  • 原文地址:https://www.cnblogs.com/xiaozu/p/4492097.html
Copyright © 2020-2023  润新知