Android开发(时间管理项目)
程序员文章站
2022-03-11 21:50:54
acm 显示日历 。acD 显示当天设置acm 显示当天jb 时长, 当月jb 总时长。切换月的时候重新算当月时长。切换日的时候,显示当天jb 时长。切换日的时候: 获取年月日。切换月的时候: 获取年月 。acd 显示 是否为工作日 , 上班时间, 下班时间。 标题。 jb 时间。...
acm 显示日历 。
acD 显示当天设置
acm 显示当天jb 时长, 当月jb 总时长。
切换月的时候重新算当月时长。
切换日的时候,显示当天jb 时长。
切换日的时候: 获取年月日。
切换月的时候: 获取年月 。
acd 显示 是否为工作日 , 上班时间, 下班时间。 标题。 jb 时间。 设置按钮
acd 是否为工作日 , 上班时间, 下班时间。 jb 时间的逻辑:
先获取当天信息, 如果有,则取db中的值进行赋值。
如果没有, 则获取当天星期, 1-5 为工作日, 6 和7 为非工作日。
如果没有,工作日上班时间为830 , 下班为 1740 ,非工作日上下班为900-900
标题: db 有就直接显示, 没有就算一下jb 。 如果是工作日 ,则jb= cha - 8小时。
否则jb=差。
按钮逻辑:
如果没有记录, 则insert , 否则update 。
db 全局变量问题。
db 接口对外接口 :
查询当月jb 总时间: 输入 年, 月 int ,返回分钟 int 。
查询当天信息, 输入年, 月,日, int , 返回 int flg , 上班时间 {时,分} , 下班时间 {时,分} 。 jb时间 分钟。
insertOrupdate 当天信息: 输入 年月日, flg , 上班下班时间 {时,分}, jb 时间。
package com.example.mtestdb;
public class JBInfo {
MTime start;
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
MTime end;
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
int year;
int month;
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
int day;
boolean workdayFlg ;
public int getJbMinute() {
return jbMinute;
}
public void setJbMinute(int jbMinute) {
this.jbMinute = jbMinute;
}
int jbMinute;
public boolean isWorkdayFlg() {
return workdayFlg;
}
public void setWorkdayFlg(boolean workdayFlg) {
this.workdayFlg = workdayFlg;
}
JBInfo(MTime s, MTime e, int year, int month, int day , boolean flg , int jb){
this.start =s ;
this.end =s;
this.year =year;
this.month =month;
this.day =day;
this.workdayFlg =flg;
this.jbMinute = jb;
}
MTime getStart (){
return this.start;
}
MTime getEnd(){
return this.end;
}
}
package com.example.mtestdb;
public class MTime {
int hour;
int minute;
MTime(int i , int j){
this.hour =i;
this.minute =j;
}
void setTime(int i , int j ){
this.hour = i;
this.minute =j;
}
int getHour (){
return this.hour;
}
int getMinute (){
return this.minute;
}
}
package com.example.mtestdb;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import java.security.spec.ECField;
public class DBHelper extends SQLiteOpenHelper {
private final static String DATABASE_NAME = "jb.db";
private final static int DATABASE_VERSION = 1;
private final String TABLE_NAME_JB = "JB";
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
final String string = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME_JB + " (" +
"id" + " INTEGER PRIMARY KEY AUTOINCREMENT , " +
"year" + " INTEGER, " + "month" + " INTEGER, " + "day" + " INTEGER, " + "workday_flg" + " INTEGER, " +
"start_time" + " INTEGER, " + "end_time" + " INTEGER, " + "jb_minute" + " INTEGER );";
try {
db.execSQL(string);
} catch (Exception e) {
Log.e("111", "get insert ss11111111 ");
}
}
public void insertOrUpdateJb(SQLiteDatabase db, JBInfo jbInfo) {
}
public int getCurrentDayJb(SQLiteDatabase db, JBInfo jbInfo) {
int year = jbInfo.getYear();
int month = jbInfo.getMonth();
int day = jbInfo.getDay();
Cursor cursor = db.query(TABLE_NAME_JB, new String[]{"jb_minute"}, "year=? & month=? & day=?", new String[]{Integer.toString(year) , Integer.toString(month) , Integer.toString(day)}, null, null, null);
if(cursor.getCount() == 0) return -1;
try {
cursor.moveToFirst();
return cursor.getInt(cursor.getColumnIndex("jb_minute"));
} catch (Exception e) {
return 0;
}
}
public int getCurrentMonthJb(SQLiteDatabase db, JBInfo jbInfo) {
return 0;
}
public void insertJb(SQLiteDatabase db, JBInfo jbInfo) {
int year = jbInfo.getYear();
int month = jbInfo.getMonth();
int day = jbInfo.getDay();
ContentValues values = new ContentValues();
values.put("year", year);
values.put("month", month);
values.put("date", Integer.toString(year) + "-" + Integer.toString(month) + "-" + Integer.toString(day));
values.put("xiaoshi", xiaoshi);
db.insert(TABLE_NAME_JB, null, values);
}
public void updateCurrentXiaoshi(SQLiteDatabase db, int year, int month, int day, int xiaoshi) {
ContentValues values = new ContentValues();
values.put("xiaoshi", xiaoshi);
db.update(TABLE_NAME_JB, values, "date=?", new String[]{Integer.toString(year) + "-" + Integer.toString(month) + "-" + Integer.toString(day)});
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// final String DROP_TABLE = "DROP TABLE IF EXISTS " + TABLE_NAME;
// db.execSQL(DROP_TABLE);
// onCreate(db);
}
}