首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android 登錄註冊頁面實現完整指南

     編輯:程式設計疑難解答

架構設計

採用 MVVM + Repository 模式,現代 Android 開發推薦使用 Android Studio + Jetpack 組件。

登錄流程

  1. UI:兩個 EditText(用戶名/密碼)+ Button
  2. 點擊 → ViewModel 調用 Repository → Retrofit 發送 POST 請求
  3. 服務端驗證 → 返回 Token/UserInfo (JSON)
  4. 本地緩存 Token (DataStore/SharedPreferences) → 導航到主頁

註冊流程

  1. UI:用戶名、密碼、確認密碼、手機/郵箱、驗證碼
  2. 前端驗證 → 發送註冊請求
  3. 服務端檢查用戶名唯一 → 寫入數據庫 → 返回結果
  4. 註冊成功 → 自動登錄或跳轉登錄頁(攜帶用戶名預填)

關鍵代碼片段

// LoginViewModel.kt
@HiltViewModel
class LoginViewModel @Inject constructor(
    private val authRepo: AuthRepository
) : ViewModel() {

    fun login(username: String, password: String) {
        viewModelScope.launch {
            try {
                val result = authRepo.login(username, password)
                _uiState.value = UiState.Success(result)
            } catch (e: Exception) {
                _uiState.value = UiState.Error(e.message)
            }
        }
    }
}

// AuthRepository.kt
suspend fun login(username: String, password: String): AuthResult {
    return apiService.login(LoginRequest(username, password))
        .map { response ->
            tokenManager.save(response.token)
            AuthResult.Success(response.user)
        }
        .getOrElse { AuthResult.Error(it.message) }
}

遷移建議

  • 棄用 Eclipse ADT,全面遷移至 Android Studio
  • 使用 Kotlin + Coroutines + Flow
  • 引入 Hilt 依賴注入、Navigation 頁面導航
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved