您的位置:首页 > 移动开发 > Android开发

Android listView显示SQlite

2015-12-07 20:27 381 查看
效果如下关键代码:1、创建数据库
package com.android.hotelcontrol.callService;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
* Created by renjianhong on 2015/12/7.
*/
public class ClientTaskDB extends SQLiteOpenHelper {
private final static String DATABASE_NAME = "Client.db";
private final static int DATABASE_VERSION = 1;
private final static String TABLE_NAME = "task_table"; //表名
public final static String TASK_CONTENT = "task_content";//该字段存储任务内容
public final static String TASK_TIME = "task_time";//存储任务完成时间

public ClientTaskDB(Context context) {
// TODO Auto-generated constructor stub
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
//创建table
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE " + TABLE_NAME + " (" + TASK_CONTENT + " text, "+ TASK_TIME +" text);";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "DROP TABLE IF EXISTS " + TABLE_NAME;
db.execSQL(sql);
onCreate(db);
}

public Cursor select() {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db
.query(TABLE_NAME, null, null, null, null, null, null);
return cursor;
}
//增加操作
public long insert(String taskcontent,String time)
{
SQLiteDatabase db = this.getWritableDatabase();
/* ContentValues */
ContentValues cv = new ContentValues();
cv.put(TASK_CONTENT, taskcontent);
cv.put(TASK_TIME, time);
long row = db.insert(TABLE_NAME, null, cv);
return row;
}
//删除操作
public void delete(String taskcontent)
{
SQLiteDatabase db = this.getWritableDatabase();
String where = TASK_CONTENT + " = ?";
String whereValue = taskcontent;
db.delete(TABLE_NAME, where, new String[]{whereValue});
}
//修改操作
public void update( String taskcontent,String time)
{
SQLiteDatabase db = this.getWritableDatabase();
String where = TASK_CONTENT + " = ?";
String whereValue =  taskcontent ;

ContentValues cv = new ContentValues();
cv.put(TASK_CONTENT, taskcontent);
cv.put(TASK_TIME, time);
db.update(TABLE_NAME, cv, where, new String[]{whereValue});
}
}
2、创建Activity
package com.android.hotelcontrol.callService;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.format.Time;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Li
119ce
stView;
import android.widget.RelativeLayout;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Toast;

import com.android.mymhotel.R;
import com.android.mymhotel.common.contanst.HeaderConst;
import com.android.pc.ioc.app.Ioc;
import com.android.pc.ioc.util.MapVo;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class CallServiceActivity extends Activity {
private static ListView lv;
private ClientTaskDB mclientDB;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_server_view);
lv = (ListView) findViewById(R.id.service_listview);//已完成列表控件

//数据库测试数据
mclientDB = new ClientTaskDB(this);
mclientDB.insert("可乐 X 2","2015/12/7 11:55");
mclientDB.insert("矿泉水 X 2","2015/12/7 11:55");
mclientDB.insert("奥尔良鸡腿堡 X 8","2015/12/7 11:55");
mclientDB.insert("加州牛肉面 X 2","2015/12/7 11:55");
mclientDB.insert("加州小白菜 X 2","2015/12/7 11:55");

showFinishTask();

}

//    显示已完成任务列表

private void  showFinishTask(){
SQLiteDatabase db = mclientDB.getWritableDatabase();
Cursor cursor = db.query("task_table", null, null, null, null, null, null);
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
//������SimpleAdapter��ݰ�
//����:���캯��SimpleAdapterδ���� ���this�޸�ΪMainActivity.this
SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.call_service_list_item, new String[]{"content", "time"}, new int[]{R.id.service_contnt, R.id.finish_time});
//��ȡ��� �α��ƶ�����һ��
while(cursor.moveToNext()) {
Map<String, Object> map = new HashMap<String, Object>();
map.put( "content", cursor.getString(cursor.getColumnIndex("task_content")) );
Log.d("CallServiceActivity", "内容" + cursor.getString(cursor.getColumnIndex("task_content")));
map.put("time", cursor.getString(cursor.getColumnIndex("task_time")));
Log.d("CallServiceActivity", "时间" + cursor.getString(cursor.getColumnIndex("task_time")));
list.add(map);
}
lv.setAdapter(adapter);
}
}
3、布局layout关键代码
<RelativeLayoutandroid:id="@+id/call_service_data_list"android:layout_alignParentBottom="true"android:layout_width="fill_parent"android:layout_height="200sp"><TextViewandroid:id="@+id/call_server_item_text"android:layout_width="fill_parent"android:paddingTop="3sp"android:paddingLeft="3sp"android:layout_height="wrap_content"android:textSize="15sp"android:text="已完成服务"/><ImageViewandroid:id="@+id/divider_line"android:layout_below="@+id/call_server_item_text"android:layout_width="fill_parent"android:padding="3sp"android:layout_height="0.1sp"android:background="#99CC33"/><ListViewandroid:layout_below="@+id/divider_line"android:id="@+id/service_listview"android:layout_width="fill_parent"android:divider="#99CC33"android:dividerHeight="0.1sp"android:layout_height="180sp"/></RelativeLayout>
4,Adapter中用到的call_service_list_item
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"><RelativeLayoutandroid:id="@+id/call_server_item_content"android:layout_alignParentBottom="true"android:paddingTop="3dp"android:layout_width="fill_parent"android:layout_height="40dp"><TextViewandroid:id="@+id/service_contnt"android:layout_centerVertical="true"android:paddingLeft="3dp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="16dp"/><TextViewandroid:id="@+id/finish_time"android:layout_centerVertical="true"android:paddingRight="3dp"android:layout_alignParentRight="true"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="18dp"/></RelativeLayout></RelativeLayout>

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: