昨天对小账本的相关功能做了完善,新增了筛选功能。
支持对类型、收支项、日期进行修改。
但暂时尚不完善,只能针对相关小项进行筛选,无法连续对小项的结果进行筛选。这一功能预计在本周三进行完善。
相关代码
public String[] readCord_select() {
SQLiteUserChager sqLiteUserChager = new SQLiteUserChager(getContext(), "Userr", null, 1);
SQLiteDatabase sqLiteDatabase = sqLiteUserChager.getReadableDatabase();
number=0;
if (group.length() < 3) {
Cursor cursor;
if (Integer.parseInt(group) == 1) {
cursor = sqLiteDatabase.rawQuery("select * from Cord where inout=? and username=?", new String[]{select[1][Integer.parseInt(item)],nowusername});
} else {
cursor = sqLiteDatabase.rawQuery("select * from Cord where type=? and username=?", new String[]{select[2][Integer.parseInt(item)],nowusername});
}
String[] strings = new String[count = cursor.getCount()];
int i = 0;
if (cursor.moveToNext())
do {
number+=Double.parseDouble(cursor.getString(cursor.getColumnIndex("number")));
String[] strings1 = new String[7];
strings1[0] = cursor.getString(cursor.getColumnIndex("date"));
strings1[1] = cursor.getString(cursor.getColumnIndex("type"));
strings1[2] = cursor.getString(cursor.getColumnIndex("inout"));
strings1[3] = cursor.getString(cursor.getColumnIndex("number"));
strings1[4] = cursor.getString(cursor.getColumnIndex("info"));
strings1[5] = cursor.getString(cursor.getColumnIndex("username"));
strings1[6] = cursor.getString(cursor.getColumnIndex("id"));
arr.add(strings1);
strings[i] = "我" + cursor.getString(cursor.getColumnIndex("date")) +
" 在" + cursor.getString(cursor.getColumnIndex("type")) +
"上" + cursor.getString(cursor.getColumnIndex("inout")) +
"了" + cursor.getString(cursor.getColumnIndex("number")) + "元";
i++;
} while (cursor.moveToNext());
cursor.close();
sqLiteDatabase.close();
sqLiteUserChager.close();
tv_sum.setText("总收支:"+number);
return strings;
} else { //dateselect
String[] min = group.split("/");
String[] max = item.split("/");
Log.d("----max", max[0] + "/" + max[1] + "/" + max[2]);
Log.d("----min", min[0] + "/" + min[1] + "/" + min[2]);
Cursor cursor = sqLiteDatabase.rawQuery("select * from Cord where username=?", new String[]{nowusername});
String[] strings = new String[cursor.getCount() + 8000];
while (cursor.moveToNext()) {
String date = cursor.getString(cursor.getColumnIndex("date"));
String[] dats = date.split("/");
if (Integer.parseInt(dats[0]) > Integer.parseInt(min[0]) && Integer.parseInt(dats[0]) < Integer.parseInt(max[0])) {
String[] strings1 = new String[7];
number+=Double.parseDouble(cursor.getString(cursor.getColumnIndex("number")));
strings1[0] = cursor.getString(cursor.getColumnIndex("date"));
strings1[1] = cursor.getString(cursor.getColumnIndex("type"));
strings1[2] = cursor.getString(cursor.getColumnIndex("inout"));
strings1[3] = cursor.getString(cursor.getColumnIndex("number"));
strings1[4] = cursor.getString(cursor.getColumnIndex("info"));
strings1[5] = cursor.getString(cursor.getColumnIndex("username"));
strings1[6] = cursor.getString(cursor.getColumnIndex("id"));
arr.add(strings1);
strings[i] = "我" + cursor.getString(cursor.getColumnIndex("date")) +
" 在" + cursor.getString(cursor.getColumnIndex("type")) +
"上" + cursor.getString(cursor.getColumnIndex("inout")) +
"了" + cursor.getString(cursor.getColumnIndex("number")) + "元";
i++;
} else if (Integer.parseInt(dats[0]) == Integer.parseInt(min[0])) {
if (Integer.parseInt(dats[1]) > Integer.parseInt(min[1]) && Integer.parseInt(dats[1]) < Integer.parseInt(max[1])) {
String[] strings1 = new String[7];
number+=Double.parseDouble(cursor.getString(cursor.getColumnIndex("number")));
strings1[0] = cursor.getString(cursor.getColumnIndex("date"));
strings1[1] = cursor.getString(cursor.getColumnIndex("type"));
strings1[2] = cursor.getString(cursor.getColumnIndex("inout"));
strings1[3] = cursor.getString(cursor.getColumnIndex("number"));
strings1[4] = cursor.getString(cursor.getColumnIndex("info"));
strings1[5] = cursor.getString(cursor.getColumnIndex("username"));
strings1[6] = cursor.getString(cursor.getColumnIndex("id"));
arr.add(strings1);
strings[i] = "我" + cursor.getString(cursor.getColumnIndex("date")) +
" 在" + cursor.getString(cursor.getColumnIndex("type")) +
"上" + cursor.getString(cursor.getColumnIndex("inout")) +
"了" + cursor.getString(cursor.getColumnIndex("number")) + "元";
i++;
} else if (Integer.parseInt(dats[1]) == Integer.parseInt(min[1])) {
if ((Integer.parseInt(dats[2]) >= Integer.parseInt(min[2]) && Integer.parseInt(dats[1]) < Integer.parseInt(max[1])) || (Integer.parseInt(dats[2]) >= Integer.parseInt(min[2]) && Integer.parseInt(dats[2]) <= Integer.parseInt(max[2]))) {
String[] strings1 = new String[7];
number+=Double.parseDouble(cursor.getString(cursor.getColumnIndex("number")));
strings1[0] = cursor.getString(cursor.getColumnIndex("date"));
strings1[1] = cursor.getString(cursor.getColumnIndex("type"));
strings1[2] = cursor.getString(cursor.getColumnIndex("inout"));
strings1[3] = cursor.getString(cursor.getColumnIndex("number"));
strings1[4] = cursor.getString(cursor.getColumnIndex("info"));
strings1[5] = cursor.getString(cursor.getColumnIndex("username"));
strings1[6] = cursor.getString(cursor.getColumnIndex("id"));
arr.add(strings1);
strings[i] = "我" + cursor.getString(cursor.getColumnIndex("date")) +
" 在" + cursor.getString(cursor.getColumnIndex("type")) +
"上" + cursor.getString(cursor.getColumnIndex("inout")) +
"了" + cursor.getString(cursor.getColumnIndex("number")) + "元";
i++;
}
} else if (Integer.parseInt(dats[1]) == Integer.parseInt(max[1])) {
if ((Integer.parseInt(dats[2]) <= Integer.parseInt(max[2]) && Integer.parseInt(dats[1]) > Integer.parseInt(min[1])) || (Integer.parseInt(dats[2]) >= Integer.parseInt(min[2]) && Integer.parseInt(dats[2]) <= Integer.parseInt(max[2]))) {
String[] strings1 = new String[7];
number+=Double.parseDouble(cursor.getString(cursor.getColumnIndex("number")));
strings1[0] = cursor.getString(cursor.getColumnIndex("date"));
strings1[1] = cursor.getString(cursor.getColumnIndex("type"));
strings1[2] = cursor.getString(cursor.getColumnIndex("inout"));
strings1[3] = cursor.getString(cursor.getColumnIndex("number"));
strings1[4] = cursor.getString(cursor.getColumnIndex("info"));
strings1[5] = cursor.getString(cursor.getColumnIndex("username"));
strings1[6] = cursor.getString(cursor.getColumnIndex("id"));
arr.add(strings1);
strings[i] = "我" + cursor.getString(cursor.getColumnIndex("date")) +
" 在" + cursor.getString(cursor.getColumnIndex("type")) +
"上" + cursor.getString(cursor.getColumnIndex("inout")) +
"了" + cursor.getString(cursor.getColumnIndex("number")) + "元";
i++;
}
}
} else if (Integer.parseInt(dats[0]) == Integer.parseInt(max[0])) {
if (Integer.parseInt(dats[1]) < Integer.parseInt(max[1])) {
String[] strings1 = new String[7];
number+=Double.parseDouble(cursor.getString(cursor.getColumnIndex("number")));
strings1[0] = cursor.getString(cursor.getColumnIndex("date"));
strings1[1] = cursor.getString(cursor.getColumnIndex("type"));
strings1[2] = cursor.getString(cursor.getColumnIndex("inout"));
strings1[3] = cursor.getString(cursor.getColumnIndex("number"));
strings1[4] = cursor.getString(cursor.getColumnIndex("info"));
strings1[5] = cursor.getString(cursor.getColumnIndex("username"));
strings1[6] = cursor.getString(cursor.getColumnIndex("id"));
arr.add(strings1);
strings[i] = "我" + cursor.getString(cursor.getColumnIndex("date")) +
" 在" + cursor.getString(cursor.getColumnIndex("type")) +
"上" + cursor.getString(cursor.getColumnIndex("inout")) +
"了" + cursor.getString(cursor.getColumnIndex("number")) + "元";
i++;
} else if (Integer.parseInt(dats[1]) == Integer.parseInt(max[1])) {
if (Integer.parseInt(dats[2]) <= Integer.parseInt(max[2])) {
String[] strings1 = new String[7];
number+=Double.parseDouble(cursor.getString(cursor.getColumnIndex("number")));
strings1[0] = cursor.getString(cursor.getColumnIndex("date"));
strings1[1] = cursor.getString(cursor.getColumnIndex("type"));
strings1[2] = cursor.getString(cursor.getColumnIndex("inout"));
strings1[3] = cursor.getString(cursor.getColumnIndex("number"));
strings1[4] = cursor.getString(cursor.getColumnIndex("info"));
strings1[5] = cursor.getString(cursor.getColumnIndex("username"));
strings1[6] = cursor.getString(cursor.getColumnIndex("id"));
arr.add(strings1);
strings[i] = "我" + cursor.getString(cursor.getColumnIndex("date")) +
" 在" + cursor.getString(cursor.getColumnIndex("type")) +
"上" + cursor.getString(cursor.getColumnIndex("inout")) +
"了" + cursor.getString(cursor.getColumnIndex("number")) + "元";
i++;
}
}
}
}
cursor.close();
sqLiteDatabase.close();
sqLiteUserChager.close();
ArrayList<String> arrayList = new ArrayList<>();
for (int i = 0; i < strings.length; i++) {
if (strings[i] != null) {
arrayList.add(strings[i]);
}
}
String[] strings2 = new String[arrayList.size()];
for (int i = 0; i < arrayList.size(); i++) {
strings2[i] = arrayList.get(i);
}
Log.d("-----gropuitem", group + "+" + item);
tv_sum.setText("总收支:"+number);
return strings2;
} }