activity中的布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".LoginActivity"
android:orientation="vertical"
android:background="#fff">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="60dp"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_marginLeft="0dp"
android:layout_marginTop="0dp"
android:background="#4173A8"
android:orientation="horizontal" >
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="60dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:text="登录界面"
android:textColor="#FFFFFF"
android:textSize="25sp" />
</FrameLayout>
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:background="@drawable/book_1"
android:layout_gravity="center_vertical|center_horizontal"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:orientation="horizontal">
<TextView
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:text="用户名:" />
<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="@drawable/edittext_border"
android:drawableLeft="@drawable/user1"
android:singleLine="true"
android:ems="10"
android:hint="请输入用户名" />
<requestFocus />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="15dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">
<TextView
android:id="@+id/t2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:text="密 码:" />
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="30dp"
android:drawableLeft="@drawable/suo"
android:ems="10"
android:singleLine="true"
android:hint="请输入密码"
android:background="@drawable/edittext_border"
android:inputType="textPassword" >
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_gravity="center"
android:orientation="vertical"
>
<Button
android:id="@+id/button"
android:layout_width="150dp"
android:layout_height="35dp"
android:textColor="#FFFFFF"
android:background="@drawable/button"
android:text="登录"
/>
</LinearLayout>
</LinearLayout>
activity中的java代码:
package com.example.login;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class LoginActivity extends Activity {
private EditText username = null;
private EditText password = null;
private Button login = null;
private SharedPreferences sharedPreferences;
//初始化控件
public void init(){
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
login = (Button) findViewById(R.id.button);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);// 显示自己的UI视图
//初始化控件
init();
//调用验证是否第一次登录方法
userUpdate();
// 调用登录验证方法
loginVerify();
}
//判断是否第一次登录 初始化用户名密码
public void userUpdate(){
//读取文件内容
sharedPreferences=getSharedPreferences("myfile", MODE_PRIVATE);
//读取数据
String susername=sharedPreferences.getString("username", "");
String spwd=sharedPreferences.getString("pwd", "");
//第一次进入程序读取用户名密码为空,则写入初始化数据并提示用户
if (susername.equals("")&&spwd.equals("")) {
//写入数据
SharedPreferences.Editor editor=sharedPreferences.edit();
editor.putString("username", "admin");
editor.putString("pwd", "123456");
//提交数据
editor.commit();
Toast.makeText(LoginActivity.this, "初始化用户名admin 密码 123456",
Toast.LENGTH_LONG).show();
}
}
// 登录验证
public void loginVerify() {
// 点击登录按钮所发生的事件。(1、验证合法 2、验证不合法)
login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 定义变量
String strUsername, strPassword;
// 得到输入框内容
strUsername = username.getText().toString();
strPassword = password.getText().toString();
//读取文件内容得到用户名密码
sharedPreferences=getSharedPreferences("myfile", MODE_PRIVATE);
//读取数据
String susername=sharedPreferences.getString("username", "");
String spwd=sharedPreferences.getString("pwd", "");
// 登录校验
if (strUsername.equals(susername) && strPassword.equals(spwd)) {
// 登录成功后提示
Toast.makeText(LoginActivity.this, "登陆成功!",
Toast.LENGTH_SHORT).show();
// 登陆成功后切换到MainActivity.class
Intent intent = new Intent(LoginActivity.this,
MaActivity.class);
// 启动
startActivity(intent);
// 登录成功后销毁登录界面
finish();
} else {
Toast.makeText(LoginActivity.this, "登陆登录失败!",
Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}