ãKotlinãRealmã§URIãä¿åãã¦ä½¿ç¨ãã
æ¦è¦
åå¾ããç»åã®URIãRealmã§ä¿åããã³ä½¿ç¨ããæ¹æ³ã§è©°ã¾ã£ã¦ãã¾ã£ãã®ã§ãç§ã解決ããæ¹æ³ã«ã¤ãã¦æ¸ãã¦ããããã¨æãã¾ãã
çµç·¯
åå¾ããç»åã®URIãRealmãã¼ã¿ãã¼ã¹ã«ä¿åãããã£ãã®ã§
ãã¼ã¿ãæ ¼ç´ããã¢ãã«ã以ä¸ã®ããã«ãã¦ãUriåã®ãã¼ã¿ãæ ¼ç´ã§ããããªã¨ãã£ã¦ã¿ãã¨ãã
~ open class <ã¢ãã«ã®ã¯ã©ã¹å> : RealmObject() { var <ããããã£å>: Uri? = null }
ã³ã³ãã¤ã«æã«ä»¥ä¸ã®ã¡ãã»ã¼ã¸ã表示ããã¦ã³ã³ãã¤ã«ã§ããâ¦
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
> java.lang.reflect.InvocationTargetException (no error message)
ã©ãããRealmã«ã¯Uriåã®ãã¼ã¿ã¯æ ¼ç´ã§ããªããããªã®ã§ä»¥ä¸ã®æ¹æ³ã§åé¡ã解決ãã¾ããã
ä¿å
Uriåã®ãã¼ã¿ãRealmãã¼ã¿ãã¼ã¹ã«ä¿åã§ããªããããStringåã§ä¿åãããã¨ã«ãã¾ããã
ã¢ãã«ã以ä¸ã®ããã«æ¸ãæã
~ open class <ã¢ãã«ã®ã¯ã©ã¹å> : RealmObject() { var <ããããã£å>: String = null }
Uriåã®ãã¼ã¿ãStringåã«å¤æãã¦æ ¼ç´ãã¾ããã
~ realm.executeTransactionAsync { db: Realm -> val Item = db.createObject<<ã¢ãã«ã®ã¯ã©ã¹å>>(<æ ¼ç´å ã®IDçªå·>) Item.<ããããã£å> = <Uriåã®ãã¼ã¿å>.toString() } ~
ãã®ããã«ããã¨ã¨ã©ã¼ãªãã³ã³ãã¤ã«ãããã¨ãã§ããRealmãã¼ã¿ãã¼ã¹ã«ç»åã®URIãä¿åãããã¨ãã§ãã¾ããã
使ç¨
ãã¼ã¿ãåãåºãã¦URIã¨ãã¦ä½¿ç¨ããéã¯
~
val Item = realm.where<<ã¢ãã«ã®ã¯ã©ã¹å>>().equalTo("id", <åãåºããããã¼ã¿æ ¼ç´å
ã®IDçªå·>).findFirst()
<Uriåã®å¤æ°> = Uri.parse(Item?.<ããããã£å>)
~
ãã®ããã«ãUriåã«å¤æãããã¨ã§åé¡ãªã使ç¨ãããã¨ãã§ãã¾ããã