Ang input ng gumagamit ay ang pundasyon ng pakikipag-ugnayan ng gumagamit sa isang mobile application. Ang kakayahang gamitin ng produkto ay nakasalalay sa tamang pagpapatupad ng UITextField sa iOS, EditText sa Android at mga keyboard sa mobile application. Ayon sa Apple HIG, ang hindi wastong paghawak ng input ng gumagamit ay karaniwang dahilan ng mga negatibong review.
Mga Pangunahing Punto
Input ng gumagamit sa mga mobile application ay ang proseso ng paglilipat ng data mula sa gumagamit patungo sa application sa pamamagitan ng touch screen at virtual keyboard. Sa iOS, ang pangunahing tool ay UITextField; sa Android, ito ay EditText. Ang input ng gumagamit ay sumasaklaw sa mga text field, registration form, search query, numero ng telepono at confirmation code. Ang kalidad ng pagpapatupad ng input ng gumagamit ay nakakaapekto sa bilis ng pagpuno ng form at conversion ng mobile app.
Ang hindi wastong paghawak ng input ng gumagamit sa mobile development ay humahantong sa mga error sa pagpapatunay, mga kahinaan at pagkawala ng gumagamit. Ayon sa Statista (2025), 67% ng mga gumagamit ay nagtatanggal ng mobile app pagkatapos ng dalawang nabigong pagtatangka ng input. Ang tamang pagpapatupad ng input ng gumagamit ay kinabibilangan ng configuration ng uri ng keyboard, pagpapatunay, pag-format at autofill. Sa mobile development, ang mga aspetong ito ay na-standardize ng parehong platform.
Keyboard sa mobile application ay nako-configure sa pamamagitan ng keyboardType sa iOS at inputType sa Android. Kasama sa mga setting ng gumagamit ang autocorrection, autofill at secure na pagpasok ng password. Kinokontrol ng Responder Chain sa iOS at focus sa Android ang pagpapakita at pagtatago ng keyboard. Para sa input ng gumagamit sa mobile application, kritikal ang Keyboard Avoidance — ang nilalaman ay hindi dapat matakpan ng keyboard.
Sa iOS, ang mga pangunahing elemento ng input ng gumagamit ay UITextField para sa single-line na text at UITextView para sa multi-line na text. Pareho silang sumusuporta sa mga delegate na UITextFieldDelegate at UITextViewDelegate para sa pamamahala ng simula, pagbabago at pagtatapos ng pag-edit. Ang configuration ng keyboard sa iOS mobile app ay ginagawa sa pamamagitan ng mga property na keyboardType, returnKeyType at isSecureTextEntry.
Ang property na textContentType ay nagpapahiwatig sa system kung anong data ang inaasahan sa field — username, password, oneTimeCode, emailAddress. Pinapagana nito ang autofill mula sa keychain at pinapabilis ang input ng gumagamit. Para sa mga field na may Secure Text Entry, tukuyin ang .password upang mai-save ng password manager nang tama ang mga kredensyal. Ang paggamit ng textContentType ay nagpapabuti sa input ng gumagamit sa mobile application.
let textField = UITextField()
textField.placeholder = "Email"
textField.keyboardType = .emailAddress
textField.textContentType = .emailAddress
textField.autocorrectionType = .no
textField.becomeFirstResponder()
First Responder ay ang aktibong field na tumatanggap ng mga event mula sa keyboard. Ang pagtawag sa becomeFirstResponder() ay nagpapakita ng keyboard, ang resignFirstResponder() ay nagtatago nito. Ang Responder Chain ay sunod-sunod na sinusuri kung ang isang elemento ay maaaring humawak ng event. Kapag maraming field, mahalagang pamahalaan ang First Responder upang hindi manatiling bukas ang keyboard. Ang input ng gumagamit sa mobile application ay pinamamahalaan din ng textFieldShouldReturn — ang pagpindot sa Return ay lumilipat sa susunod na field.
Sa Android, ang katumbas ng UITextField ay EditText, na sumusuporta sa single-line at multi-line na mode sa pamamagitan ng attribute na inputType. Para sa mga Material field, gamitin ang TextInputLayout mula sa library na com.google.android.material — nagdaragdag ito ng floating hint, character counter at suporta sa error. Ang input ng gumagamit sa Android mobile app ay nako-configure sa pamamagitan ng inputType at imeOptions.
Ang attribute na inputType ay tumutukoy sa uri ng keyboard at mode ng input: text para sa ordinaryong text, textPassword para sa mga password, number para sa mga digit, phone para sa telephone keypad. Kinokontrol ng imeOptions ang aksyon sa Enter button — Done, Next, Search, Send. Pagsamahin ang mga halaga gamit ang bitwise OR: text|textCapSentences. Ang mga keyboard sa Android mobile application ay sumusuporta sa autofill sa pamamagitan ng autofillHints.
val editText = EditText(this)
editText.inputType = InputType.TYPE_CLASS_PHONE
editText.imeOptions = EditorInfo.IME_ACTION_DONE
editText.autofillHints = "phone"
val layout = TextInputLayout(this)
layout.hint = "Номер телефона"
layout.addView(editText)
TextInputLayout.setError() ay nagpapakita ng mensahe ng error sa ilalim ng input field. Pagsamahin ang agarang pagpapatunay sa pamamagitan ng TextWatcher at huling pagpapatunay kapag nag-submit ng form. Ang input ng gumagamit sa mobile application ay may kinalaman din sa focus — ang requestFocus() ay nag-activate ng field at nagpapakita ng keyboard. Gamitin ang clearFocus() upang itago ang keyboard kapag kumpleto na ang input ng gumagamit sa Android.
Keyboard sa mobile application ay hindi dapat tumakip sa mga input field — ito ay isang pangunahing kinakailangan ng UX. Ang Keyboard Avoidance ay isang teknik ng paglilipat ng nilalaman kapag lumitaw ang keyboard. Sa iOS, gamitin ang UIResponder.keyboardWillShowNotification upang makuha ang laki ng keyboard at ilipat ang scrollView. Sa Android, tukuyin ang adjustResize sa manifest o gamitin ang CoordinatorLayout. Ang mga keyboard sa mobile application ay nako-configure nang iba sa dalawang platform, ngunit pareho ang layunin — ang nilalaman ay laging nakikita.
Sa iOS, mag-subscribe sa mga notification na keyboardWillShowNotification at keyboardWillHideNotification sa pamamagitan ng NotificationCenter. Sa handler, kunin ang laki ng keyboard mula sa userInfo at itakda ang contentInset sa UIScrollView. Bilang kahalili, gamitin ang IQKeyboardManager, na awtomatikong humahawak ng paglipat. Ang input ng gumagamit sa iOS mobile development ay nangangailangan ng mandatoryong paghawak ng keyboard para sa komportableng UX.
Sa Android, ang pangunahing paraan ay android:windowSoftInputMode="adjustResize" sa manifest. Ang flag na ito ay nag-compress ng layout kapag lumitaw ang keyboard. Para sa CoordinatorLayout, gamitin ang Behavior na nag-aangat ng mga button at field. Gamitin ang ViewCompat.setOnApplyWindowInsetsListener para sa tumpak na kontrol sa margin. Ang keyboard sa Android mobile app ay pinamamahalaan din ng OnGlobalLayoutListener.
Pagpapatunay ng input ng gumagamit ay isang mandatoryong hakbang sa pagproseso ng data sa mobile application. Kung wala ito, ang app ay tumatanggap ng maling data, na humahantong sa mga error at kahinaan. Ang input ng gumagamit sa mobile application ay nangangailangan ng dalawang approach: agarang pagpapatunay (sa bawat character) para sa mga numero at code, at huling pagpapatunay para sa email at mga password. Awtomatikong nagfo-format ang Input Mask ng telepono, petsa at numero ng card.
Input Mask ay tumutukoy ng pattern ng input kung saan awtomatikong nagfo-format ang text. Halimbawa ng mask para sa Russian phone number: "+7 (___) ___-__-__". Sa iOS, ang Input Mask ay ipinatutupad sa pamamagitan ng delegate na textField(_:shouldChangeCharactersIn:replacementString:). Sa Android, gamitin ang InputFilter na may pagsubaybay sa posisyon ng character. Para sa mga international na numero, gamitin ang library na libphonenumber mula sa Google.
func textField(
_ textField: UITextField,
shouldChangeCharactersIn range: NSRange,
replacementString string: String
) -> Bool {
guard let text = textField.text else { return true }
let masked = applyPhoneMask(text, mask: "+7 (***) ***-**-**")
textField.text = masked
return false
}
| Parameter | iOS | Android |
|---|---|---|
| Single-line field | UITextField | EditText |
| Multi-line field | UITextView | EditText + textMultiLine |
| Floating hint | attributedPlaceholder | TextInputLayout |
| Uri ng keyboard | keyboardType | inputType |
| Secure na input | isSecureTextEntry | textPassword |
| Autofill | textContentType | autofillHints |
| Delegate o Listener | UITextFieldDelegate | TextWatcher |
| Error sa pagpapatunay | Custom na UILabel | TextInputLayout.setError() |
Mga Madalas Itanong
Tawagan ang becomeFirstResponder() sa UITextField o UITextView. Upang itago ito, gamitin ang resignFirstResponder(). Tiyaking nakikita ang field at hindi naka-block.
inputType ay tumutukoy sa uri ng keyboard (text, digit, email). Kinokontrol ng imeOptions ang aksyon sa Enter button (Done, Next, Search). Gumagana ang mga ito nang independyente at madalas na pinagsasama.
Gamitin ang delegate na textField(_:shouldChangeCharactersIn:replacementString:) at mano-manong i-format ang text. O gamitin ang InputMask library na may mga pattern tulad ng "+7 ([000]) [000]-[00]-[00]".
Tukuyin ang android:windowSoftInputMode="adjustResize" sa manifest. Kung gumagamit ng CoordinatorLayout, suriin ang configuration ng Behavior para sa pag-angat ng mga button at field.
Sa iOS, gamitin ang textContentType = .oneTimeCode. Sa Android, gamitin ang autofillHints = "smsCode". Awtomatikong pupunuin ng system ang code mula sa SMS kapag natanggap.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.