android之SQLite的使用实现登陆注册功能。

首先项目结构图:

android之SQLite的使用实现登陆注册功能。

接下来布局:

(1)activit_main.xml

<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="用户登录" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="38dp"
        android:text="用户名:" />

    <EditText
        android:id="@+id/username"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView2"
        android:layout_toRightOf="@+id/textView2"
        android:ems="10" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="36dp"
        android:text="密码:" />

    <EditText
        android:id="@+id/password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView3"
        android:layout_alignLeft="@+id/username"
        android:ems="10" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/password"
        android:layout_below="@+id/password"
        android:layout_marginLeft="24dp"
        android:layout_marginTop="36dp"
        android:text="登录" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/button1"
        android:layout_marginLeft="20dp"
        android:layout_toRightOf="@+id/button1"
        android:text="注册" />

</RelativeLayout>

(2) activity_register.xml

<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="用户注册" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="38dp"
        android:text="用户名:" />

    <EditText
        android:id="@+id/username"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView2"
        android:layout_toRightOf="@+id/textView2"
        android:ems="10" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="36dp"
        android:text="密码:" />

    <EditText
        android:id="@+id/password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView3"
        android:layout_alignLeft="@+id/username"
        android:ems="10" />

    <Button
        android:id="@+id/register"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/password"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="118dp"
        android:text="注册" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView3"
        android:layout_below="@+id/textView3"
        android:layout_marginTop="35dp"
        android:text="性别:" />

    <EditText
        android:id="@+id/sex"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView4"
        android:layout_alignLeft="@+id/password"
        android:ems="10" >
    </EditText>

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView4"
        android:layout_centerVertical="true"
        android:text="年龄:" />

    <EditText
        android:id="@+id/age"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/textView2"
        android:ems="10" />

</RelativeLayout>

下来是java代码:

(1)User.java

package com.lihua.domain;

/**
 * 实体类
 * @author Lihua
 *
 */
public class User {

    private int id;
    private String username;
    private String password;
    private String sex;
    private int age;

    public User() {
        super();
    }

    public User(int id, String username, String password, String sex, int age) {
        super();
        this.id = id;
        this.username = username;
        this.password = password;
        this.sex = sex;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

(2)DbHelper.java

package com.lihua.tools;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DbHelper extends SQLiteOpenHelper {

    private final static String NAME = "user.db";
    private final static int VERSION = 1;

    public DbHelper(Context context) {
        super(context, NAME, null, VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

        String sql = "create table user (id integer primary key autoincrement,username varchar(64),password varchar(64),sex varchar(64),age integer)";
        db.execSQL(sql);

    }

    @Override
    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {

    }

}

(3)UserService.java

package com.lihua.service;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.lihua.domain.User;
import com.lihua.tools.DbHelper;

/**
 * 服务类
 * @author student
 * 
 */
public class UserService {

    private DbHelper dbHelper;

    public UserService(Context context) {
        dbHelper = new DbHelper(context);
    }

    /**
     * 用户登录
     * 
     * @param username
     * @param password
     * @return
     */
    public boolean Login(String username, String password) {
        SQLiteDatabase sqLiteDatabase = dbHelper.getReadableDatabase();
        String sql = "select * from user where username = ? and password = ? ";
        Cursor rawQuery = sqLiteDatabase.rawQuery(sql, new String[] { username,
                password });
        if (rawQuery.moveToFirst() == true) {
            rawQuery.close();
            return true;
        }
        return false;
    }

    /**
     * 用户注册
     * 
     * @param user
     * @return
     */

    public boolean Register(User user) {
        SQLiteDatabase sqLiteDatabase = dbHelper.getReadableDatabase();
        String sql = "insert into user (username,password,sex,age) values (?,?,?,?)";
        Object obj[] = { user.getUsername(), user.getPassword(), user.getSex(),
                user.getAge() };
        sqLiteDatabase.execSQL(sql, obj);
        return true;
    }

}

(4)MainActivity.java

package com.lihua.activity;

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

import com.example.gj.R;
import com.lihua.service.UserService;

/**
 * 入口
 * 
 * @author Lihua
 * 
 */
public class MainActivity extends Activity {

    // 分别为用户名和密码
    private EditText mUsername;
    private EditText mPassword;
    // 分别为登陆和注册按钮
    private Button mLogin;
    private Button mRegister;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mUsername = (EditText) findViewById(R.id.username);
        mPassword = (EditText) findViewById(R.id.password);

        mLogin = (Button) findViewById(R.id.button1);
        mRegister = (Button) findViewById(R.id.button2);

        // 登陆
        mLogin.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                String userName = mUsername.getText().toString().trim();
                String passWord = mPassword.getText().toString().trim();

                UserService userService = new UserService(MainActivity.this);

                boolean flag = userService.Login(userName, passWord);
                if (flag) {
                    Toast.makeText(MainActivity.this, "登录成功!",
                            Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "登录失败!",
                            Toast.LENGTH_SHORT).show();
                }

            }
        });

        // 注册
        mRegister.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Intent intent = new Intent();
                intent.setClass(MainActivity.this, RegisterActivity.class);
                startActivity(intent);
            }
        });

    }

}

(5)RegisterActivity.java

package com.lihua.activity;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.gj.R;
import com.lihua.domain.User;
import com.lihua.service.UserService;

/**
 * 注册类
 * @author Lihua
 *
 */
public class RegisterActivity extends Activity {
    
    private EditText mUsername;
    private EditText mPassword;
    private EditText mSex;
    private EditText mAge;
    
    private Button mRegister;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
    
        mUsername = (EditText)findViewById(R.id.username);
        mPassword = (EditText)findViewById(R.id.password);
        mSex = (EditText)findViewById(R.id.sex);
        mAge = (EditText)findViewById(R.id.age);
        
        mRegister = (Button)findViewById(R.id.register);
        
        mRegister.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {

                String userName = mUsername.getText().toString().trim();
                String passWord = mPassword.getText().toString().trim();
                String Sex = mSex.getText().toString().trim();
                int Age = Integer.parseInt(mAge.getText().toString().trim());
                
                Log.i("TAG", userName);
                Log.i("TAG", passWord);
                Log.i("TAG", Sex);
                
                User user = new User();
                user.setUsername(userName);
                user.setPassword(passWord);
                user.setSex(Sex);
                user.setAge(Age);
                
                System.out.println(user.getUsername());
                System.out.println(user.getPassword());
                System.out.println(user.getSex());
                System.out.println(user.getAge());
                
                UserService userService = new UserService(getBaseContext());
                boolean flag = userService.Register(user);
                if (flag) {
                    Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(RegisterActivity.this, "注册失败", Toast.LENGTH_SHORT).show();
                }
                
            }
        });
        
    }
}

Activity注册:

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.gj"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.lihua.activity.MainActivity"
            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="com.lihua.activity.RegisterActivity" >
        </activity>
    </application>

</manifest>


效果图:

(1)登陆界面:

android之SQLite的使用实现登陆注册功能。

(2)注册界面:

android之SQLite的使用实现登陆注册功能。

源码下载:http://pan.baidu.com/s/1jG5MIxS


你可能感兴趣的:(sqlite)