1、 /创建表 db.execSQL(sql); public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) DatabaseManage.javaimport java.util.Date;import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteException;import android.util.Log;public class DatabaseMan
2、age private SQLiteDatabase mSQLiteDatabase = null;/用于操作数据库的对象 private DatabaseHelper dh = null;/用于创建数据库的对象 private String dbName = notepad.db private int dbVersion = 1; public DatabaseManage(Context context) mContext = context; /* * 打开数据库 */ public void open() try dh = new DatabaseHelper(mContext, d
3、bName, null, dbVersion); if(dh = null) Log.v(msg, is null); return ; mSQLiteDatabase = dh.getWritableDatabase(); /dh.onOpen(mSQLiteDatabase); catch(SQLiteException se) se.printStackTrace(); * 关闭数据库 public void close() mSQLiteDatabase.close(); dh.close(); /获取列表 public Cursor selectAll() Cursor cursor
4、 = null; String sql = select * from record cursor = mSQLiteDatabase.rawQuery(sql, null); catch(Exception ex) ex.printStackTrace(); cursor = null; return cursor; public Cursor selectById(int id) /String result = ;select * from record where _id= + id + /插入数据 public long insert(String title, String con
5、tent) long datetime = System.currentTimeMillis(); long l = -1; ContentValues cv = new ContentValues(); cv.put(title, title);content, content);time, datetime); l = mSQLiteDatabase.insert(, null, cv); / Log.v(datetime, datetime+l); l = -1; return l; /删除数据 public int delete(long id) int affect = 0; aff
6、ect = mSQLiteDatabase.delete(_id=?, new Stringid+); affect = -1; return affect; /修改数据 public int update(int id, String title, String content) String w = id+; affect = mSQLiteDatabase.update(, cv, , w);ListViewAdapter.javaimport java.util.HashMap;import java.util.List;import android.text.format.DateF
7、ormat;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;public class ListViewAdapter extends BaseAdapter private List listItems; listItemTimes; /private HashMap private LayoutInflater inflater; p
8、ublic ListViewAdapter(Context context, List listItems, List times) this.listItems = listItems; this.listItemTimes = times; inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); * 往列表添加条目 * param item public void addListItem(String item, String time) listItems.add(ite
9、m); listItemTimes.add(time); * 删除指定位置的数据 * param position public void removeListItem(int position) listItems.remove(position); listItemTimes.remove(position); * 获取列表的数量 public int getCount() return listItems.size(); * 根据索引获取列表对应索引的内容 public Object getItem(int position) return listItems.get(position)
10、; public long getItemId(int position) return position; * 通过该函数显示数据 public View getView(int position, View convertView, ViewGroup parent) if(convertView = null) convertView = inflater.inflate(R.layout.notepad_list_item,null); TextView text = (TextView)convertView.findViewById(R.id.listItem); text.set
11、Text(listItems.get(position); TextView time = (TextView)convertView.findViewById(R.id.listItemTime); String datetime = DateFormat.format(yyyy-MM-dd kk:mm:ss, Long.parseLong(listItemTimes.get(position).toString(); time.setText(datetime); return convertView;NotepadActivity.javaimport java.util.ArrayLi
12、st;import android.app.Activity;import android.app.AlertDialog;import android.app.ListActivity;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.MenuItem;imp
13、ort android.view.View.OnClickListener;import android.view.View.OnCreateContextMenuListener;import android.widget.AbsListView;import android.widget.AbsListView.OnScrollListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.Button;import
14、android.widget.ListView;public class NotepadActivity extends ListActivity implements OnScrollListener /* Called when the activity is first created. */ /用于表示当前界面是属于哪种状态 public static final int CHECK_STATE = 0; public static final int EDIT_STATE = 1; public static final int ALERT_STATE = 2; private Li
15、stView listView; private ListViewAdapter adapter;/ 数据源对象 private View RecordView;/列表布局 private View longClickView ;/长按弹出的布局 private Button addRecordButton;/新增 private Button deleteRecordButton;/删除 private Button checkRecordButton;/查看 private Button modifyRecordButton;/修改 private DatabaseManage dm =
16、null;/ 数据库管理对象 private Cursor cursor = null; private int id = -1;/被点击的条目 public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); RecordView = getLayoutInflater() .inflate(R.layout.footer,null);/获取条目列表的布局 longClickView = getLayoutInflater() .
17、inflate(R.layout.long_click,null); /获取按钮对象 addRecordButton = (Button) RecordView.findViewById(R.id.addRecordButton); deleteRecordButton = (Button) longClickView.findViewById(R.id.deleteRecordButton); checkRecordButton = (Button) longClickView.findViewById(R.id.checkRecordButton); modifyRecordButton
18、= (Button) longClickView.findViewById(R.id.modifyRecordButton); dm = new DatabaseManage(this);/数据库操作对象 listView = getListView();/获取id为list的对象 listView.addFooterView(RecordView);/设置列表底部 视图 initAdapter();/初始化 / this.startManagingCursor(cursor);/将cursor交给Activity管理 setListAdapter(adapter);/自动为id为list的L
19、istView设置适配器 /设置滑动监听器 listView.setOnScrollListener(this); listView.setOnCreateContextMenuListener(new myOnCreateContextMenuListener(); /设置按钮监听器 addRecordButton.setOnClickListener(new AddRecordListener(); deleteRecordButton.setOnClickListener(new DeleteRecordListener(); checkRecordButton.setOnClickLi
20、stener(new CheckRecordListener(); modifyRecordButton.setOnClickListener(new ModifyRecordListener(); /初始化数据源 public void initAdapter() dm.open();/打开数据库操作对象 cursor = dm.selectAll();/获取所有数据 cursor.moveToFirst();/将游标移动到第一条数据,使用前必须调用 int count = cursor.getCount();/个数 ArrayList items = new ArrayList(); ti
21、mes = new ArrayList for(int i= 0; i count; i+) items.add(cursor.getString(cursor.getColumnIndex(); times.add(cursor.getString(cursor.getColumnIndex( cursor.moveToNext();/将游标指向下一个 / cursor.close(); dm.close();/关闭数据操作对象 adapter = new ListViewAdapter(this,items,times);/创建数据源 protected void onDestroy() /销毁Activity之前,所做的事 cursor.close();/关闭游标 super.onDestroy(); /滑动事件 public void onScrollStateChanged(AbsListView view, int scrollState) public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) /-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1