注册界面、登录界面及人脸识别与指纹识别的嵌入、部分功能前端页面优化、初步打包成apk,局域网内DeepSeek故事生成,SD漫画生成,跨设备数据加密传输初步实现---第十周+十一周+十二周
成功完成DeepSeek故事生成->故事结构化,拆解为四个分镜描述- >将故事以List<prompt>格式通过WebSocket通信传输到SD服务器->SD进行处理生成图片->将图片封装成JSON格式传输到手机。一位同学的电脑充当服务器,测试数据传输与漫画生成是否正常,测试如下,2.在变量上添加图标变量,根据不同的 title 为每个标签设置不同的图标。1.项目初步打包(未完成全部功能,仅用于测
一、注册界面、登录界面及人脸识别与指纹识别的嵌入
1.注册界面的构建:
用户注册:收集用户名、密码和确认密码
输入验证:非空检查、密码一致性验证
数据库操作:将新用户信息存储到本地数据库
导航:提供返回登录页面的选项
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_register)
userDatabase = UserDatabase(this)
// 初始化视图
etUsername = findViewById(R.id.etUsername)
etPassword = findViewById(R.id.etPassword)
etConfirmPassword = findViewById(R.id.etConfirmPassword)
btnRegister = findViewById(R.id.btnRegister)
tvBackToLogin = findViewById(R.id.tvBackToLogin)
btnRegister.setOnClickListener {
val username = etUsername.text.toString()
val password = etPassword.text.toString()
val confirmPassword = etConfirmPassword.text.toString()
if (username.isEmpty() || password.isEmpty() || confirmPassword.isEmpty()) {
Toast.makeText(this, "请填写所有字段", Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
if (password != confirmPassword) {
Toast.makeText(this, "两次输入的密码不一致", Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
if (userDatabase.addUser(username, password)) {
Toast.makeText(this, "注册成功", Toast.LENGTH_SHORT).show()
finish()
} else {
Toast.makeText(this, "注册失败,用户名可能已存在", Toast.LENGTH_SHORT).show()
}
}
tvBackToLogin.setOnClickListener {
finish() // 返回登录界面
}
}
实现界面如下:
2.登录界面的构建:验证用户名和密码,提供跳转注册页面的选项,登录成功后进入主界面。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
userDatabase = UserDatabase(this)
// 初始化视图
etUsername = findViewById(R.id.etUsername)
etPassword = findViewById(R.id.etPassword)
btnLogin = findViewById(R.id.btnLogin)
tvRegister = findViewById(R.id.tvRegister)
btnLogin.setOnClickListener {
val username = etUsername.text.toString()
val password = etPassword.text.toString()
if (username.isEmpty() || password.isEmpty()) {
Toast.makeText(this, "请输入用户名和密码", Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
if (userDatabase.checkUser(username, password)) {
Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show()
// 跳转到主界面
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish() // 结束当前Activity,防止用户按返回键回到登录界面
} else {
Toast.makeText(this, "用户名或密码错误", Toast.LENGTH_SHORT).show()
}
}
tvRegister.setOnClickListener {
startActivity(Intent(this, RegisterActivity::class.java))
}
}
实现界面如下:

3.人脸识别与指纹识别的集成:
(1)权限声明
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" /> <!-- 仅API 28以下需要 -->
(2) 调用Android Biometric API进行人脸识别与指纹识别
val authenticators = when (preferredMethod) {
"FACE" -> BiometricManager.Authenticators.BIOMETRIC_STRONG
"FINGERPRINT" -> BiometricManager.Authenticators.BIOMETRIC_WEAK
else -> BiometricManager.Authenticators.BIOMETRIC_STRONG
}
promptInfo.setAllowedAuthenticators(authenticators)
(3)使用Android Keystore系统来保护数据
val keyStore = KeyStore.getInstance("AndroidKeyStore")
keyStore.load(null)
val keyGenerator = KeyGenerator.getInstance(
KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore")
val keyGenSpec = KeyGenParameterSpec.Builder(
"biometric_key",
KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT)
.setBlockModes(KeyProperties.BLOCK_MODE_CBC)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
.setUserAuthenticationRequired(true)
.setUserAuthenticationParameters(0, KeyProperties.AUTH_BIOMETRIC_STRONG)
.build()
keyGenerator.init(keyGenSpec)
keyGenerator.generateKey()
实现界面如下:
二、初步打包成apk,局域网内DeepSeek故事生成,SD漫画生成,跨设备数据加密传输初步实现
1.项目初步打包(未完成全部功能,仅用于测试)成apk,手机安装测试
gradle build对项目进行打包:

2.安装到手机进行测试。一位同学的电脑充当服务器,测试数据传输与漫画生成是否正常,测试如下,成功完成DeepSeek故事生成->故事结构化,拆解为四个分镜描述- >将故事以List<prompt>格式通过WebSocket通信传输到SD服务器->SD进行处理生成图片->将图片封装成JSON格式传输到手机。
数据传输成功:

图片生成成功:

图片封装成JSON格式并传回手机成功:
漫画初步生成如下(后续将跟进训练与优化):

三、部分功能前端页面优化
1.增强型空状态设计与消息气泡组件重构

2.在变量上添加图标变量,根据不同的 title 为每个标签设置不同的图标

更多推荐



所有评论(0)