`
heji
  • 浏览: 88831 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

一个Android登陆的简单实现

阅读更多
     在公司实习半个月了,上个星期开始接触Android,做了一个很简单的登陆实现。有三个Activity,一个是Login的Activity,一个是正确登陆后的Activity,最后一个是登陆错误后的Activity。其中registerButton没写,因为我还没看android.database这个包,以后我会慢慢的完善它。还有就是检测用户名和密码,用的是最最简陋的equals来判断的,还是因为我没看android.database,呵呵。我现在还是新手,如果哪里有写的不好的,或者是不完善的,请大家多多批评。谢谢大家!下面是全部代码。代码我上传到附件,欢迎下载。

Login.java
package com.heji.login;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class Login extends Activity {
	/** Called when the activity is first created. */
    
	private static Button loginButton;
	private static Button cancelButton;
	private static Button registerButton;
	private static Button exitButton;
    private ButtonListener bl = new ButtonListener();
    
    private EditText et1;
    private EditText et2;
    private Intent intent;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
        
        //添加登陆按钮监听
        loginButton = (Button)findViewById(R.id.login_ok);
        loginButton.setOnClickListener(bl);

        //添加取消按钮监听
        cancelButton = (Button)findViewById(R.id.login_reset);
        cancelButton.setOnClickListener(bl);
      
        //添加注册按钮监听
        registerButton = (Button)findViewById(R.id.register);
        registerButton.setOnClickListener(bl);
       
        //添加退出按钮监听
        exitButton = (Button)findViewById(R.id.exit); 
        exitButton.setOnClickListener(bl);
    }
	 private class ButtonListener implements View.OnClickListener {
			public void onClick(View view) {
				// TODO Auto-generated method stub
				if(view == loginButton) {
					et1 = (EditText)findViewById(R.id.username_info);
					et2 = (EditText)findViewById(R.id.password_info);
					 
					if((et1.getText().toString()).equals("heji") && (et2.getText().toString()).equals("heji")) {
						intent = new Intent();
						
						//用Bundle来传递当前Activity的内容
						Bundle bundle = new Bundle();
						bundle.putString("USERNAME", et1.getText().toString());
						intent.putExtras(bundle);
						
						intent.setClass(Login.this, Information.class);
						
						//启动Activity
						startActivity(intent);
					}else {
	                    intent = new Intent();
						
						intent.setClass(Login.this, ErrorPage.class);
						//启动Activity
						startActivity(intent);
					}
				}else if(view == cancelButton) {
					intent = new Intent();
					//通过Login这个类来启动Login
					intent.setClass(Login.this, Login.class);
					//启动Activity
					startActivity(intent);
				}else if(view == registerButton) {
					
				}else if(view == exitButton) {
				    finish();
				}
			}
     }
}


Information.java(名字取得很不好,见谅)
package com.heji.login;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Information extends Activity {

	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		//显示布局
		this.setContentView(R.layout.information);
		
		TextView tv = (TextView)findViewById(R.id.first_page_info);
		
		//获得从上个页面传过来的数据
		Bundle bundle = this.getIntent().getExtras();
		String str = bundle.getString("USERNAME");
		tv.setText(str);
		
		Button button_back = (Button)findViewById(R.id.back);
		button_back.setOnClickListener(new View.OnClickListener() {
			public void onClick(View view) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				
				//通过Information这个类来启动Login
				intent.setClass(Information.this, Login.class);
				//启动Activity
				startActivity(intent);
			}
		});
	}
}


ErrorPage.java
package com.heji.login;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;



public class ErrorPage extends Activity {

	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		//显示布局
		this.setContentView(R.layout.errorpage);
		
		Button button_back = (Button)findViewById(R.id.errorback);
		button_back.setOnClickListener(new View.OnClickListener() {
			public void onClick(View view) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				
				//通过ErrorPage这个类来启动Login
				intent.setClass(ErrorPage.this, Login.class);
				//启动Activity
				startActivity(intent);
			}
		});
	}
}

下面是布局文件:
login.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/welcome_hello"
    />
    
    <TableRow android:orientation="horizontal"
                  android:layout_width="fill_parent" 
                  android:layout_height="wrap_content">
                  
         <TextView   
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content"
             android:text="@string/username"
         />
         
         <EditText android:id="@+id/username_info"
             android:maxLength="8"
             android:maxLines="1"
             android:layout_weight="1.0"
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content"
             android:text=""
         />
    </TableRow>
    
    <TableRow android:orientation="horizontal"
                  android:layout_width="fill_parent" 
                  android:layout_height="wrap_content">
                  
         <TextView 
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content"
             android:text="@string/password"
         />
         
         <EditText android:id="@+id/password_info"
             android:password="true"
             android:maxLength="10"
             android:maxLines="1"
             android:layout_weight="1.0"
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content"
             android:text=""
         />
    </TableRow>
    
     <LinearLayout android:orientation="horizontal"
                   android:layout_width="fill_parent" 
                   android:layout_height="wrap_content">
                  
           <Button android:id="@+id/login_ok"
                   android:layout_width="fill_parent" 
                   android:layout_height="wrap_content"
                   android:layout_weight="1.0"
                   android:text="@string/login"
           />
           
           <Button android:id="@+id/login_reset"
                   android:layout_width="fill_parent" 
                   android:layout_height="wrap_content"
                   android:layout_weight="1.0"
                   android:text="@string/reset"
           />
    </LinearLayout>
    
     <LinearLayout android:orientation="horizontal"
                   android:layout_width="fill_parent" 
                   android:layout_height="wrap_content">
                  
           <Button android:id="@+id/register"
                   android:layout_width="fill_parent" 
                   android:layout_height="wrap_content"
                   android:layout_weight="1.0"
                   android:text="@string/register"
           />
           <Button android:id="@+id/exit"
                   android:layout_width="fill_parent" 
                   android:layout_height="wrap_content"
                   android:layout_weight="1.0"
                   android:text="@string/exit"
           />
    </LinearLayout>
    
</TableLayout>


information.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/success_info"
    />
    
<TextView  android:id="@+id/first_page_info"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text=""
    />
    
<Button android:id="@+id/back"
          android:layout_width="fill_parent" 
          android:layout_height="wrap_content"
          android:text="@string/back"
  />

</LinearLayout>


errorpage.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/errorpage"
    />
<Button android:id="@+id/errorback"
              android:layout_width="60dip" 
              android:layout_height="wrap_content"
              android:text="@string/error_back"
      />
</LinearLayout>


strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="welcome_hello">Hello,Welcome To Login</string>
    <string name="app_name">Login</string>
    <string name="username">username</string>
    <string name="password">password</string>
    <string name="login">login</string>
    <string name="reset">reset</string>
    <string name="register">register</string>
    <string name="information">congratulation!</string>
    <string name="success_info">Hello Android Developer,You ID Is</string>
    <string name="errorpage">Sorry,You Don't Register,Please By The "BACK" Button To Return The FirstPage,Thank You!!!</string>
    <string name="error_back">BACK</string>
    <string name="back">BACK</string>
    <string name="exit">Exit</string>
</resources>

5
2
分享到:
评论
4 楼 diyisoft 2009-07-01  
记得要更新AndroidManifest.xml这个文件哦
3 楼 william_zhg 2009-03-27  
不错,我现在也是正在学习android呢。如有问题还需解疑呀~~谢谢
2 楼 heji 2009-03-11  
ixfire 写道

顶 不错的啊

谢谢!我上个星期才开始写代码,以前也只是看看API,以后我会更加努力的
1 楼 ixfire 2009-03-11  
顶 不错的啊

相关推荐

    Android的简单记事本实现

    在Android平台上,构建一个简单的记事本应用是一个常见的学习任务,它可以帮助开发者深入理解Android的基础组件和数据存储机制。在这个项目中,我们主要涉及到以下几个关键的技术点: 1. **ListView**:ListView是...

    Android中使用Kotlin实现一个简单的登录界面

    本文将深入探讨如何使用Kotlin构建一个简单的登录界面。首先,我们需要理解Kotlin的基本语法和Android SDK的相关知识。 Kotlin的核心特性包括空安全、类型系统以及函数式编程元素,这些使得代码更加易读且减少了...

    android之利用SQLite实现登陆和注册

    我们通常会创建一个继承自SQLiteOpenHelper的子类,例如名为`DatabaseHelper`的类,来处理数据库的创建、升级和版本管理。在`DatabaseHelper`中,我们定义两个重要的方法:`onCreate()`和`onUpgrade()`。`onCreate()...

    Android studio实现简单的登录跳转源码

    本示例源码着重于演示如何在Android Studio中实现一个简单的登录界面跳转到其他活动(Activity)的过程。我们将深入探讨这个过程涉及的关键知识点。 1. **AndroidManifest.xml**: 这是每个Android应用的核心配置...

    android 实现登陆界面的记住密码源码

    通过以上步骤,我们可以实现一个简单的“记住密码”功能。不过在实际开发中,还需要考虑到用户隐私政策、多设备同步等问题,确保提供安全、可靠的用户体验。这个源码示例虽然简单,但对于初学者来说是一个很好的学习...

    Android GuideView实现首次登陆引导

    总结,Android GuideView是一个强大而灵活的工具,它使得创建首次登陆引导变得简单。通过理解其工作原理和掌握正确的使用方法,开发者可以为用户提供更加友好、引人入胜的入门体验,进一步提升应用的用户满意度。

    Android登陆注册之five

    "Android登陆注册之five"这个项目提供了一些实现这些功能的源代码示例,涵盖了不同的存储方式,包括写死的登录名、使用SharedPreferences以及利用SQLite数据库进行数据持久化。 1. **写死登录名**:这是一种简单的...

    android studio 制作简单微信登录界面

    在Android Studio中制作一个简单的微信登录界面涉及到多个技术层面,包括UI设计、微信SDK集成、权限申请以及网络请求处理等。下面将详细讲解这个过程。 首先,我们需要了解Android Studio IDE的基本操作。Android ...

    Android简单的注册登录页面ecplise开发

    在Android应用开发中,创建一个简单的注册登录页面是基础且重要的功能。Eclipse是一款曾经广泛使用的Android集成开发环境,虽然现在被Android Studio所取代,但许多开发者仍然使用它进行学习和项目开发。在这个教程...

    android studio 第五章课后实践(实现登录界面设计、记住密码操作)

    在Android Studio中,可以通过以下步骤创建一个基本的登录界面: 1. 创建一个新的Activity:在项目中右击“java”或“kotlin”目录,选择“New” -&gt; “Activity” -&gt; “Empty Activity”,然后给新Activity命名,如...

    Android简单的登陆注册

    对于登录信息,通常使用SharedPreferences,这是一个轻量级的数据存储方式,适合保存少量关键信息,如Token。若需要长期存储用户数据,可以使用SQLite数据库。对于敏感信息如密码,建议加密存储,防止被恶意读取。 ...

    Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端)

    以下是一个使用HttpURLConnection的简单示例: ```java public class NetworkTask extends AsyncTask, Void, String&gt; { private String url; private Map, String&gt; params; public NetworkTask(String url, ...

    android登陆Dialog特效

    "android登陆Dialog特效"是一个关于如何在Android应用中实现富有动态效果的登录对话框的技术点。在这个场景下,Dialog不仅作为一个简单的提示窗口,而是通过动画效果呈现出更丰富的交互体验,例如“弹出Dialog框经过...

    android登陆界面

    本项目中,我们关注的是一个简单的Android登录界面,它利用了TableLayout来实现选项卡功能。TableLayout是Android布局系统中的一种,用于组织视图组件(如EditText和Button)成表格形式,便于构建具有清晰结构的UI。...

    加入数据库mysql实现android注册登陆功能的客户端服务器源码与解析

    例如,一个简单的用户表结构可能如下: ```sql CREATE TABLE `users` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `username` VARCHAR(50) UNIQUE NOT NULL, `password_hash` VARCHAR(255) NOT NULL, `email` ...

    android SharedPreference实现登录

    `SharedPreference`是Android提供的一个接口,通过它可以实现持久化的键值对存储。它的主要优点是操作简单,无需创建数据库表,适用于小量数据的存储。在实现登录功能时,我们通常会用它来保存用户的登录状态,以便...

    Android SharedPreferences应用 本地注册登陆

    Android SharedPreferences应用 实现本地注册登陆 功能简单易懂(实例) http://blog.csdn.net/h1028962069/article/details/9129851 文章代码

    android实现登陆(前后台代码都有)

    这个"android实现登陆(前后台代码都有)"的项目提供了一个完整的解决方案,涵盖了客户端(Android应用)和服务器端(Servlet)的交互过程。主要涉及的技术点包括HTTP通信、Servlet处理请求以及Android的网络请求...

Global site tag (gtag.js) - Google Analytics