android 登陆界面

2023-11-17

LoginActivity.java

package com.example.ruian;
 
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class LoginActivity extends Activity {
    
    private EditText m_txtUserName = null;
    private EditText m_txtPwd = null;
    private Button m_butLogin=null;
    
     @Override
     protected void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_login);
      
          findViews();
        setListensers();
        
        
     }
     
     private void findViews(){
         m_txtUserName=(EditText) findViewById(R.id.txtUserName);  
         m_txtPwd=(EditText) findViewById(R.id.txtPwd);  
         m_butLogin = (Button) findViewById(R.id.butLogin);
      }
     
     private void setListensers(){
         //Login按钮
         m_butLogin.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 butLogin_OnClick(v);
             }
         }); 
     }
     
     private void butLogin_OnClick(View v){  
         //系统参数
         SharedPreferences share = getSharedPreferences("perference",MODE_PRIVATE);
         //登陆密码---------------------------------------------------------------
         String strLoginPwd_value=share.getString("login_pwd_value","");
         //m_txtPwd.setText(strLoginPwd_value);
         if(strLoginPwd_value.equals("")==true){//为空则设初始值
             strLoginPwd_value=getResources().getString(R.string.loginpwd_init);//默认登陆密码
         }
         
         String strLoginPwd=m_txtPwd.getText().toString();
         if(strLoginPwd.equals(strLoginPwd_value)==true){
             //登陆成功
              //声明Intent对象,并启动 LoginActivity Activity
             Intent intent = new Intent();
             intent.setClass(LoginActivity.this, MainActivity.class);
              startActivity(intent);
             //从历史堆栈中删除当前Activity,用户点击“返回”按钮键时,不会再返回到这个Activity。
             finish();
         }
         else{
             openDialog("登陆密码错误!","消息");
         }
     }
     
     //弹出对话框--------------------------------------------------
         private void openDialog(String strMsg, String strTitle){
             new AlertDialog.Builder(this)
                 .setTitle(strTitle)
                 .setMessage(strMsg)
                 .setPositiveButton("确认",
                         new DialogInterface.OnClickListener() {
                             @Override
                             public void onClick(DialogInterface dialog, int which) {
                                 // TODO Auto-generated method stub
                             }
                 })
                 .show();
         }
         
         //弹出确认、取消 对话框--------------------------------------------------
         private void openDialogOk(String strMsg, String strTitle){
             new AlertDialog.Builder(this)
                 .setTitle(strTitle)
                 .setMessage(strMsg)
                 .setPositiveButton("确认",
                         new DialogInterface.OnClickListener() {
                             @Override
                             public void onClick(DialogInterface dialog, int which) {
                                 // TODO Auto-generated method stub
                                 openDialog("登陆密码错误!-----","消息");
                             }
                 })
                 .setNegativeButton("取消",
                         new DialogInterface.OnClickListener() {
                             @Override
                             public void onClick(DialogInterface dialog, int which) {
                                 // TODO Auto-generated method stub
                                 openDialog("登陆密码错误!=====","消息");
                             }
                 })
                 .show();
         }
    
        
}

activity_login.xml

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     >
    
    
    <TableRow>
        <TextView 
        android:layout_width="fill_parent"  
           android:layout_height="wrap_content" 
           android:gravity="center"
           android:textSize="20dip"
           android:layout_weight="1"
           android:text="用户登陆" />
    </TableRow>
     <TableRow>
        <TextView
            android:id="@+id/lblUserName"
            android:layout_weight="1"
            android:text="用户名:" />
    </TableRow>
    <TableRow> 
        <EditText
            android:id="@+id/txtUserName"
            android:layout_weight="1"
            android:inputType="textPassword">
        </EditText>
    </TableRow>
     <TableRow>
        <TextView
            android:id="@+id/lblPwd"
            android:layout_weight="1"
            android:text="密码:" />
    </TableRow>
    <TableRow> 
        <EditText
            android:id="@+id/txtPwd"
            android:layout_weight="1"
            android:inputType="textPassword">
        </EditText>
    </TableRow>
   <TableRow>
           <Button
            android:id="@+id/butLogin"
             android:layout_weight="1"
            android:text="登陆" />
            
     </TableRow>



</TableLayout>

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    
    <string name="loginpwd_init">123456</string>
</resources>

最重要的一步,将此界面设置为启动页。

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.ruian"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.ruian.LoginActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="ParaSetActivity"></activity>
        <activity android:name="MainActivity"></activity>
    </application>

</manifest>

说明:

android:name="com.example.ruian.LoginActivity"  这句中的 LoginActivity 即是设置初始界面为登陆页。
<activity android:name="ParaSetActivity"></activity>  这句是设置界面的activity
<activity android:name="MainActivity"></activity> 这句是主界面的activity
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 登陆界面 的相关文章

