Android之登录注册——简易版

今天,我要分享给大家的是Android中常见的一个的登录注册的案例,我这里写的是简易版,如果大家有更精彩的拓展,可以自行发挥哦!

运行过程相信大家都已经心知肚明了,所以我在这里就直接发布代码了,其中有不理解的地方大家可以自行百度,也可以互相学习讨论。如有错误,麻烦大家在评论区留言,谢谢。

AndroidManifest.xml文件:

<applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.WeChat"><activity android:name=".LoginActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name=".RegisterActivity" /><activity android:name=".MainActivity"/></application>

布局代码:

styles.xml

<style name="hLine"><item name="android:layout_width">match_parent</item><item name="android:layout_height">1dp</item><item name="android:background">@color/black</item></style><style name="tvTwo"><item name="android:layout_width">wrap_content</item><item name="android:layout_height">wrap_content</item><item name="android:layout_marginLeft">20dp</item><item name="android:textColor">@color/black</item><item name="android:textSize">15sp</item></style><style name="etOne"><item name="android:layout_width">match_parent</item><item name="android:layout_height">wrap_content</item><item name="android:layout_marginLeft">30dp</item><item name="android:background">@null</item><item name="android:textColor">@color/black</item></style>

activity_login.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:text="用户登录/LOGIN"android:textSize="30sp"android:textStyle="bold"android:textColor="@color/black"android:layout_marginTop="50dp"/><Viewstyle="@style/hLine"android:layout_marginTop="40dp"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:padding="15dp"><TextViewstyle="@style/tvTwo"android:text="性   名:" /><EditTextandroid:id="@+id/lg_name"style="@style/etOne" /></LinearLayout><View style="@style/hLine" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:padding="15dp"><TextViewstyle="@style/tvTwo"android:text="密   码:" /><EditTextandroid:id="@+id/lg_psw"style="@style/etOne"android:inputType="textPassword"/></LinearLayout><View style="@style/hLine" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_marginTop="50dp"><Buttonandroid:id="@+id/btn_login"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="25dp"android:layout_marginLeft="50dp"android:text="登 录"android:background="@color/gray"/><Buttonandroid:id="@+id/btn_register"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="25dp"android:layout_marginLeft="120dp"android:text="注 册"android:background="@color/gray"/></LinearLayout>
</LinearLayout>

activity_register.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:text="用户注册"android:textColor="@color/black"android:textSize="40sp"/><View style="@style/hLine" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:padding="15dp"><TextViewstyle="@style/tvTwo"android:text="姓名:" /><EditTextandroid:id="@+id/rg_name"style="@style/etOne" /></LinearLayout><View style="@style/hLine" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:padding="15dp"><TextViewstyle="@style/tvTwo"android:text="密码:" /><EditTextandroid:id="@+id/rg_psw"style="@style/etOne"android:inputType="textPassword" /></LinearLayout><View style="@style/hLine" /><Buttonandroid:id="@+id/btn_submit"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="120dp"android:gravity="center"android:text="提交"android:background="@color/gray"android:textSize="18sp" />
</LinearLayout>

 activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:orientation="horizontal"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="30dp"android:text="祝你,登录成功,未来可期!"android:textColor="#E53935"android:textSize="30sp"/>
</LinearLayout>

Java代码:

LoginActivity.java

package com.example.wechat;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class LoginActivity extends AppCompatActivity {EditText lg_name,lg_psw;Button btn_login;Button btn_register;SQLiteDatabase db;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);lg_name=findViewById(R.id.lg_name);lg_psw=findViewById(R.id.lg_psw);btn_login=findViewById(R.id.btn_login);btn_register=findViewById(R.id.btn_register);//登录注册部分数据库db=SQLiteDatabase.openOrCreateDatabase(getCacheDir()+"/note",null);try {db.execSQL("create table user(username varchar(100),password varchar(100))");} catch (Exception e){e.printStackTrace();}SharedPreferences sharedPreferences=getSharedPreferences("user",0);lg_name.setText(sharedPreferences.getString("lg_name",""));lg_psw.setText(sharedPreferences.getString("lg_psw",""));btn_login.setOnClickListener(view -> {if (lg_name.getText().toString().equals("") || lg_psw.getText().toString().equals("")){Toast.makeText(LoginActivity.this, "账号或密码不能为空", Toast.LENGTH_SHORT).show();return;}@SuppressLint("Recycle") Cursor cursor=db.rawQuery("select * from user where username='"+lg_name.getText().toString()+"'",null);if (cursor.moveToNext()){if (cursor.getString(1).equals(lg_psw.getText().toString())){SharedPreferences.Editor editor=getSharedPreferences("lg_name",0).edit();Toast.makeText(LoginActivity.this,"登录成功",Toast.LENGTH_LONG).show();startActivity(new Intent(LoginActivity.this,MainActivity.class));editor.apply();}else {Toast.makeText(LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show();}}else {Toast.makeText(LoginActivity.this, "账号不存在", Toast.LENGTH_SHORT).show();}});btn_register.setOnClickListener(view -> startActivity(new Intent(LoginActivity.this,RegisterActivity.class)));}
}

RegisterActivity.java

package com.example.wechat;import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;public class RegisterActivity extends AppCompatActivity {EditText rg_name,rg_psw;Button btn_submit;SQLiteDatabase db;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_register);db=SQLiteDatabase.openOrCreateDatabase(getCacheDir()+"/note",null);rg_psw=findViewById(R.id.rg_psw);rg_name=findViewById(R.id.rg_name);btn_submit=findViewById(R.id.btn_submit);btn_submit.setOnClickListener(view -> {if (rg_name.getText().toString().equals("") || rg_psw.getText().toString().equals("")){Toast.makeText(RegisterActivity.this, "账号或密码不能为空", Toast.LENGTH_SHORT).show();return;}@SuppressLint("Recycle") Cursor cursor=db.rawQuery("select * from user where username='"+rg_name.getText().toString()+"'",null);if (cursor.moveToNext()){Toast.makeText(RegisterActivity.this, "账号已存在", Toast.LENGTH_SHORT).show();}else {ContentValues contentValues = new ContentValues();contentValues.put("username", rg_name.getText().toString());contentValues.put("password", rg_psw.getText().toString());db.insert("user", null, contentValues);Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_LONG).show();startActivity(new Intent(RegisterActivity.this, LoginActivity.class));}});}
}

MainActivity.java

package com.example.wechat;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}
}

像登录注册此类问题的案例,我们要特别注意逻辑性,涉及到数据量比较多、杂的话,我们可以用

笔将它们记录在本子上,世上无难事,只怕有心人,让我们一起加油吧!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41996.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android用户登录注册界面

用户登录注册界面开发及用户信息管理案例详解 刚开始接触Android编程&#xff0c;这算是我写的第一个简单工程&#xff0c;主要功能有&#xff1a;用户登录、注册、注销、修改密码、记住密码共5个基本操作&#xff0c;其内容涉及到以下几点&#xff1a; 1&#xff1a;Button&am…

Android登录界面的注册功能实现

注册一个登录界面在控制台将输入的信息文本选框展示出来 xml界面设计&#xff08;前面已发&#xff09; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:ap…

安卓注册登录界面示例

AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"online.geekgalaxy.layoutlearn"><applicationandroid:allowBackup"…

前2周还很火的ChatGPT,怎么突然就哑火了?

ChatGPT从去年才展露头角&#xff0c;但微软和谷歌的AI大战让ChatGPT在今年2月初突然就火出圈&#xff0c;国内不少大公司也紧急官宣“我们也有这项技术” ▶ 腾讯&#xff1a;在相关方向上已有布局&#xff0c;专项研究也在有序推进&#xff1b; ▶ 华为&#xff1a;在与Chat…

零代码量化投资:用ChatGPT通过tushare获取上市公司信息

Tushare是一个免费开源的金融数据集&#xff0c;包含股票、基金、期货、债券、外汇、行业大数据&#xff0c;同时包括了数字货币行情等区块链数据的全数据品类。 要使用tushare&#xff0c;首选注册一个账号&#xff0c;注册地址&#xff1a;https://tushare.pro/register?reg…

Qt 可视化Ui设计

QMainWindow 是主窗口类&#xff0c;主窗口类具有主菜单栏、工具栏和状态栏&#xff0c;类似于一般的应用程序的主窗口&#xff1b; QWidget是所有具有可视界面类的基类&#xff0c;选择QWidget创建的界面对各种界面组件都可以支持&#xff1b; QDialog是对话框类&#xff0c;可…

这么可爱的彩虹屁老婆,真的不想“娶”一个放桌面上吗?

&#x1f4a7;这么可爱的 彩 虹 屁 老 婆 \color{#FF1493}{彩虹屁老婆} 彩虹屁老婆&#xff0c;真的不想“娶”一个放桌面上吗&#xff1f;&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &#x1f984; 个人主页——微风撞见云的博客&#x1f39…

Python中Oracle的连接、增删改查

1、下载格式为whl的cx_Oracle文件 文件名&#xff1a;cx_Oracle‑7.3.0‑cp37‑cp37m‑win_amd64.whl 注意对应cp版本&#xff08;python版本&#xff09; 下载地址&#xff1a;https://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_oracle 下载到 D:\software 安装步骤&#…

美因基因冲刺港交所:黄金赛道的“双冠王”

2月18日&#xff0c;中国最大、全球前三的消费级基因检测平台美因基因向港交所递交了IPO申请&#xff0c;拟赴港上市&#xff0c;中信建投国际担任独家保荐人。 据美因基因招股说明书显示&#xff0c;此次IPO募集资金用于&#xff1a;&#xff08;1&#xff09;消费级基因检测及…

申宝优配-强者恒强还将继续

周二的行情与预期的保持一致&#xff0c;在日线的修整时间继续延续&#xff0c;同时&#xff0c;连续几天的休整以后&#xff0c;短线指标已经到达了相对的超跌低位&#xff0c;指数也到达了下方强支撑的3586点的边缘.。早盘指数小幅度低开以后快速拉起如期的开始进入反抽行情&…

乡村振兴开发合作联盟成立新闻发布会暨揭牌仪式成功举办

2022年3月18日&#xff0c;乡村振兴开发合作联盟成立新闻发布会暨揭牌仪式在纵横华媒国际总部成功举办。联盟主要负责人、纵横华媒国际董事长马康华&#xff0c;纵横华媒国际副总裁徐凡十、马卢健等领导出席会议并讲话。 本场发布会因疫情防控需要&#xff0c;采取线下线上相结…

申宝公司-市场两级分化谨慎操作

周一A股三大指数集体低开&#xff0c;早盘市场小幅反弹后便开启震荡下挫行情&#xff0c;沪指跌近1%&#xff0c;创业板指跌逾2%&#xff1b;午后A股跌幅继续杀跌&#xff0c;沪指失守3600点&#xff0c;创业板指一度重挫逾3%。沪深两市连续第42个交易日突破万亿规模&#xff1…

2月15日市场游资操作情况以及龙虎榜

2月15日市场知名游资操作以及机构龙虎榜&#xff1a; 1、章盟主 卖出&#xff1a;凯撒旅业 2、赵老哥 买入&#xff1a;天禾股份 卖出&#xff1a;曲江文旅、恒宝股份、泰慕士 3、量化打板 买入&#xff1a;园林股份、全筑股份、诚达药业、杭州园林、康芝药业、瑞鹄模具、浙…

Scrapy框架+Gerapy分布式爬取海外网文章

Scrapy框架Gerapy分布式爬取海外网文章 前言一、Scrapy和Gerapy是什么&#xff1f;1.Scrapy概述2.Scrapy五大基本构成:3.建立爬虫项目整体架构图4.Gerapy概述5.Gerapy用途 二、搭建Scrapy框架1.下载安装Scrapy环境2.建立爬虫项目3.配置Scrapy框架&#xff08;1&#xff09;item…

区块链媒体套餐到底怎么样用

如今无论是哪行哪业&#xff0c;互联网技术永远都是尤为重要的一个专用工具。不论是公司还是其他想要做宣传策划&#xff0c;那就需要通过网络这一媒体去进行&#xff0c;不过随着移动互联网的迅速普及化&#xff0c;区块链媒体也慢慢地进入大家的视野&#xff0c;那样区块链媒…

手把手教你用量化做复盘(一)

股市复盘是交易中的重要组成部分&#xff0c;能够帮助交易者更好地了解股市变化&#xff0c;把握未来趋势。 但有时候复盘工作量较大&#xff0c;往往花费大量的时间精力&#xff0c;为帮助掘金用户更好、更快地完成复盘工作&#xff0c;特此推出系列内容&#xff1a;《手把手教…

商业演出站口这类宣传模式适宜中小型企业吗

不一样类型的公司在宣传过程中适宜应用不一样类型的宣传模式&#xff0c;比如有许多知名企业都会采用商业演出站口这类宣传模式&#xff0c;这种类型的宣传模式适合不适合中小型企业呢&#xff1f;此类类型的宣传模式针对中小型企业来讲不太适合应用。 为何商业演出站口这样的方…

绿虫数字藏品一站式服务的运营平台解决方案

受“元宇宙”概念影响&#xff0c;数字藏品正在世界各国掀起一股热潮。 数据显示&#xff0c;在刚刚过去的“国际博物馆日”&#xff0c;国内外十家博物馆、图书馆推出20款数字藏品&#xff0c;总量达2.5万件&#xff1b;同一天&#xff0c;广东多家博物馆陆续在不同平台上线2…

基金牌照在公司宣传中具有的功效怎么样

能够看见这样的情况&#xff0c;有很多企业在宣传过程中关注与展现自身的实力&#xff0c;那在宣传过程中&#xff0c;将股票基金牌照呈现出来具有的功效是不是非常大呢&#xff1f;这一点需看公司在宣传过程里的宣传目地怎样&#xff0c;依据宣传目的不一样股票基金牌照&#…

第二证券|扶持政策频发,教育板块再度爆发,全通教育“20cm”涨停

职业教育概念23日盘中再度活跃&#xff0c;截至发稿&#xff0c;全通教育“20cm”涨停&#xff0c;该股昨日大涨14.4%&#xff0c;盘中一度涨停&#xff1b;世纪鼎利涨超16%&#xff0c;天舟文化、中文在线涨超10%&#xff0c;华媒控股、邦本科技、明牌珠宝、中广天择、陕西金叶…