package Ġcom . xia of e idev . delegate demo . deleg ates Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġcom . xia of e idev . delegate demo . App Ċ Ċ /** Ċ Ġ* Ġ@ author Ġx ia of ei _ dev Ċ Ġ* Ġ@ desc Ġ è¯» åĨĻ ĠSP Ġ åŃĺåĤ¨ é¡¹ çļĦ åŁºç¡Ģ å·¥åħ· ç±» Ċ Ġ*/ Ċ Ċ object ĠSP Utils Ġ{ ĊĠĠĠ Ġval ĠSP Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠApp . instance . get SharedPreferences (" default ", ĠContext . MODE _ PRIVATE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// è¯» ĠSP Ġ åŃĺåĤ¨ é¡¹ ĊĠĠĠ Ġfun Ġ< T > ĠgetValue ( key : ĠString , Ġdefault : ĠT ): ĠT Ġ= Ġwith ( SP ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres : ĠAny Ġ= Ġwhen Ġ( default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġget Long ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> ĠgetString ( key , Ġdefault ) Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġget Int ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġget Boolean ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġget Float ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow Ġjava . lang . IllegalArgumentException () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġres Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// åĨĻ ĠSP Ġ åŃĺåĤ¨ é¡¹ ĊĠĠĠ Ġ@ Suppress Lint (" Apply Shared Pref ") ĊĠĠĠ Ġfun Ġ< T > Ġput Value ( key : ĠString , Ġvalue : ĠT , Ġis Commit : ĠBoolean Ġ= Ġfalse ) Ġ= Ġwith ( SP . edit ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġput Long ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġput String ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġput Int ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġput Boolean ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġput Float ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" This Ġtype Ġcan 't Ġbe Ġsaved Ġinto ĠPreferences ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( is Commit ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . commit () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }