求助:关于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.分类汇总的话,你得先把符合大条件的支出取出,再细分列出。