2018年8月19日 星期日

[Android] GooleI/O 2018 Android App Open Source 囉~

來源:Android Dev Blog

   好啦,來說一下這個的重點,

   簡單說,這個App的源碼,可以當作一個Google本身對現代Android App的建議的具體呈現,所以如果想做類似功能或架構可參考這支App的源碼,當成小說看看也不錯 (喂~誰看的下去)


架構部分

  • Presentation Layer,邏輯確實從View(Activity/Frgamnet)移開到ViewModel,然後使用LiveData跟Data Binding關聯資料跟UI。
  • Data Layer,有Repository 處理全部的資料邏輯,處理來自不同來源的資料,包括從Firestore來的使用者資料,跟從SharedPreferences來的偏好設定資料。
  • 兩層中間還有一個Domain Layer,負責分派不同的工作邏輯處理
  • 用了Dagger2處理dependancy injection,用了Esspreso處理instrumentation test,用了 JUnit 和 Mockito 處理unit test。



Firebase部分,這支App用到以下:

  •  Firestore:處理user data,會做同步跟快取。
  • Functions: 用來跑backend code。預訂功能靠Functions去檢查使用者狀態跟空位,及在Firestore上做預訂。
  • FCM:通知App Conference資料變更用,用了ping-and-fetch model。
  • Remote Config:用來更新跟Conference資料無直接關係的資料,像是Wifi跟接駁車。(這個居然有這種用法...)

用了Kotlin+KTX寫。

用了很多Material Design元件,只是來不及用完整的Material Theming。

之後可能還會加上JetPack,當作安卓模範生展示 XD

專案GitHub在此


Hey,看看這些你有多少還沒用呢?

[Android P] 正式版囉~

來源:Android Dev BlogHK01LTNYahooNewsExtremeTechTheSun

8/6出正式,果然比前兩代早出呀...不到8/20就出了。

雖然8/6就出了,但其實目前也只有Pixel家族跟Essential PH-1能用,很多國家都買不到,就看成是一個較大規模的公測吧,其他廠商的話...

根據HK01,有Beta計畫的手機會在Q3完結前(9月底前)更新,其他肯升的大概是年底前:
"早前參加了 Android P Beta 計劃的手機,包括 Nokia 7 PlusOppo R15 ProSony Xperia XZ2Vivo X21UDVivo X21小米 Mix 2s 等,再加上一眾合資格的 Android One 裝置,將會第三季完結之前陸續收到更新。其他廠商的合資格型號手機則會在今年底之前,可望得到 Android 9 Pie 的升級。"

根據LTN,Sony已有喊話,機款跟時程都有喊,只是根據經驗Z系列升完還會升中高階的。
"SONY Mobile 除了今年旗艦機款 Xperia XZ2 可升級 Android P 9.0,此外,首波公布可支援升級的 Xperia 機型名單,包括有:XZ2 Compact(台灣未引進上市)、XZ2 PremiumXZ1XZ1 CompactXZ Premium,主要以去年、今年的旗艦機款為優先。
預計將會在 9 月至 11 月期間,陸續推送升級更新服務"

根據YahooNerws,HTC目前只有喊機款,還沒壓時間。
"宏達電在官方推特(Twitter)證實,近期將升級Android 9的4款HTC手機包括今年旗艦機HTC U12+以及去年推出的HTC U11+HTC U11HTC U11 life(Android One版本),實際升級時間將另行公布。"
根據TheSun,Moto也有喊機種,時間壓秋天(9~11月),
"In mid-August, Motorola confirmed that it would be serving up some delicious Android Pie on the following phones this autumn:
Moto Z3
Moto Z3 Play
Moto Z2 Force Edition
Moto Z2 Play
Moto X4
Moto G6 Plus
Moto G6
Moto G6 Play
"
好啦,Samsung、LG、Huawei都沒喊聲,只是依慣例,最新旗艦肯定會升。

看今年何時可以在台灣買到有Android 9的手機囉~|


另外,App devs如果還有沒測完9的就加油好好測吧...沒有Pixel家族就用Emulator囉~

話說,今年Pixel家族應該會在台灣開賣吧...只是日期還沒出來呀..



2018年7月27日 星期五

[Android P] Final Preview,最終測試版囉~

來源:Dev Android

摘要:
這版是Beta 4,應該也就是Developer Preview 5 (DP5),

最終行為變更版囉,API也沒變喔,跟Beta2(DP3)時一樣;
要測要改的要快喔!

要改的改完了,行有餘力可以試試P的新程式功能。


心得:

  • DP5了,還是不知P是啥甜點?
  • DP5了,App dev們有認真在測嗎?
  • DP5了,照raod map上距離正式出版那麼近的距離,不知正是會不會早出,
    還是跟前兩代一樣8/21、或8/22出?
  • 我的手機不知能不能升到P呀? 雖然有升到O,用Treble的測試App也說有支援Treble,應該有機會吧..

2018年7月25日 星期三

[Android] 2018/7月份 版本分布

