5 Followers
·
Follow

若要在Android Wear Watch專案中能夠跑在實體手表時,都必須開啟Debug Mode來進行開發時的測試。

為此紀錄一下如何開啟Android Wear Watch的Debug模式:

首先你必須在手錶上的Settings > About > Build Number的選項,並對他進行7次點擊來開啟開發者模式。

之後回到Settings頁面時,下方會多出一個Developer Options,點選此項目來進行開發模式的設定如下:

開啟ADB debuggingDebug over Bluetooth這兩個選項,接著回到手機上的開發者模式,確認USB debugging為開啟的狀態,並開啟藍芽連線。

此時可以開啟手機內的Wear OS App,點選進階設定 > 開啟透過藍牙偵錯,一開始主機所顯示的是已中斷連線的狀態。

這時,將手機透過USB連接上電腦,並分別在Command Line下執行輸入這兩個命令:

adb forward tcp:4444 localabstract:/adb-hub

adb connect localhost:4444

此時你會看到Wear OS App中透過藍牙偵錯選項的主機狀態由已中斷連線切換為已連線

最後可以看到手錶上會出現是否接受Debug模式的提示訊息,只需要點選OK即可完成Debug模式的開啟。


Image for post
Image for post

常常聽到許多人抱怨著存錢好難?
其實存錢並不難,而是需要選對方法,才能有效的儲蓄。

國外廣為流傳的52週存錢法,其實就是一個很好的儲蓄方式!
什麼是階梯式存錢法?
1. 第一週,先存10元
2. 第二週以後,每週再比前一週多存10元
3. 52週後就能存下13,780元

在2018的2月,跟朋友討論到52週存錢法,覺得可以透過手機來紀錄自己的存錢目標,輕鬆地確認每週的存錢狀況,來取代以往使用紙本的條列式記帳。因此,開始著手製作52週存錢挑戰這個App,並給自己限時七日內完成的挑戰目標!

App發想:

透過First Time Flow來進行目標與週期的設定,模式與幣別選擇
透過Unsplash API來Random更換Background,提升畫面的質感
加入QuotesCard方式,來加強使用者繼續存錢的Motivation
加入HappyCard方式,來推廣使用者幫忙給予5星評論

持續增加中……

App功能特色:

  1. 提供不同的挑戰模式:讓存錢計畫更多樣性
  2. 提供起始日期設定:讓日前已經開始挑戰的使用者,也能無痛轉移
  3. 客製儲蓄週期:讓儲蓄目標更自由,像是52週, 365天, 甚至只有1個月
  4. 增加不同的貨幣的設定:儲蓄不同國家的旅遊基金
  5. 存錢提醒功能:定時的叮嚀想儲蓄的你

App頁面:

Image for post
Image for post

App網址:
https://play.google.com/store/apps/details?id=com.yulocus.money52


Image for post
Image for post

Lambda

  • 將函數當作值的功能傳入
// 語法結構
input -> body
input(parameters):
不輸入:()
單個輸入:x
多個輸入:(int x, int y)或簡寫(x,y)
body:
什麼都不做:{}
單行不回傳值:print("NO")
多行不回傳值:
{
print("NO");
print("NO2");
}
單行回傳值:x+y
多行回傳值:
{
x++;
y-=x;
return x+y;
}
  • 使用Runnable來解釋Lambda
// Android
Runnable runnbale = new Runnable() {
public void run() {
System.out.println("run me!");
}
};
// Lambda
Runnable runnbale = () -> System.out.println("run me!");
  • 使用Lambda時,不會多new一個實體出來,而是將Lambda的body區塊先放到記憶體中,透過Call Function的方式來進行呼叫,如此一來可以提升程式效能
// Java
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
/* actions on click */
}
});
// Lambda
button.setOnClickListener { view -> /* actions on click */ }

新觀念:以前必須自己實作所有東西的習慣,現在可以透過Lambda和相關的操作子來改正這習慣

//找出最大年齡fun findTheOldest(people: List<Person>) {
var maxAge = 0
var theOldest: Person? = null
for (person in people) {
if (person.age …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store