今天介紹UserDefault 跟 openURL ☘️☘️☘️
這些套件就像
雖然只是簡單介紹
但根據八二法則
這20%的主要功能
也足夠應付80%的場景了(真的嗎)
寫在前面
我覺得Flutter套件的家有一點做得不錯
就是都會有一頁Example
可以看到套件開發者最正確的寫法
如果覺得想再深入今天的內容
也可以去瞧瞧
Android的UserDefault也叫SharedPreferences
不過雖然名字不同
用法大家都差不多
就是根據不同型別讀取或寫入☘️☘️☘️
要注意的就是async/await又出現了
void getRecentKeywords () async {
SharedPreferences pref = await SharedPreferences.getInstance();
setState(() {
keywords = pref.getStringList("RecentKeywords") ?? [];
});
}
void setRecentKeywords () async {
SharedPreferences pref = await SharedPreferences.getInstance();
pref.setStringList("RecentKeywords", keywords);
}
跟以前openURL一樣
除了可以開網頁
還可以開電話, Mail, 簡訊等等...☘️☘️☘️
但不一樣的是
這邊開網頁不是外開Safari了
而是使用SFSafariViewController⚠️⚠️⚠️
(還是要async/await唷)
void _launchUrlByNumber(int number) async {
String url = "";
switch (number) {
case 0: url = "https://ithelp.ithome.com.tw/articles/10237645"; break;
case 1: url = "https://ithelp.ithome.com.tw/articles/10237866"; break;
case 2: url = "https://ithelp.ithome.com.tw/articles/10237867"; break;
}
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}
本集內容Android版請見:iOS Developer Learning Android. Lesson 23
下集預告:Push Notification
最後提供一下github.com/mark33699/IDLF