參考:Android dashboards


  1. 最重要的,API22+破82%了,如果有新App要做,可以考慮min用22(5.1)了。
  2. API21+破86%了,MIN真不能用22+的就用21+吧 XD
  3. OREO(8.X)升為12.1%,出現在榜單10個月。
  4. 牛軋糖(7.X)+為42.9%,出現在榜單已21個月了...
  5. API24(7.0)以下全部下降。
  6. API25(7.1)以上持續上升。
  7. 還有4.1%的使用中裝置不能玩PMGO跟熊大農場。


上個月股哥沒公布,不是我偷懶沒PO喔..

另一個Dev會遇到的就是尺寸問題:
ldp還有0.3%(↓)、mdpi還有4.7(↓)%、最大比例在xhdpi 41.5%(↑)(所以如果想偷懶只放一份資源...嗯)

2018年5月24日 星期四

[Android] Google Cardboard VR

Google Cardbord雖然很早就出了(Android 4.4以上可用),但我之前都沒試過,倒是HTC Vive有試過;最近買了個最便宜的紙盒來玩。

嗯...效果果然比HTC Vive差不意外。

實際體驗發現有以下缺點,就知為何要有更高階的VR。


  • 可視範圍小,可清楚看的範圍更小。
  • 手機很重,不用手扶光靠頭帶會歪。
  • 戴眼鏡看會無法貼合,但盒子設計本來就不太貼臉。
  • 然後可能會沾到臉上的油,所以要用久一點要洗臉完才能用。(不過這各家都一樣,只是紙板吸油看的到 XD)
  • 不知如何操控;用Google Cardboard的官方App說"Press the Button",但我盒子上沒按鈕可按呀..查了一下Cardbord 2代才有按鈕,1代Carboard是靠撥磁鐵,可參考知乎這篇
  • 看完眼睛有點不舒服,對焦出問題的感覺。
  • 另外,距離看時手機點還是很大,看來再換更高密度的手機之前,我應該不用再買手機型VR頭盔了。給個比較,我的手機(Sharp S2)密度是420ppi,VIVE是448ppi、Oculus Rift是456ppi、VIVE pro是615ppi。我之前用VIVE時也是覺得點有點大,所以手機的點更大,如果有450ppi以上的手機的人,應該可以試試。
  • 鏡片跟左右眼隔板容易脫位。
  • 鏡片容易沾塵變髒,帶頭盔看灰塵會很明顯(只是這應該也是各家都一樣)。
  • 坐著很難轉圈看360度,還是要站著用較方便(只是這應該也是各家都一樣)。
目前只有試用Google官方寫的App,包括:
下次看要買2代設計的頭套(非紙盒),還是要買獨立(Stand alone)VR裝置呢?
就先試用看看現有App吧~

只是PLAY Award的Best VR App都是Daydream的,一般Carboard手機不能用 Q_Q..


2018年5月9日 星期三

[Android] 2018/5月份 版本分布

參考:Android dashboards


  1. 最重要的,API21+破84%了,如果有新App要做,可以考慮min用21(5.0)了,因為5.0才開始原生支援Material Design呀....還有JobScheduler呀...
  2. API19+破95%了,MIN真不能用21+的就用19+吧 XD
  3. OREO(8.X)升為5.7%,出現在榜單8個月。
  4. 牛軋糖(7.X)+為36.8%,出現在榜單已19個月了...
  5. API24(7.0)以下全部下降。
  6. API25(7.1)以上持續上升。
  7. 還有5%的使用中裝置不能玩PMGO跟熊大農場。


另一個Dev會遇到的就是尺寸問題:
ldp還有0.4%、mdpi還有5.1%、最大比例在xhdpi 40.5%(所以如果想偷懶只放一份資源...嗯)

2018年4月18日 星期三

[Android] 2018/4月份 版本分布

參考:Android dashboards



  1. 最重要的,API21+破84%了,如果有新App要做,可以考慮min用21(5.0)了,因為5.0才開始原生支援Material Design呀....還有JobScheduler呀...
  2. 另外,API18+破95%了,只是API19+也有94.8%,MIN真不能用21+的就用19+吧 XD
  3. OREO(8.X)升為4.6%,出現在榜單7個月。
  4. 牛軋糖(7.X)+破35%,出現在榜單已18個月了...
  5. 棉花糖(6.X)以下全部下降。
  6. 牛軋糖(7.X)以上持續上升。
  7. 還有5.2%的使用中裝置不能玩PMGO跟熊大農場。

上個月股哥沒公布,不是我偷懶沒PO喔..

另一個Dev會遇到的就是尺寸問題:
ldp還有0.4%、mdpi還有5.2%、最大比例在xhdpi 40.6%(所以如果只想放偷懶放一份資源...嗯)



其實我比較想各裝置寬高多少dp的統計,刻多dimen會用到,但...官方沒提供,看來只能自己統計囉..
法1:找銷售前10名的型號,跑測試程式看寬、高(W、H)各多少dp。
法2:自己的App埋統計回傳(Analytics) 高寬(W、H) dp數,如果App夠熱門,應該樣本不少。
法3:不管dp數,我就是要用px,那熱門機px就很好查了.