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. HashTable HashMap HashSet区别(java)

    Hashtable: 1. key和value都不许有null值 2. 使用enumeration遍历 3. 同步的,每次只有一个线程能够访问 4. 在java中Hashtable是H大写,t小写,而 ...

  2. 【转】php里面也可以使用协程

    原文链接:http://blog.51cto.com/chinalx1/2089327 http://nikic.github.io/2012/12/22/Cooperative-multitaski ...

  3. 如何监控执行的SQL语句?

    环境: SQL Server 2012. 打开SQL Server Profiler. 在菜单中选择New Trace, 连接上SQL Server. 在弹出的窗口中选择Event selection ...

  4. C++ Linux 多线程之创建、管理线程

    线程就是,在同一程序同一时间内同意运行不同函数的离散处理队列. 这使得一个长时间去进行某种特殊运算的函数在运行时不阻碍其它的函数变得十分重要. 线程实际上同意同一时候运行两种函数,而这两个函数不必相互 ...

  5. [android错误] requires API level *

    Call requires API level (current min ): android.content.res.Resources#getBoolean 参考文档: http://stacko ...

  6. 浅析Android线程模型一 --- 转

    摘要:随着中国移动在8月份相继发布基于Google Android的OPhone平台和手机网上应用商店Mobile Market,以及各大手机生产厂商在2009年北京国际通信展?上展出了各自基于And ...

  7. HTTP和Socket的区别

    1: HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用. HTTP ...

  8. LESS详解之变量(@)

    变量基本上是每个语言脚本上都会涉及的一个小小知识点,是学好语言脚本的必经之路.LESS中也可以设置变量,然后通过变量可以改变整个网站的设计风格.良好的掌握LESS中变量的用法,是LESS的基础. 变量 ...

  9. PyQt5——安装Eric6

    Eric6是PyQt编程最理想的IDE.windows版的安装很简单.下面的安装也是在windows上进行的.linux版的我安装有点问题,有时间再折腾. 下载: Eric6官网:http://eri ...

  10. iOS 推断设备为iPhone还是iPad

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { self.viewControlle ...