0
点赞
收藏
分享

微信扫一扫

Android sqlite 数据库查询,插入,删除,更新demo<第2章>


接下来,测试DataBasehelper  ,创建activity,并在activity中创建option menu,实现插入,删除,更新,操作完成后查询数据库,显示在activity中的ListView。

如图:

Android sqlite 数据库查询,插入,删除,更新demo<第2章>_数据库



实现这个demo,需要创建三个控件,

一个是activity的布局文件fragment_list_view.xml ;

ListView布局中需要显示的列表控件 user_info.xml,主要是要显示的列名内容的控件;

最后一个是menu控件  option_menu.xml


//  fragment_list_view.xml 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:padding="10px"
     android:orientation="vertical"
     >
     <ListView 
         android:id="@+id/user_list"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content">
     </ListView>
 </LinearLayout>


//  user_info.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal"
     android:padding="10px"
     >
     
     <TextView 
         android:id="@+id/user_id"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_weight="1"
         />
     <TextView 
         android:id="@+id/user_name"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:textColor="#400000"
android:layout_weight="1"
         />
     <TextView 
         android:id="@+id/user_number"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:textColor="#400000"
         android:layout_weight="1"
         />
 </LinearLayout>

//  option_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     tools:context="com.example.listviewdatabase.ListViewActivity" >
    
     <item 
         android:id="@+id/userdata_insert"
         android:title="Insert"
         android:icon="@android:drawable/ic_menu_add"
         />
     
     <item 
         android:id="@+id/userdata_delete"
         android:title="Delete"
         android:icon="@android:drawable/ic_menu_delete"
         />
     <item 
         android:id="@+id/userdata_updata"
         android:title="Updata"
         android:icon="@android:drawable/ic_menu_upload"
         />
 </menu>

上 主界面activity代码


package com.example.listviewdatabase;


 import android.support.v7.app.ActionBarActivity;
 import android.support.v4.widget.SimpleCursorAdapter;
 import android.content.Intent;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.widget.CursorAdapter;
 import android.widget.ListView;




public class ListViewActivity extends ActionBarActivity {

private static final String TAG = "ListViewActivity";


private ListView listview = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_list_view);

}



// 使用onResume()方法,是因为在插入,删除,更新功能是activity的一个Dialog,操作完成后回返回此界面调用onResume(),在此执行的功能是显示数据中的内容

@Override
protected void onResume() {
// TODO Auto-generated method stub

listview = (ListView) findViewById(R.id.user_list);

DataBaseHelper dbh = new DataBaseHelper(ListViewActivity.this, null);
SQLiteDatabase db = dbh.getReadableDatabase();
Cursor cursor = dbh.getCursor(db);

SimpleCursorAdapter myAdapter = new SimpleCursorAdapter(ListViewActivity.this, 
R.layout.user_info, 
cursor, 
new String[]{"_id","name","number"}, 
new int[]{R.id.user_id,R.id.user_name,R.id.user_number},
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
listview.setAdapter(myAdapter);
dbh.close();
db.close();
super.onResume();
}

@Override   
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub

 // menu.add(0, 1, 1, "Add");
 // menu.add(0, 2, 2, "Delete");

MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.option_menu, menu);

return true;
}


此文章是本人学习笔记,能力有限,相互学习,欢迎点评,谢谢...

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub

switch (item.getItemId()) {
case R.id.userdata_insert:
Intent intent_insert_userdata = new Intent();
intent_insert_userdata.setClass(ListViewActivity.this,InsertUserEditDialog.class);
ListViewActivity.this.startActivity(intent_insert_userdata);
break;
case R.id.userdata_delete:
Intent intent_delete_userdata = new Intent();
intent_delete_userdata.setClass(ListViewActivity.this, DeleteUserDataDialog.class);
ListViewActivity.this.startActivity(intent_delete_userdata);
break;
case R.id.userdata_updata:

Intent intent_updata_userdata =  new Intent();
intent_updata_userdata.setClass(ListViewActivity.this, UpdataUserDataDialog.class);
ListViewActivity.this.startActivity(intent_updata_userdata);
break;
default:
break;
}
return true;
}

 }

举报

相关推荐

第2章 关系数据库

0 条评论