Android sqlite 数据库查询,插入,删除,更新demo<第2章>
来源:互联网 发布:南京行知中学升学率 编辑:程序博客网 时间:2024/05/17 02:54
接下来,测试DataBasehelper ,创建activity,并在activity中创建option menu,实现插入,删除,更新,操作完成后查询数据库,显示在activity中的ListView。
如图:
实现这个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;
}
}
此文章是本人学习笔记,能力有限,相互学习,欢迎点评,谢谢...
- Android sqlite 数据库查询,插入,删除,更新demo<第2章>
- Android sqlite 数据库查询,插入,删除,更新demo<第3章>---插入
- Android sqlite 数据库查询,插入,删除,更新demo<第3章>---测试验证插入数据
- Android sqlite 数据库查询,插入,删除,更新demo<第6章>---更新
- Android sqlite 数据库查询,插入,删除,更新demo<第5章>---删除
- Android sqlite 数据库查询,插入,删除,更新demo<第4章>---查询
- Android sqlite 数据库查询,插入,删除,更新demo<第1章>
- Android Sqlite数据库执行插入查询更新删除的操作对比
- Android Sqlite数据库执行插入查询更新删除的操作对比
- ThinkPHP 数据库操作,插入,更新,删除,查询
- android中常用的查询、插入、更新、删除等SQL语句以及SQLite数据类型
- Android sqlite批量插入/删除/更新大量文件
- python SQLAlchemy操作mysql数据库:插入,查询,删除,更新
- php 连接mysql数据库,查询、插入、更新、删除功能
- 第二章 MySQL数据库基础-查询、插入、更新、删除表记录
- linqtosql - 插入 删除 更新 查询
- 《MySQL入门很简单》学习笔记(11)之第11章插入、更新与删除数据(关键词:数据库/MySQL/插入数据/更新数据/删除数据)
- 数据库数据插入 更新 删除
- Jquery+ajax+json+servlet原理和Demo
- Android的四种存储方式: sharedpreference,file,SQlite,contentprovider。
- U-Boot移植之前期分析(下)
- mysql rpm 安装
- ASIHttpRequest缓存无效分析
- Android sqlite 数据库查询,插入,删除,更新demo<第2章>
- Java中的final
- seam2.2根据已有数据库(postgresql)生成项目
- UploadDialog使用完整代码
- C#和Java中的一些不同
- mac组播
- 文件监控 Linux Windows
- 三种SQL分页语句
- Linux中硬链接文件和软链接文件的区别