Android数据库

Android访问数据库:
1.建库,建表:
public class MySQLiteOpenHelper extends SQLiteOpenHelper{
private static final String DB_NAME="test.db";//库名
private static final int DB_VERSION=1;//版本号

public static final String NEWS_TAB="news";//表名


//构造函数
public MySQLiteOpenHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, DB_NAME, factory, DB_VERSION);
}

public MySQLiteOpenHelper(Context content){
this(content,DB_NAME,null,DB_VERSION);
}



建表方法:
@Override
public void onCreate(SQLiteDatabase db) {
StringBuilder createNewsTable = new StringBuilder();
createNewsTable.append("create table ");
createNewsTable.append(NEWS_TAB);
createNewsTable.append("(");
createNewsTable.append(" id integer primary key autoincrement,");
createNewsTable.append(" title varchar(100) ,");
createNewsTable.append(" author varchar(100) ");
createNewsTable.append(")");
db.execSQL(createNewsTable.toString());
}
}


对表进行增,删,改,查:
public void addNews(String title,String author){
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
String insertSQL="insert into "+MySQLiteOpenHelper.NEWS_TAB
+"(title,author) values(?,?)";

db.execSQL(insertSQL, new Object[]{title,author});
db.close();
}


public void updateNews(int id,String title,String author){
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("title", title);
values.put("author", author);
db.update(MySQLiteOpenHelper.NEWS_TAB, values, " id = ?", new String[]{id+""});


db.close();
}


public void DelNews(int id){
SQLiteDatabase db=dbOpenHelper.getWritableDatabase();
db.delete(MySQLiteOpenHelper.NEWS_TAB,  " id = ?", new String[]{id+""});
}


public ArrayList<News> findNews(){
ArrayList<News> list = new ArrayList<News>();
SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
Cursor cursor= db.query(MySQLiteOpenHelper.NEWS_TAB,
new String[]{"id","title","author"},
null, 
null, 
null,
null,
null); 

while(cursor.moveToNext()){
int id=cursor.getInt(cursor.getColumnIndex("id"));
String title=cursor.getString(cursor.getColumnIndex("title"));
String author= cursor.getString(cursor.getColumnIndex("author"));
News n = new News();
n.setId(id);
n.setAuthor(author);
n.setTitle(title);
list.add(n);
}

cursor.close();
db.close();

return list;
}


弹出框:


registerForContextMenu(t);
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.add(Menu.NONE, Menu.FIRST+1, 1, "call");
menu.add(Menu.NONE, Menu.FIRST+2, 2, "send");
menu.add(Menu.NONE, Menu.FIRST+3, 3, "take");
super.onCreateContextMenu(menu, v, menuInfo);
}


@Override
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId()){
case Menu.FIRST+1:
Intent i = new Intent(this, CallActivity.class);
startActivity(i);
break;
case Menu.FIRST+2:
Intent in=new Intent(this, SendActivity.class);
startActivity(in);
break;
case Menu.FIRST+3:
Intent inte=new Intent(this,TakeActivity.class);
startActivity(inte);
break;
default:
break;
}
return false;
}




android:state_enabled:能够接受触摸或点击事件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值