日期:2014-05-20  浏览次数:20517 次

求助:关于RMS中记录分类存储
本人初学,打算自己做一款手机记账工具,几个主要功能包括分类记录支出和收入以及分类汇总。现在有点些问题不知如何解决,希望坛子里的高人能指教:
  以记录支出模块为例,如果用户要记录当天的支出,首先要选择日期,因此在我Form中加入了DateField,选择完日期后,在接下的窗口中有两个ChoiceGroup和两个TextField,分别记录支出类别、账户、支出详情和支出金额,并都保存进了RMS中。
  接下来的问题感觉不知如何处理了,请大家想想解决方案。
  1.用户一天内的支出肯定有好几笔,如何以日期为一条记录,保存当天的所有支出情况呢?我想能否以用户选择的日期为一个RecordStoreName?
  2.用户以后(比如每过一个月)想要查询各类支出的总合,怎么样在RMS中以支出类别为标志分类汇总每月支出呢?
  描述可能不够准确,只是希望能得到这类程序的解题思路或者方法,希望各位支招给点灵感!!

------解决方案--------------------
我觉得你可以采用这种形式存储记录 Vector<HashTable<String,String>>,其中hashtable的key为日期,value为金额,收入与支出各用一个recordstore,每次操作都进行插入收入或支出的Vector
------解决方案--------------------


1.一条记录储存一天多项支出

 ByteArrayOutputStream baos = new ByteArrayOutputStream();
 DataOutputStream dos = new DataOutputStream(baos);
 dos.writeUTF(日期);//或用dos.writeLong(时间);看具体需求
 dos.writeInt(当天支出条目数);
 dos.writeUTF(当天支出条目一);
 dos.writeUTF(当天支出条目二);
 ……//当天的支出条目
 byte[] rec = baos.toByteArray();
 
 rs.addRecord(rec, 0, rec.length); 

2.分类汇总的话,你得先把符合大条件的支出取出,再细分列出。