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