[興趣討論] 傻佬學寫app

之前有人建議本網寫返個app,迎接人人用智能手機的潮流。雖然我並不認為本網造一個app可以有多少人用,衡量付出與收穫後看來不值得,但放下寫程式多年的我,也想試一下身手。

首先,之前已聽過iOS寫app的入場門檻很高,年費二、三千港元,因此我選擇Android,就算上不到Google Play,也可以自己抄apk來安裝。

這個網站似乎是比較正統的開始:
https://developer.android.com/index.html

那麼寫android app是用何種程式語言?

這裡說是用Java,但在這裡卻說是Kotlin。我未聽過Kotlin,上網找找看,看來是頗新的程式語言:
http://technews.tw/2017/05/19/ko ... ndroid-development/

如果單是開發Android,學習Kotlin也是不錯的選擇,看來是簡單精煉的語言。但如果考慮將來在iOS也運行,就要看看它與iOS咬不咬弦。

[待續]
看來Kotlin也希望支援iOS,也是剛開始:
https://blog.kotlin-academy.com/ ... th-ios-a8546f436eec

Kotlin/Native就是希望可以multi-platform target:https://kotlinlang.org/docs/reference/native-overview.html

寫iOS App的語言是Swift或Objective-C,據這裡說,Swift像C,我應該不感到陌生。寫iOS App正統方式是要購買一部Mac安裝XCode,那麼我暫且唔理住,因我打算用$0投資學習。

在日新月異的科技,技術如行雲流水般出現又消失,我再看看Kotlin究竟是否值得投資時間去學習。

[待續]
支持鼓勵每位離教者
Apple 全力支持Swift,Google全力支持Kotlin,而且看來也準備吞併對方。

這篇是從語言角度比較兩者。
https://hackernoon.com/kotlin-an ... tivity-963ca8aec554

[待續]
支持鼓勵每位離教者
全力支持抽刀斷水寫app!!
多謝支持,我也未知能否成功。

現有由Swift轉成Kotlin的工具:
https://github.com/angelolloqui/SwiftKotlin

也有由Kotlin轉為Swift的工具(但這是兩年前的作品):
https://github.com/moshbit/Kotlift

而且也有Kotlin/Native可出iOS(只有arm64,即iPhone5s以上)。
https://developer.apple.com/libr ... tibilityMatrix.html

這裡說Kotlin可以行舊Android機:Kotlin is fully compatible with JDK 6, ensuring that Kotlin applications can run on older Android devices with no issues. The Kotlin tooling is fully supported in Android Studio and compatible with the Android build system.
https://kotlinlang.org/docs/reference/android-overview.html

而且一開始我就以Android為首要目標,iOS就要看看將來怎樣。

那麼,就決定使用Kotlin吧:
https://kotlinlang.org/

[待續]
支持鼓勵每位離教者
希望將來有IOS版本,因為我是用APPLE手機的。不管怎樣,抽刀斷水都十分有心!
哈,你真是懂得鼓勵人。

在開始之前,正路就是安裝Android Studio

經過多番下載,看到一大堆設定,不簡單的UI,看來也要先閱讀文件,了解如何運用。

[待續]
支持鼓勵每位離教者
Android Studio應用典型的Model-view-controller architecture,官方教學都是簡單先教搞user interface,但我比較蠢,尤其是contraint layout,看來也比較新,以下這個比較詳細完整,我也打算先大概了解一下,然後邊寫邊學:

https://inducesmile.com/android/ ... t-example-tutorial/

後來翻看,原來官方教學也頗詳細,只是我未按入裡面看:
https://developer.android.com/studio/write/layout-editor.html
https://developer.android.com/training/constraint-layout/index.html

[待續]
支持鼓勵每位離教者
閱讀Build your first App,跟著做成功了,必須要做的備忘:

1. 做activity:即使用者介面,drag & drop Palette內的object,可用constraint layout,用constrained baseline對齊兩個components,如要因應螢幕大小作出彈性改變,就要兩個以上objects先create chain,再在擬彈性object的內長闊match constraints。object內的字不要hardcoded,要在res>values>strings.xml內define。

2. Pass text between activities:在parent activity coding 加sendMessage, 包括build intent,用putExtra傳送文字,當cannot resolve symbol時逐一按Alt-Enter來Import libraries。在child activity加intent.getStringExtra。再在AndriodManifest.xml的child activity加入其parent的名字,才會自動有navigation arrow。

[待續]
支持鼓勵每位離教者
4種components:
Activity - UI
Services - Background job
Broadcast Receivers - Receive system broadcast, create status bar, schedule job
Content providers - read / write data

Intent啟動activity - startActivity() 或 startActivityForResult(), 完結後可以有return value
Intent啟動 service - startService() / bindService() / JobScheduler() [ver 5.0 above [must explicit]
Intent啟動 broadcast receiver - sendBroadcast(), sendOrderedBroadcast(), 或 sendStickyBroadcast()
ContentResolver啟動content provider - query()

現在繼續看Core topics了。

[待續]
支持鼓勵每位離教者
高級模式 | 發新話題
B Color Image Link Quote Code Smilies
換一個