cloudroam
2025-04-03 97745e7ad15fb3d175f81dfdd2f24269e8fdfefd
fix : 编译报错
已修改4个文件
29 ■■■■■ 文件已修改
app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/firstapp/model/DailyStat.kt 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/colors.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/themes.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt
@@ -92,10 +92,8 @@
    @Query("""
    WITH RECURSIVE dates(date_value) AS (
        -- 从当前日期往前3周的周一开始
        SELECT date(datetime(:date/1000, 'unixepoch', 'localtime'), 'weekday 0', '-21 days') as date_value
        UNION ALL
        -- 每次加7天,直到后2周
        SELECT date(date_value, '+7 days')
        FROM dates
        WHERE date_value < date(datetime(:date/1000, 'unixepoch', 'localtime'), 'weekday 0', '+14 days')
@@ -103,7 +101,7 @@
    SELECT 
        strftime('%Y-%m-%d', date_value) as date,
        COUNT(c.id) as count,
        date_value as weekStart
        strftime('%Y-%m-%d', date_value) as weekStart
    FROM dates d
    LEFT JOIN code c ON strftime('%Y-%m-%d', c.createTime) BETWEEN 
        strftime('%Y-%m-%d', d.date_value) 
@@ -172,7 +170,7 @@
        SELECT 
            strftime('%Y', year_start) as date,
            COUNT(code.id) as count,
            year_start as week_start
            strftime('%Y-%m-%d', year_start) as weekStart
        FROM years 
        LEFT JOIN code ON strftime('%Y', code.createTime) = strftime('%Y', years.year_start)
        GROUP BY years.year_start
@@ -208,9 +206,9 @@
            WHERE date < date(datetime(:date/1000, 'unixepoch', 'localtime'), 'start of month', '+1 month', '-1 day')
        )
        SELECT 
            strftime('%d', days.date) || '' as date,  -- 确保 date 不为空
            strftime('%d', days.date) || '' as date,
            COUNT(code.id) as count,
            days.date as week_start
            strftime('%Y-%m-%d', days.date) as weekStart
        FROM days 
        LEFT JOIN code ON date(code.createTime) = days.date
        GROUP BY days.date
@@ -229,7 +227,7 @@
        SELECT 
            strftime('%m', month_start) as date,
            COUNT(code.id) as count,
            month_start as weekStart
            strftime('%Y-%m-%d', month_start) as weekStart
        FROM months 
        LEFT JOIN code ON strftime('%Y-%m', code.createTime) = strftime('%Y-%m', months.month_start)
        GROUP BY months.month_start
@@ -250,7 +248,7 @@
    SELECT 
        strftime('%Y-%m-%d', days.date) as date,
        COUNT(code.id) as count,
        days.date as weekStart
        strftime('%Y-%m-%d', days.date) as weekStart
    FROM days 
    LEFT JOIN code ON date(code.createTime) = days.date
    GROUP BY days.date
@@ -263,7 +261,7 @@
    SELECT 
        strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime')) as date,
        COUNT(id) as count,
        datetime(:date/1000, 'unixepoch', 'localtime') as weekStart
        strftime('%Y-%m-%d', datetime(:date/1000, 'unixepoch', 'localtime')) as weekStart
    FROM code 
    WHERE strftime('%Y', createTime) = strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime'))
""")
app/src/main/java/com/example/firstapp/model/DailyStat.kt
@@ -1,6 +1,7 @@
package com.example.firstapp.model
import androidx.room.DatabaseView
import androidx.room.ColumnInfo
@DatabaseView(
    """
@@ -13,5 +14,6 @@
data class DailyStat(
    val date: String,
    val count: Int,
    val weekStart: Long? = null
    @ColumnInfo(name = "weekStart")
    val weekStart: String? = null
)
app/src/main/res/values/colors.xml
@@ -16,4 +16,5 @@
    <color name="light_blue_50">#E1F5FE</color>
    <color name="tab_selected">#FF039BE5</color>
    <color name="light_blue_new">#02A7F0</color>
    <color name="light_grey">#F6F7FB </color> 灰色主题
</resources>
app/src/main/res/values/themes.xml
@@ -3,8 +3,8 @@
    <!--    <style name="Theme.FirstApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar">-->
    <style name="Theme.FirstApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/light_blue_new</item>
        <item name="colorPrimaryVariant">@color/light_blue_new</item>
        <item name="colorPrimary">@color/black</item>
        <item name="colorPrimaryVariant">@color/light_grey</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
@@ -12,6 +12,10 @@
        <item name="colorOnSecondary">@color/black</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
        <!-- 关键属性:强制状态栏图标为深色(黑色) -->
        <item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
        <!-- 确保没有ActionBar -->
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>