Android如何实现简易登陆注册实例源码
今天给大家带来Android如何实现简易登陆注册实例源码,希望能对各位学员有所帮助。
activity_login
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv_username"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginStart="40dp"
android:layout_marginTop="100dp"
android:gravity="center_vertical"
android:text="账号:"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_password"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginStart="40dp"
android:gravity="center_vertical"
android:text="密码:"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_username" />
<EditText
android:id="@+id/ed_username"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_marginTop="100dp"
app:layout_constraintLeft_toRightOf="@id/tv_username"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/ed_password"
android:layout_width="300dp"
android:inputType="textPassword"
android:layout_height="40dp"
app:layout_constraintLeft_toRightOf="@id/tv_password"
app:layout_constraintTop_toBottomOf="@id/ed_username" />
<Button
android:id="@+id/bu_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="300dp"
android:text="登录"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/bu_register"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/bu_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="300dp"
android:text="注册"
app:layout_constraintLeft_toRightOf="@id/bu_login"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
LoginActivity
package com.jld.exam;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class LoginActivity extends AppCompatActivity {
EditText ed_username;
EditText ed_password;
Button bu_login;
Button bu_register;
String username;
String password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
ed_username = findViewById(R.id.ed_username);
ed_password = findViewById(R.id.ed_password);
bu_login = findViewById(R.id.bu_login);
bu_register = findViewById(R.id.bu_register);
//登录按钮监听
bu_login.setOnClickListener(v -> {
username = ed_username.getText().toString();
password = ed_password.getText().toString();
//登陆的简单逻辑
if (username.equals("")) {
Toast.makeText(LoginActivity.this, "请输入用户名", Toast.LENGTH_SHORT).show();
} else if (password.equals("")) {
Toast.makeText(LoginActivity.this, "请输入密码", Toast.LENGTH_SHORT).show();
} else if (!username.equals("root") || !password.equals("123456")) {
Toast.makeText(LoginActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
}
});
//注册按钮监听
bu_register.setOnClickListener(v -> {
Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
startActivity(intent);
});
}
}
activity_main
<?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">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="商品列表"
android:layout_marginBottom="30dp"
android:gravity="center_horizontal"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
MainActivity
package com.jld.exam;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.LinearLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
public class MainActivity extends AppCompatActivity {
RecyclerViewAdapter recyclerViewAdapter;
private final int[] icno = {R.drawable.clock, R.drawable.signal, R.drawable.box,
R.drawable.second, R.drawable.elephone, R.drawable.ff, R.drawable.notebook, R.drawable.mark, R.drawable.yx,
R.drawable.shop, R.drawable.theme, R.drawable.xl,};
private final String[] name = {"时钟", "信号", "宝箱", "秒钟", "大象", "FF", "记事本", "书签", "印象", "商店", "主题", "迅雷"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//GridLayoutManager
GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.this, 3);//创建recyclerview
RecyclerView recyclerView = findViewById(R.id.recycler);//设定布局管理器
recyclerView.setLayoutManager(gridLayoutManager);//创建适配器
recyclerViewAdapter = new RecyclerViewAdapter(icno, name);
recyclerView.setAdapter(recyclerViewAdapter);//设定适配器
}
}
activity_register
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".RegisterActivity">
<TextView
android:id="@+id/textView0"
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="center"
android:text="用户注册"
android:textSize="30sp"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView1"
android:layout_width="100dp"
android:layout_height="40dp"
android:drawableStart="@drawable/account"
android:gravity="center_vertical"
android:text="用户名:"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/textView0" />
<EditText
android:id="@+id/editText1"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_weight="10"
android:autofillHints=""
android:gravity="center_horizontal"
android:inputType="text"
app:layout_constraintLeft_toRightOf="@id/textView1"
app:layout_constraintTop_toBottomOf="@id/textView0" />
<TextView
android:id="@+id/textView2"
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_weight="2"
android:drawableStart="@drawable/password"
android:gravity="center_vertical"
android:text="新密码:"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/textView1" />
<EditText
android:id="@+id/editText2"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_weight="10"
android:autofillHints=""
android:gravity="center_horizontal"
android:inputType="textPassword"
app:layout_constraintLeft_toRightOf="@id/textView2"
app:layout_constraintTop_toBottomOf="@id/editText1" />
<TextView
android:id="@+id/textView5"
android:layout_width="100dp"
android:layout_height="40dp"
android:drawableStart="@drawable/phone"
android:gravity="center_vertical"
android:text="手机电话:"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/textView2" />
<EditText
android:id="@+id/editText5"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_weight="10"
android:autofillHints=""
android:gravity="center_horizontal"
android:inputType="phone"
app:layout_constraintLeft_toRightOf="@id/textView5"
app:layout_constraintTop_toBottomOf="@id/editText2" />
<TextView
android:id="@+id/textView7"
android:layout_width="100dp"
android:layout_height="40dp"
android:drawableStart="@drawable/email"
android:gravity="center_vertical"
android:text="E_mail:"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/editText5" />
<EditText
android:id="@+id/editText7"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_weight="10"
android:autofillHints=""
android:gravity="center_horizontal"
android:inputType="textEmailAddress"
app:layout_constraintLeft_toRightOf="@id/textView7"
app:layout_constraintTop_toBottomOf="@id/editText5" />
<TextView
android:id="@+id/textView8"
android:layout_width="100dp"
android:layout_height="40dp"
android:drawableStart="@drawable/gender"
android:gravity="center_vertical"
android:text="性别:"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/textView7" />
<RadioGroup
android:id="@+id/radioGroup8"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_weight="10"
android:gravity="center_vertical"
android:orientation="horizontal"
app:layout_constraintLeft_toRightOf="@id/textView8"
app:layout_constraintTop_toBottomOf="@id/editText7">
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男" />
</RadioGroup>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="保存"
app:layout_constraintEnd_toStartOf="@id/button2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/radioGroup8" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="取消"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/button1"
app:layout_constraintTop_toBottomOf="@id/radioGroup8" />
</androidx.constraintlayout.widget.ConstraintLayout>
RegisterActivity
package com.jld.exam;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class RegisterActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
}
}
recyc_item
<?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="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_image"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:contentDescription="TODO"
android:scaleType="centerInside"
android:src="@drawable/ic_launcher_background" />
<TextView
android:id="@+id/tv_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="销售价格"
android:textSize="14sp" />
</LinearLayout>
RecyclerViewAdapter
package com.jld.exam;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
private final int[] icno;
private final String[] desc;
public RecyclerViewAdapter(int[] icno, String[] desc) {
this.icno = icno;
this.desc = desc;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyc_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.imageView.setImageResource(icno[position]);
holder.textView.setText(desc[position]);
}
@Override
public int getItemCount() {
return icno.length;
}
//ViewHolder
public static class ViewHolder extends RecyclerView.ViewHolder {
View item;
ImageView imageView;
TextView textView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
item = itemView;
imageView = itemView.findViewById(R.id.iv_image);
textView = itemView.findViewById(R.id.tv_desc);
}
}
}
Android如何实现简易登陆注册实例源码相关推荐
- Android最新版支付宝钱包的实例源码
Android应用支付宝支付究竟是什么做的呢,相信很多朋友对这个问题感兴趣,如果你要是做过了话你可能就会觉得,支付宝也就这么回事,但是对于没做过的朋友可能会觉得,很高大上,觉得做出来的人好叼哦,其实接 ...
- android做拨号程序代码,Android开发手机拨号程序实现实例源码介绍
Android开发手机拨号程序实现实例源码介绍,在上一篇文章中,我们实现了第一个程序:helloWorld,并成功测试完成.还给大家介绍了Android项目结构和说明.现在写一个手机拨号程序: 首先, ...
- 【Android CameraX】CameraXBasic —— 官方CameraX实例源码分析
一.简介 二.源码分析 2.1 build.gradle 2.2 代码结构 2.3 变量 2.3.1 lensFacing 2.3.2 preview 2.3.3 Image capture 2.3. ...
- Android+上百实例源码分析以及开源分析+集合打包
1.360新版特性界面源代码 实现了360新版特性界面的效果,主要涉及到Qt的一些事件处理与自定义控件.但源码好像是c++. 2.aidl跨进程调用 服务端onBind暴露,然后客户端bindServ ...
- Android上百实例源码分析以及开源分析集合打包
感谢网友banketree的收集,压缩包的内容如下: 1.360新版特性界面源代码 实现了360新版特性界面的效果,主要涉及到Qt的一些事件处理与自定义控件.但源码好像是c++. 2.aidl跨进程调 ...
- Android Input子系统-含实例源码
Android Input子系统-含实例源码 1 Input子系统作用 Android很多外设都是用到输入输出设备,比如touchscreen,键盘,音量键等,输入 设备对应Android 框架是An ...
- 【Android数据存储】ContentProvider详细介绍(附实例源码)
1.ContentProvider是什么? ContentProvider--内容提供者.它是一个类,这个类主要是对Android系统中进行共享的数据进行包装,并提供了一组统一的访问接口供其他程序调用 ...
- 45个android实例源码
分享45个android实例源码,很好很强大.收藏吧!!! http://www.apkbus.com/forum.php?mod=viewthread&tid=20978 (出处: Andr ...
- 分享45个Android实例源码
分享45个Android实例源码,很好很强大.收藏吧!!! 分享45个android实例源码,很好很强大 http://www.apkbus.com/android-20978-1-1.html an ...
最新文章
- php好的mvc中index方法,创建一个mvc应用目录架构并创建入口文件index.php
- 抛弃Python,我们为什么用Go编写机器学习架构?
- HDU2222 Keywords Search(AC自动机模板)
- 导购提成怎么算_only导购工资提成怎么算标准
- linux教程opensuse,OpenSUSE/Linux 网络配置
- MySQL里面的in关键字
- BZOJ 3295: [Cqoi2011]动态逆序对 cdq分治
- 第5章 set命令详解
- iframe高度自适应 1
- Play framework(二)
- 第一至七次人口区县级普查-GIS人口数据集(最新)
- python背景怎么自定义铃声_【Python成长之路】如何用2行代码将抖音视频设置成我的手机铃声...
- 2023四川大学计算机考研信息汇总
- Windows关机或重启显示有程序正在阻止、程序失去响应
- Win10专业版错误代码0xc0000225在吗修复?
- 百度seo指南_白杨SEO:如何让网页被百度收录以及提高它的排序?
- 接口管理系统 eoLinker-AMS 开源版 V3.5.0 发布更新
- 计算机组成原理与系统结构 出版社,计算机组成原理与系统结构
- python 实现 整个文件夹 或者 文件 的复制
- 基于多目标灰狼算法的冷热电综合三联供微网低碳经济
热门文章
- 倒放音频软件有哪些?这篇文章推荐倒放声音的软件
- Gender Equality in the Workplace【职场上的性别平等】
- Java String转Date
- PTA-软件外包公司
- Hive - 警惕默认分割符号:^A
- 通达OA系统2019版流程中心,外部表单提交数据到指定流程第一步
- 《权力的游戏》第八季——机器学习“剧透”大结局:谁笑到最后?
- oracle中如何写函数【oracle技术】
- android jelly bean 电影工作室,Jelly Bean仍然是最流行的Android版本
- 为什么商务人都申请163邮箱,163邮箱怎么注册登陆呢?