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:能够接受触摸或点击事件
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:能够接受触摸或点击事件