随机推荐

  • ESP8266基础开发(一)---读DHT11温湿度传感器

    注 对于ESP8266开源技术感兴趣的可以加群 我们一起探索交流学习 群号 579932824 群名 ESP8266开源技术交流群 这篇文章的目的是展示如何将DHT11传感器连接到ESP8266并编写一个简单的程序来测量温度和湿度 我们假设
  • 【Git】保姆级教程:如何在 GitHub 上传大文件(≥100M)?(含自己的操作流程)

    文章目录 一 问题导读 二 自己的实际操作流程 2 1 准备工作 2 2 初始化仓库 2 3 安装git lfs 一个仓库里面执行一次就好了 2 4 跟踪一下你要上传 push 的文件或指定文件类型 2 5 添加 gitattributes
  • FPGA开发流程

    流程 设计定义 设计输入 分析和综合 功能仿真 modelsim altera 布局布线 时序仿真 modelsim altera 时序约束 IO分配以及配置文件的生成 配置 烧写FPGA 在线调试 设计定义 二选一多路器 两个输入IO a
  • Amazon SDE实习机会面试经验分享

    我通过大学申请了Amazon SDE实习 在线回合 有一个在线回合 其中包含技术性MCQ和2个编码问题 编码部分非常简单 面试过程中有7 8人入围 第一轮面对面访谈 这一回合持续了一个小时 首先 面试官要求自我介绍 后来有3个编码问题 对包
  • HTML img 强制刷新加载

    img刷新机制为url变化则刷新 当url不变时想要刷新可做如下处理 let url http pic27 nipic com 20130321 9678987 225139671149 2 jpg const time new Date
  • 浏览器默认行为(原生事件)、浏览器中网页渲染顺序

    一 浏览器的原生事件 1 浏览器中存在一些默认行为 比如 文本可复制 图片可 拖拽 这是伪拖拽 实际并没有移动 松开鼠标后 会弹出新的链接 右键会出现菜单 a标签单击会跳转等 2 为什么要阻止默认行为 如某些时候 我们需要写一个a标签 但是
  • docker的联合文件系统(UnionFS)

    docker最大的贡献就是定义了容器镜像的分层的存储格式 docker镜像技术的基础是联合文件系统 UnionFS 其文件系统是分层的 这样既可以充分利用共享层 又可以减少存储空间占用 联合挂载系统的工作原理 读 如果文件在upperdir
  • vue常用标签

    一 内容绑定 1 v text 会替换掉html的内容 eg p p 2 插值表达式占位内容 放在html中 eg p username p 3 v html 可将html内容渲染到页面 v text和 不支持 eg div div con
  • 用于通过声波捕获显示视觉,触觉和音频的全息显示(A volumetric display for visual, tactile and audio presentation using acous)

    Ryuji Hirayama Diego Martinez Plasencia Nobuyuki Masuda Sriram Subramanian 2019年1月31日接收 2019年8月15日收录 2019年11月13日网上公开 摘要
  • java token redis生成算法_java秒杀系列(1)- 秒杀方案总体思路

    前言 首先 要明确一点 高并发场景下系统的瓶颈出现在哪里 其实主要就是数据库 那么就要想办法为数据库做层层防护 减轻数据库的压力 一 简单图示 我用一个比较简单直观的图来表达大概的处理思路 二 生产环境中秒杀抢购的解决方案 1 前端 1 动
  • Qt自定义滑动条

    最近要用到滑动条 Qt自带的QSlider虽然能满足需求 但是操作起来有很多不舒服的地方 于是在它的基础上改了改 分享给大家使用 先放效果图 在QSlider的基础上 改变了样式 绘制了刻度 增加了取整功能 只需要微调就能适应各种需求 头文
  • JavaWeb12(实现基础分页&模糊查询的分页)

    目录 一 效果预览 编辑 二 实现基本分页 2 1 分页sql 每页3条 取第二页 由于伪列不能作用与大于符号也不能作用于between and 因此需要将伪列 gt 名列 2 2 万能公式 2 3 首页 上一页 下一页实现 前端代码 2
  • [论文阅读笔记36]CASREL代码运行记录

    论文阅读笔记33 CASREL 基于标注与bert的实体与关系抽取 https blog csdn net ld326 article details 116465089 总的来说 文档都还是写得很好的 按文档 readme md 来就行
  • 必备技能22: 安装VISIO时,出现64、32版本冲突

    问题描述 安装visio时 遇到如下错误 安装错误 无法安装 64 位版本的 Office 因为在您的 PC 上找到了以下 32 位程序 Office 16 Click to Run Extensibility Component 请卸载所
  • Python制作【大麦网】抢票程序,看演唱会再也不怕没票了

    前言 大麦网 是中国综合类现场娱乐票务营销平台 业务覆盖演唱会 话剧 音乐剧 体育赛事等领域 但是因为票数有限 还有黄牛们不能丢了饭碗 所以导致了 很多人都抢不到票 那么 今天带大家用Python来制作一个自动抢票的脚本小程序 知识点 面向
  • linux安装mysql5.7

    Linux下安装Mysql5 7 超详细完整教程 以及云mysql连接 linux mysql5 7 清香可口柑的博客 CSDN博客 grant all privileges on to root identified by 123456
  • 无人机数据集调研

    最近在研究无人机检测相关领域的内容 因此对目前开源的无人机数据集做一个整理 目录 无人机数据集 一 VisDrone2019 二 UAVDT 无人机数据集 一 VisDrone2019 数据集下载地址 比赛官网 VisDrone2019数据
  • 1分钟免费开通IDaaS云服务

    2020 Zero trust 零信任 持续火热 零信任不仅仅是技术 更是理念的转变 会成为未来十年主流的网络安全架构 企业如何快速构建自己的零信任 SDP防护架构 背景 国内现状 大多数企业尚未建立企业的身份认证和授权中心 能够管理企业内
  • 获取 gps信息_ROS传感器之GPS简介

    一 传感器分类 在自动驾驶或者机器人领域 传感器的使用按照测量对象划分 可分为两大类 一类是测量自身状态 另一类测量环境状态 前者主要包含GPS IMU和编码器 后者主要有激光雷达 毫米波雷达和相机 这里的状态主要是指位置和速度 有些传感器
  • android 登陆界面

    LoginActivity java package com example ruian import android app Activity import android app AlertDialog import android c