万书网 > 文学作品 > Android从入门到精通 > 第170页

第170页





}



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  getScrollData(int  start,  int  count)



{



List  tb_inaccount  =  new  ArrayList();  //创建集合对象



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"