Computatrum extremum in Kotlin aedificans: quomodo operatur?
Ostendimus tibi quomodo ad applicationem calculi simplicis extremitatis in Kotlin creare possit. Ut accuratius sim, Kotlin 1.3.21, Android 4, Android Studio 3. Articulus amet ante omnia erit iis qui in applicationibus Android enucleandis iter suum committunt. Permittit te intelligere quid et quomodo opera intus in applicatione.
Talis calculator utilis est cum quantitatem apicibus e coetu computare debes, qui tempus in caupona vel casu versari statuit. Utique, non omnes, non semper tea ministris relinquit, hoc magis occidentalis traditionis, sed talis applicationis processus in aliquo casu evolvere interesting.
admonemus;omnibus legentibus "Habr" - discount 10 rublorum cum scribendo in quavis Skillbox utens "Habr" codice promotivo.
Ingredimini summae quantitatem desideratam recipis, numerum participantium in conventu et proventum - summa apicibus quae relinquenda sunt.
questus Coepi
Plenum interface de app similis est:
Actio prima - proiciamus basis download. Aperi in Android Studio 3.0 vel postea. Aedificamus et curritur consilium et videmus album velum. Omne pulchrum, quod esse debet.
Usoris actiones in ordine chronologico incepto scriptae sunt, ut omnia plana sint. Ut videas, aperi View -> Fenestra tool -> TODO.
Studimus incepto et apertis coloribus.xml ad colorem palette aestimandum. strings.xml textus notitias (captiones) continet ac stilos.xml plura exempla fontium continet.
Pretium Sectionis Development
Aperta activity_main.xml et codicem infra ad LinearLayout (#1) adde:
Cum praecipuum munus applicationis est singulas sumptus pro singulis participantium in conventibus in caupona computare, costPersonTextView principale munus agit.
Limites editText ad unam lineam initus, hic modulus ad inputType NumberDecimal ponendus est.
Incipimus consilium pro experimento ac parametros totius damni (scyphi fracti, catilli, etc.) intrant.
Progressio "Populi et Apicibus" sectionem
Ad summam partem electrix addere, codicem crustulum infra in sectione nova LinearLayout (#4);
Hoc fragmentum codicis accurate computare ad summam quantitatem requiritur. Defalta textus valoris est 20. ImageButtons iconibus praebentur in folder cum permissionibus scribentibus.
Secundum bullarum et virgarum, Kotlin omnia frigidissima constituerunt! Adde codicem infra ad munera omnia incrementi et decrementi
(#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()
}
}
Hic signum incrementa muneribus maximis valoribus tuetur (MAX_TIP & MAX_PEOPLE). Praeterea signum munera decrementi munit cum valoribus minimis (MIN_TIP & MIN_PEOPLE).
Nunc tesserae auditorum in officio initViews obligamus (#13);
private fun initViews() {
...
addTipButton.setOnClickListener(this)
subtractTipButton.setOnClickListener(this)
addPeopleButton.setOnClickListener(this)
subtractPeopleButton.setOnClickListener(this)
//TODO #15: Bind EditText to TextWatcher
}
Totum damnum, apices et numerum participantium conventuum addere potes. Bene, nunc primum.
Pretium sectionis
Hoc signum determinat sumptus (# 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)
}
Bene, hic munus dicitur quod sinit considerare numerum hominum in societate et calculare extremum (#15);
private fun incrementTip() {
β¦
}
private fun decrementTip() {
β¦
}
private fun incrementPeople() {
β¦
}
private fun decrementPeople() {
β¦
}
Lorem applicationem. Spectat et magna facit. sed melius potuit.
Si libellum quantitatem tollere conaris et tum numerum innuere vel amicorum augere, app collidet quia nulla ceptum nulla adhuc gratuita est. Praeterea si cautionem mutare conaris, crimen non renovabitur.
Gradus finales
Adde TextWatcher (16):
genus MainActivity: AppCompatActivity (), View.OnClickListener, TextWatcher {
Deinde embed in billEditText auditorem (# XVII);
billEditText.addTextChangedListener (hoc)
Plus addendi codicem facere TextWatcher (# XVIII):
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
if (!billEditText.text.isEmpty()) {
calculateExpense()
}
}
override fun afterTextChanged(s: Editable?) {}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
Age, nunc omnia opera! Gratulor, scripsisti tuum "Tipping Calculatorem" in Kotlin.