}
return null; //如果没有信息,则返回null
}
(5)detele(Integer... ids)方法
该方法的主要功能是根据指定的一系列编号删除收入信息,其中,参数ids表示要删除的收入编号的集合。主要代码如下:
/**
* 刪除收入信息
*
* @param ids
*/
public void detele(Integer... ids)
{
if (ids.length > 0) //判断是否存在要删除的id
{
StringBuffer sb = new StringBuffer(); //创建StringBuffer对象
for (int i = 0; i < ids.length; i++) //遍历要删除的id集合
{
sb.append('?').append(','); //将删除条件添加到StringBuffer对象中
}
sb.deleteCharAt(sb.length() - 1); //去掉最后一个“,“字符
db= helper.getWritableDatabase(); //初始化SQLiteDatabase对象
//执行删除收入信息操作
db.execSQL("delete from tb_inaccount where _id in (" + sb + ")", (Object[]) ids);
}
}
(6)getScrollData(int start, int count)方法
该方法的主要功能是从收入数据表的指定索引处获取指定数量的收入数据,其中,参数start表示要从此处开始获取数据的索引;参数count表示要获取的数量;返回值为List
/**
* 获取收入信息
* @param start 起始位置
* @param count 每页显示数量
* @return
*/
public List
{
List
db = helper.getWritableDatabase(); //初始化SQLiteDatabase对象
Cursor cursor = db.rawQuery("select * from tb_inaccount limit ?,?", new String[]{ String.valueOf(start), String.valueOf(count) }); //获取所有收入信息
while (cursor.moveToNext()) //遍历所有的收入信息
{
tb_inaccount.add(new Tb_inaccount(cursor.getInt(cursor.getColumnIndex("_id")), cursor.getDouble(cursor.getColumnIndex("money")), cursor.getString(cursor.getColumnIndex("time")), cursor.getString(cursor.getColumnIndex("type")), cursor.getString(cursor.getColumnIndex("handler")), cursor.getString(cursor.getColumnIndex("mark")))); //将遍历到的收入信息添加到集合中
}
return tb_inaccount; //返回集合
}
(7)getCount()方法
该方法的主要功能是获取收入数据表中的总记录数,返回值为获取到的总记录数。主要代码如下:
/**
* 获取总记录数
* @return
*/
public long getCount()
{
db = helper.getWritableDatabase(); //初始化SQLiteDatabase对象
Cursor cursor = db.rawQuery("select count(_id) from tb_inaccount", null); //获取收入信息的记录数
if (cursor.moveToNext()) //判断Cursor中是否有数据
{
return cursor.getLong(0); //返回总记录数
}
return 0; //如果没有数据,则返回0
}
(8)getMaxId()方法
该方法的主要功能是获取收入数据表中的最大编号,返回值为获取到的最大编号。主要代码如下:
/**
* 获取收入最大编号
* @return
*/
public int getMaxId()
{
db = helper.getWritableDatabase(); //初始化SQLiteDatabase对象
Cursor cursor = db.rawQuery("select max(_id) from tb_inaccount", null); //获取收入信息表中的最大编号
while (cursor.moveToLast()) { //访问Cursor中的最后一条数据
return cursor.getInt(0); //获取访问到的数据,即最大编号
}
return 0; //如果没有数据,则返回0
}
15.8 登录模块设计
教学录像:光盘\TM\lx\15\登录模块设计.exe
本模块使用的数据表:tb_pwd
登录模块主要用于通过输入正确的密码进入家庭理财通的主窗体,它可以提高程序的安全性,保护数据资料不外泄。登录模块运行结果如图15.10所示。
图15.10 系统登录
15.8.1 设计登录布局文件
在res\layout目录下新建文件login.xml,用来作为登录窗体的布局文件,在该布局文件中,将布局方式修改为RelativeLayout,然后添加一个TextView组件、一个EditText组件和两个Button组件,实现代码如下:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp"