Koltin26,android面试基础题,安卓开发进大厂面试必备技能

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移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

文末

我总结了一些Android核心知识点,以及一些最新的大厂面试题、知识脑图和视频资料解析。

需要的小伙伴私信【学习】我免费分享给你,以后的路也希望我们能一起走下去。(谢谢大家一直以来的支持,需要的自己领取)

直接点击链接也可以领取哦!

Android学习PDF+架构视频+面试文档+源码笔记

部分资料一览:

  • 330页PDF Android学习核心笔记(内含8大板块)

  • Android学习的系统对应视频

  • Android进阶的系统对应学习资料

  • Android BAT大厂面试题(有解析)

偿领取!(备注Android)**
[外链图片转存中…(img-ei8VOQLd-1710666631825)]

文末

我总结了一些Android核心知识点,以及一些最新的大厂面试题、知识脑图和视频资料解析。

需要的小伙伴私信【学习】我免费分享给你,以后的路也希望我们能一起走下去。(谢谢大家一直以来的支持,需要的自己领取)

直接点击链接也可以领取哦!

Android学习PDF+架构视频+面试文档+源码笔记

部分资料一览:

  • 330页PDF Android学习核心笔记(内含8大板块)

[外链图片转存中…(img-CI7UAuuJ-1710666631825)]

[外链图片转存中…(img-bcWj8HVv-1710666631826)]

  • Android学习的系统对应视频

  • Android进阶的系统对应学习资料

[外链图片转存中…(img-cyGnY7LB-1710666631826)]

  • Android BAT大厂面试题(有解析)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值