当前位置: 移动技术网 > 移动技术>移动开发>Android > Android开发(时间管理项目)

Android开发(时间管理项目)

2020年08月23日  | 移动技术网移动技术  | 我要评论
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);
    }

} 

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网