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. 6个原则、50条秘技提高HTML5应用及网站性能

    Jatinder Mann是微软Internet Explorer产品的一名项目经理,在BUILD 2012大会上,他做了题为“提高HTML5应用和网站性能的50条秘技(50 performance ...

  2. CF 463D Gargari and Permutations [dp]

    给出一个长为n的数列的k个排列(1 ≤ n ≤ 1000; 2 ≤ k ≤ 5).求这个k个数列的最长公共子序列的长度 dp[i]=max{dp[j]+1,where j<i 且j,i相应的字符 ...

  3. Kafka 配置说明

    参考地址:http://my.oschina.net/infiniteSpace/blog/312890?p=1 server.properties中所有配置参数说明(解释) broker.id =0 ...

  4. SSIS包部署错误之运行环境设置

    在SQLServer代理处新建了一个job,步骤里面的操作是指向一个SSIS模型包 执行,报错如下 根据报错信息是64bit,于是做出修改如下图 再次执行 OK

  5. javascript获取数组种最大值?

    Array.prototype.max = function () { return Math.max.apply({}, this) } Array.prototype.min = function ...

  6. 【Python】得到当前日期时间

    import time str=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) print(str)

  7. 如何使用Total Recorder录制软件发出的声音

    1 打开Total Recorder的选项,点击系统设置,在弹出的声音选项卡中把Total Recorder扬声器设为默认(选中该项再点击默认,如果第一个扬声器选项还保存着"默认通信设备&q ...

  8. fatal: incorrect checksum in control file

    在网上搜到 7. 修改pg_controlfile的checksum源码, 不check. vi src/backend/access/transam/xlog.c 注释checksum部分     ...

  9. 【Linux】通过SSH修改调整Linux时间和时区

    VPS(Virtual Private Server 虚拟专用服务器)技术,将一部服务器分割成多个虚拟专享服务器的一种服务.大多站长喜欢用美国的VPS,而美国的时间和时区和国内不同,那就需要通过SSH ...

  10. js中移除空白节点

    //移除空白节点,空白节点的类型是3 function removeWhiteNode(node) {     for (var i = 0; i < node.childNodes.lengt ...