package Ġcom . example . weather . ui . weather Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . example . weather . logic . Repository Ċ Ċ class ĠWeather ViewModel Ġ: ViewModel (){ ĊĊĠĠĠ Ġ// å®ļä¹ī ä¸Ģä¸ª åĤ¨ åŃĺ å½ĵåīį æĺ¾ç¤º çļĦ åŁİ å¸Ĥ ä¿¡æģ¯ ï¼Į ä¸º åĪ·æĸ° å¤© æ°Ķ ä¿¡æģ¯ èĢĮ åĩĨå¤ĩ ĊĠĠĠ Ġvar Ġcenter ="" ĊĠĠĠ Ġvar Ġpl ac ename ="" ĊĊĠĠĠ Ġ// ä¸º center åŃĹç¬¦ æ·»åĬł çĽĳ è§Ĩ åģļ åĩĨå¤ĩ ï¼Į å®ļä¹ī ä¸Ģä¸ª éĴĪå¯¹ center çļĦ LiveData ĊĠĠĠ Ġval Ġcenter LiveData = Mutable LiveData < String >() ĊĊĠĠĠ Ġ// å½ĵ center LiveData çļĦæķ°æį® åıĳçĶŁ åıĺåĮĸ æĹ¶ ä»İ ä»ĵåºĵ ä¸Ń èİ·åıĸ weather æķ°æį® ĊĠĠĠ Ġval Ġweather LiveData = Transform ations . switch Map ( center LiveData ){ center -> ĊĠĠĠĠĠĠĠ ĠRepository . get Weather ( center ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// éĢļè¿ĩ è¯¥ åĩ½æķ° æĶ¹åıĺ center LiveData çļĦæķ°æį® ï¼Į ä»İ èĢĮ è§¦åıĳ ä»ĵåºĵ çļĦ ç½ĳç»ľ è¯·æ±Ĥ ĊĠĠĠ Ġfun Ġrefresh Weather ( center : String ){ ĊĠĠĠĠĠĠĠ ĠLog . i (" weather Test "," refresh Ġcenter ") ĊĠĠĠĠĠĠĠ Ġcenter LiveData . value = center ĊĠĠĠ Ġ} Ċ Ċ }