savedInstanceState: Bundle?
): View? {
val userview = View.inflate(activity, R.layout.fragment_user, null)
val ivLogin = userview.find(R.id.login)
ivLogin.setOnClickListener {
val intent = Intent(activity, LoginActivity::class.java)
activity.startActivity(intent)
}
return userview
}
}
fragment_user.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:orientation=“vertical”>
<ScrollView
android:layout_width=“match_parent”
android:layout_height=“match_parent”>
<LinearLayout
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:orientation=“vertical”>
<LinearLayout
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:background=“#3090E6”>
<ImageView
android:layout_width=“80dp”
android:layout_height=“80dp”
android:layout_gravity=“center_vertical”
android:layout_marginLeft=“15dp”
android:layout_marginTop=“20dp”
android:layout_marginBottom=“20dp”
android:src=“@mipmap/user_center_default_avatar” />
<FrameLayout
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:layout_gravity=“center_vertical”
android:layout_marginLeft=“10dp”
android:layout_marginTop=“20dp”
android:layout_marginRight=“15dp”
android:layout_marginBottom=“20dp”
android:layout_weight=“1.0”>
<ImageView
android:id=“@+id/login”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:src=“@mipmap/user_center_login” />
<LinearLayout
android:id=“@+id/ll_userinfo”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:gravity=“center”
android:orientation=“vertical”
android:visibility=“invisible”>
<TextView
android:id=“@+id/username”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:text=“username”
android:textColor=“#FFF”
android:textSize=“18sp” />
<LinearLayout
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginTop=“10dp”
android:gravity=“center_vertical”
android:orientation=“horizontal”>
<ImageView
android:layout_width=“20dp”
android:layout_height=“20dp”
android:src=“@mipmap/user_center_mobile” />
<TextView
android:id=“@+id/phone”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:text=“13263203501”
android:textColor=“#FFF”
android:textSize=“16sp” />
<ImageView
android:id=“@+id/iv_address_manager”
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:scaleType=“fitXY”
android:src=“@mipmap/user_center_orther” />
<LinearLayout
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:background=“#3090E6”
android:orientation=“vertical”>
<RelativeLayout
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:layout_marginTop=“30dp”
android:gravity=“center_vertical”>
<TextView
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_centerVertical=“true”
android:layout_marginLeft=“15dp”
android:text=“我的”
android:textColor=“#FFF”
android:textSize=“18sp” />
<ImageView
android:id=“@+id/tv_user_setting”
android:layout_width=“30dp”
android:layout_height=“30dp”
android:layout_alignParentRight=“true”
android:layout_marginRight=“15dp”
android:src=“@mipmap/user_center_setting” />
<ImageView
android:id=“@+id/iv_user_notice”
android:layout_width=“30dp”
android:layout_height=“30dp”
android:layout_marginRight=“40dp”
android:layout_toLeftOf=“@+id/tv_user_setting”
android:src=“@mipmap/user_center_notice” />
LoginActivity.kt登录界面的操作,首先包括监听验证码的操作动作,发送验证码和验证验证码,其中增加了验证码的倒计时操作功能
package com.example.takeout.ui.activity
import android.annotation.SuppressLint
import android.os.Bundle
import android.os.Handler
import android.os.Message
import android.os.SystemClock
import android.text.TextUtils
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import cn.smssdk.EventHandler
import cn.smssdk.SMSSDK
import com.example.takeout.R
import com.heima.takeout.utils.SMSUtil
import com.mob.MobSDK
import kotlinx.android.synthetic.main.activity_login.*
class LoginActivity : AppCompatActivity() {
//监听每一次提交验证码操作
val eh = object : EventHandler() {
override fun afterEvent(event: Int, result: Int, data: Any) {
if (result == SMSSDK.RESULT_COMPLETE) {
//回调完成
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
//提交验证码成功
Log.d(“LoginActivity”, “提交验证码成功”)
} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
//获取验证码成功
Log.d(“LoginActivity”, “获取验证码成功”)
} else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {
//返回支持发送验证码的国家列表
}
} else {
(data as Throwable).printStackTrace()
}
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
initListener()
MobSDK.submitPolicyGrantResult(true, null);
//注册短信回调
SMSSDK.registerEventHandler(eh)
}
private fun initListener() {
iv_user_back.setOnClickListener { finish() }
//获取验证码
tv_user_code.setOnClickListener {
val phone = et_user_phone.text.toString().trim()
//验证手机号码
if (SMSUtil.judgePhoneNums(this, phone)) {
// 请求验证码,其中country表示国家代码,如“86”;phone表示手机号码,如“13800138000”
SMSSDK.getVerificationCode(“86”, phone)
//开启倒计时
tv_user_code.isEnabled = false
Thread(CutDownTask()).start()
}
}
iv_login.setOnClickListener {
//提交验证码
val phone = et_user_phone.text.toString().trim()
val code = et_user_code.text.toString().trim()
if (SMSUtil.judgePhoneNums(this, phone) && !TextUtils.isEmpty(code)) {
// 提交验证码,其中的code表示验证码,如“1357”
SMSSDK.submitVerificationCode(“86”, phone, code)
}
//登录外卖服务器
// loginActivityPresenter.loginByPhone(phone)
}
}
companion object {
val TIME_MINUS = -1 //剩余时间的消息
val TIME_IS_OUT = 0 //60s超时
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
文末
我总结了一些Android核心知识点,以及一些最新的大厂面试题、知识脑图和视频资料解析。
需要的小伙伴私信【学习】我免费分享给你,以后的路也希望我们能一起走下去。(谢谢大家一直以来的支持,需要的自己领取)
直接点击链接也可以领取哦!
部分资料一览:
- 330页PDF Android学习核心笔记(内含8大板块)
-
Android学习的系统对应视频
-
Android进阶的系统对应学习资料
- Android BAT大厂面试题(有解析)
偿领取!(备注Android)**
[外链图片转存中…(img-ei8VOQLd-1710666631825)]
文末
我总结了一些Android核心知识点,以及一些最新的大厂面试题、知识脑图和视频资料解析。
需要的小伙伴私信【学习】我免费分享给你,以后的路也希望我们能一起走下去。(谢谢大家一直以来的支持,需要的自己领取)
直接点击链接也可以领取哦!
部分资料一览:
- 330页PDF Android学习核心笔记(内含8大板块)
[外链图片转存中…(img-CI7UAuuJ-1710666631825)]
[外链图片转存中…(img-bcWj8HVv-1710666631826)]
-
Android学习的系统对应视频
-
Android进阶的系统对应学习资料
[外链图片转存中…(img-cyGnY7LB-1710666631826)]
- Android BAT大厂面试题(有解析)