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

android 登陆界面的更多相关文章

  1. Android登陆界面实现-支持输入框清楚和震动效果功能

    演示效果 主要代码例如以下 自己定义的一个EditText.用于实现有文字的时候显示能够清楚的button: import android.content.Context; import androi ...

  2. Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面

    Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...

  3. Android 仿QQ微信开场导航以及登陆界面

    相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后进入应 用,这一效果适用于多种项目中,相信今后开发应用一定会用得 ...

  4. 【转】android 欢迎界面翻页成效,仿微信第一次登陆介绍翻页界面

    android 欢迎界面翻页效果,仿微信第一次登陆介绍翻页界面 本实例做的相对比较简单主要是对翻页控件的使用,有时候想要做一些功能是主要是先了解下是否有现成的控件可以使用,做起来比较简单不用费太大的劲 ...

  5. Android仿QQ微信开场导航以及登陆界面

    相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后 进入应用,这一效果适用于多种项目中,相信今后开发应用一定会用得 ...

  6. Android UI组件----用相对布局RelativeLayout做一个登陆界面

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  7. alertDialog创建登陆界面,判断用户输入

    alertDialog创建登陆界面,需要获取用户输入的用户名和密码,获取控件对象的时候不能像主布局文件那样获得, 需要在onClickListener中获取,代码如下: public boolean ...

  8. android登陆接口调试

    最近项目要开始调API,于是自己写了个关于登陆界面调试的Demo,为了保护项目,接口文档里面的内容都是被我改过的,不涉及任何项目内容.当然,代码在运行成功后,上传至博客前,相应内容我也根据改过后的文档 ...

  9. QML与C++交互:登陆界面设计

    QML与C++交互:登陆界面设计 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:Qt5.2.1 说明: QML设计前 ...

随机推荐

  1. Python源码学习七 .py文件的解释

    Python源码太复杂了... 今天看了下对.py文件的parse, 云里雾里的 py文件是最简单的, 在python的交互式窗口 import这个模块 a = 10 print(a) 开始分析,堆栈 ...

  2. 最小均方算法(LMS Algorithm)理论及DSP实现

    LMS算法可认为是机器学习里面最基本也比较有用的算法,神经网络中对参数的学习使用的就是LMS的思想,在通信信号处理领域LMS也非常常见,比如自适应滤波器. 本文主要对LMS(Least Mean Sq ...

  3. pymysql模块用法

    python关于mysql的API--pymysql模块 pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 1 pip install pymy ...

  4. Candy leetcode java

    题目: There are N children standing in a line. Each child is assigned a rating value. You are giving c ...

  5. Ensemble_learning 集成学习算法 stacking 算法

    原文:https://herbertmj.wikispaces.com/stacking%E7%AE%97%E6%B3%95 stacked 产生方法是一种截然不同的组合多个模型的方法,它讲的是组合学 ...

  6. XXX全球 IP 地址库

    XXX全球 IP 地址库 Bulgaria 93.123.23.1 93.123.23.2 93.123.23.3 93.123.23.4 93.123.23.5 93.123.23.6 93.123 ...

  7. B. Ohana Cleans Up(Codeforces Round #309 (Div. 2))

    B. Ohana Cleans Up   Ohana Matsumae is trying to clean a room, which is divided up into an n by n gr ...

  8. swift第一章

    swift中添加的类型:Tuple(元组类型),能够让你创建或者传递一组数据. 比方作为函数的返回值时.你能够用一个元组能够返回多个值. swift中还添加了可选(Optional)类型,用于处理值缺 ...

  9. base64 图片编码之再优化

    首先进入网站: http://b64.io/ 最多可减少图片体积容量近70%,建议不要优化base 64 图片格式为gif , 已实测如果用gif的话会增加容量.

  10. Android 升级脚本updater-script 的函数简单介绍

    这是Android系统来执行updater-scripts中的函数介绍. 函数都是的Edify语言.当调用这些函数结束的时候.会返回数据给脚本.当然,你也能够使用这些函数的返回值来确认成功与否,比如: ...