Te hanga i te tatau tatau ki Kotlin: me pehea te mahi?
Ka korerotia e matou ki a koe me pehea te hanga i tetahi tono ngawari mo te tatau i nga tohutohu i Kotlin. Ko te mea tika, Kotlin 1.3.21, Android 4, Android Studio 3. Ko te tuhinga ka tino pai, tuatahi, mo te hunga e timata ana i to raatau haerenga ki te whakawhanaketanga tono Android. Ka taea e koe te mohio he aha me pehea te mahi i roto i te tono.
Ka whai hua tenei tatauranga ina hiahia koe ki te tatau i te nui o nga tohutohu mai i tetahi kamupene e whakatau ana ki te noho wa ki tetahi wharekai, kawhe ranei. Ae ra, kaore nga tangata katoa e tuku he tohu ki nga kaitarai; he tikanga ake tenei ki te Hauauru, engari he mea whakamere te tukanga ki te whakawhanake i taua tono.
Ka whakamahara matou:mo nga kaipānui katoa o "Habr" - he utu mo te 10 rubles i te wa e whakauru ana ki tetahi akoranga Skillbox ma te whakamahi i te waehere whakatairanga "Habr".
Ka uru koe ki te ōrau e hiahiatia ana o te tapeke moni, te maha o nga kaiuru hui, ka whiwhi i te hua - te nui o te tohu ka waiho e koe.
Tīmata
He penei te ahua o te atanga tono katoa:
Mahi tuatahi - te tikiake i te turanga kaupapa. Whakatuwheratia ki te Android Studio 3.0, i muri mai ranei. Ka hangahia, ka whakarewahia e matou te kaupapa ka kite i tetahi mata ma. Kei te pai nga mea katoa, me pena tonu.
Ko nga mahi a nga kaiwhakamahi ka tuhia ki roto i te kaupapa i roto i te raupapa o te waa kia marama ai nga mea katoa. Hei tiro, tuwhera Tirohanga -> Utauta Windows -> TODO.
Ka akohia e matou te kaupapa me te whakatuwhera i nga tae.xml hei arotake i te papanga tae. Kei roto i te strings.xml he raraunga kuputuhi (waitohu), me styles.xml he maha nga tauira momotuhi.
Te whanaketanga waahanga utu
Whakatuwheratia te activity_main.xml me te taapiri i te waehere i raro nei ki te LinearLayout (#1):
Ko tenei waahanga o te waehere e tika ana kia tika te tatau i te moni matamata. Ko te uara kuputuhi taunoa ko te 20. Ko nga ImageButtons e whakaratohia ana me nga tohu kei roto i te kōpaki me nga whakaaetanga tuhi.
Tāruatia katoatia te wāhanga ka tāpirihia te mea e whai ake nei (#5):
Mo nga patene me nga huringa, ka whakarite a Kotlin i nga mea katoa tino pai! Tāpirihia te waehere i raro nei ki nga mahi pikinga me te whakaheke
(#9 – #12):
private fun incrementTip() {
if (tipPercent != MAX_TIP) {
tipPercent += TIP_INCREMENT_PERCENT
tipTextView.text = String.format("%d%%", tipPercent)
}
}
private fun decrementTip() {
if (tipPercent != MIN_TIP) {
tipPercent -= TIP_INCREMENT_PERCENT
tipTextView.text = String.format("%d%%", tipPercent)
}
}
private fun incrementPeople() {
if (numberOfPeople != MAX_PEOPLE) {
numberOfPeople += PEOPLE_INCREMENT_VALUE
numberOfPeopleTextView.text = numberOfPeople.toString()
}
}
private fun decrementPeople() {
if (numberOfPeople != MIN_PEOPLE) {
numberOfPeople -= PEOPLE_INCREMENT_VALUE
numberOfPeopleTextView.text = numberOfPeople.toString()
}
}
I konei ka tiakina e te waehere nga mahi pikinga me nga uara teitei (MAX_TIP & MAX_PEOPLE). Hei taapiri, ka tiakina e te waehere nga mahi whakaheke me nga uara iti (MIN_TIP & MIN_PEOPLE).
Inaianei ka honoa e matou nga paatene ki te hunga whakarongo ki te mahi initViews (#13):
private fun initViews() {
...
addTipButton.setOnClickListener(this)
subtractTipButton.setOnClickListener(this)
addPeopleButton.setOnClickListener(this)
subtractPeopleButton.setOnClickListener(this)
//TODO #15: Bind EditText to TextWatcher
}
Ka taea e koe te taapiri katoa o nga pakaru, nga tohutohu, me te maha o nga kaiuru hui. Inaianei ko te mea nui ...
Wāhanga tātai utu
Ka tatauhia e tenei waehere nga utu (#14):
private fun calculateExpense() {
val totalBill = billEditText.text.toString().toDouble()
val totalExpense = ((HUNDRED_PERCENT + tipPercent) / HUNDRED_PERCENT) * totalBill
val individualExpense = totalExpense / numberOfPeople
expensePerPersonTextView.text = String.format("$%.2f", individualExpense)
}
Ana, ka kiia he mahi e taea ai te whai whakaaro ki te maha o nga tangata o te kamupene me te tatau i nga tohutohu (#15):
private fun incrementTip() {
…
}
private fun decrementTip() {
…
}
private fun incrementPeople() {
…
}
private fun decrementPeople() {
…
}
Kia whakarewahia te tono. He ahua me te mahi pai. Engari ka pai ake pea.
Mena ka ngana koe ki te tango i te nui o te pire ka piki ake te maha o nga tohutohu, hoa ranei, ka pakaru te tono na te mea kaore ano kia tirohia te uara utu kore. I tua atu, ki te ngana koe ki te whakarereke i te nui o te pire, kaore e whakahouhia nga utu.