package Ġcom . max proj . pure bbs . detail Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . paging . DataSource Ċ import Ġandroidx . room .* Ċ Ċ @ Dao Ċ interface ĠDetail Dao Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæľī å¦Ĥä¸ĭ åĽĽ ç§į æł¼å¼ı ï¼Į ä¹Ł åį³ æľī æĹł suspend ä¸İ æľī æĹł LiveData çļĦ ç»ĦåĲĪ ĊĠĠĠĠ Ġ* Ġå¦Ĥæŀľ çĶŁæĪĲ LiveData ï¼Į åĪĻ è¯¥ åĩ½æķ° ä¸įä¼ļ è¢« éĺ» å¡ŀ ï¼Į æīĢä»¥ æ²¡ å¿ħè¦ģ suspend ĊĠĠĠĠ Ġ* Ġ åı¯èĥ½ ç¼ĸè¯ĳ ç³»ç»Ł ä¹Ł åĽłä¸º è¿Ļä¸ª åİŁåĽł èĢĮ ç¦ģ æŃ¢ åĲĮæĹ¶ ä½¿çĶ¨ suspend åĴĮ LiveData ĊĠĠĠĠ Ġ*/ Ċ // ĠĠĠ Ġ@ Query (" SELECT Ġ* Ġfrom Ġdetail _ table ĠORDER ĠBY Ġdetail Title ĠASC ") Ċ // ĠĠĠ Ġfun Ġget Detail List (): ĠList < Detail Brief > Ċ // Ċ // ĠĠĠ Ġ@ Query (" SELECT Ġ* Ġfrom Ġdetail _ table ĠORDER ĠBY Ġdetail Title ĠASC ") Ċ // ĠĠĠ Ġsuspend Ġfun Ġget Detail List (): ĠList < Detail Brief > Ċ // ĊĠĠĠ Ġ@ Query (" SELECT Ġ* Ġfrom Ġdetail _ table ") ĊĠĠĠ Ġfun Ġget Detail List (): ĠLive Data < List < Detail >> ĊĊĠĠĠ Ġ@ Query (" SELECT Ġ* Ġfrom Ġdetail _ table ") ĊĠĠĠ Ġfun Ġget Detail DataSource (): ĠDataSource . Factory < Int , ĠDetail > Ċ // Ċ // ĠĠĠ Ġ@ Query (" SELECT Ġ* Ġfrom Ġdetail _ table ĠORDER ĠBY Ġdetail Title ĠASC ") Ċ // ĠĠĠ Ġsuspend Ġfun Ġget Detail List (): ĠLive Data < List < Detail Brief >> Ġ// ----------- Ġ ç¼ĸè¯ĳ æĬ¥éĶĻ ĊĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . IGNORE ) ĊĠĠĠ Ġsuspend Ġfun Ġinsert Detail ( detail : ĠDetail ) ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . IGNORE ) ĊĠĠĠ Ġsuspend Ġfun Ġinsert Many ( var arg Ġusers : ĠDetail ) ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . IGNORE ) ĊĠĠĠ Ġsuspend Ġfun Ġinsert List ( Ġlist : ĠList < Detail >) ĊĊĠĠĠ Ġ@ Delete ĊĠĠĠ Ġsuspend Ġfun Ġdelete Detail ( detail : ĠDetail ) ĊĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġdetail _ table ") ĊĠĠĠ Ġsuspend Ġfun Ġdelete All Detail () ĊĊĠĠĠ Ġ@ Query (" SELECT ĠCOUNT (_ id ) ĠFROM Ġdetail _ table ") ĊĠĠĠ Ġsuspend Ġfun Ġget Detail Count (): ĠInt Ċ Ċ }