Android 使用sqlite 进行登录注册

import引入的需要改为调用自己jar包

直接上代码

MainActivity.java(即LoginActivity.java)

package com.example.treasure;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import com.example.treasure.MainActivity;import com.example.treasure.MActivity;import com.example.treasure.database.UserService;public class MainActivity extends Activity {private Button enter=null;private Button btnlogin=null;private Button btnregister=null;private EditText username=null;private EditText passtext=null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);  btnlogin = (Button)findViewById(R.id.btnlogin);  btnregister = (Button)findViewById(R.id.btnregister);  username = (EditText)findViewById(R.id.username);  passtext = (EditText)findViewById(R.id.passtext);enter=(Button)findViewById(R.id.enter);    enter.setOnClickListener(listener);    btnlogin.setOnClickListener(listener);    btnregister.setOnClickListener(listener);}private OnClickListener listener=new OnClickListener(){public void onClick(View v){Button btn=(Button)v;switch (btn.getId()){case R.id.enter:Toast.makeText(MainActivity.this, "想要获取更多的实用信息,请注册登录吧", Toast.LENGTH_LONG).show();Intent intent11=new Intent();intent11.setClass(MainActivity.this,Lyb_Activity.class);startActivity(intent11);break;case R.id.btnlogin:String name=username.getText().toString();String pass=passtext.getText().toString();Log.i("TAG",name+"_"+pass);UserService uService=new UserService(MainActivity.this);boolean flag=uService.login(name, pass);if(flag){Log.i("TAG","登录成功");Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_LONG).show();Intent intent15=new Intent();intent15.setClass(MainActivity.this,MActivity.class);startActivity(intent15);}else{Log.i("TAG","登录失败");Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_LONG).show();} break;case R.id.btnregister:Intent intent011=new Intent();intent011.setClass(MainActivity.this,RegisterActivity.class);startActivity(intent011);break;}}};}

RegisterActivity.java

package com.example.treasure;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.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;import com.example.treasure.database.User;import com.example.treasure.database.UserService;public class RegisterActivity extends Activity {EditText username;EditText password;EditText age;RadioGroup sex;Button register;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.register);findViews();register.setOnClickListener(new OnClickListener() {public void onClick(View v) {String name=username.getText().toString().trim();String pass=password.getText().toString().trim();String agestr=age.getText().toString().trim();String sexstr=((RadioButton)RegisterActivity.this.findViewById(sex.getCheckedRadioButtonId())).getText().toString();Log.i("TAG",name+"_"+pass+"_"+agestr+"_"+sexstr);UserService uService=new UserService(RegisterActivity.this);User user=new User();user.setUsername(name);user.setPassword(pass);user.setAge(Integer.parseInt(agestr));user.setSex(sexstr);uService.register(user);Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_LONG).show();}});}private void findViews() {username=(EditText) findViewById(R.id.usernameRegister);password=(EditText) findViewById(R.id.passwordRegister);age=(EditText) findViewById(R.id.ageRegister);sex=(RadioGroup) findViewById(R.id.sexRegister);register=(Button) findViewById(R.id.Register);}}

数据库辅助函数DatabaseHelper.java

package com.example.treasure.database;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;public class DatabaseHelper extends SQLiteOpenHelper {static String name="user.db";static int dbVersion=1;public DatabaseHelper(Context context) {super(context, name, null, dbVersion);}//只在创建的时候用一次public void onCreate(SQLiteDatabase db) {String sql="create table user(id integer primary key autoincrement,username varchar(20),password varchar(20),age integer,sex varchar(2))";db.execSQL(sql);}public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}}
UserService.java

package com.example.treasure.database;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import com.example.treasure.database.User;public class UserService {private DatabaseHelper dbHelper;public UserService(Context context){dbHelper=new DatabaseHelper(context);}//登录用public boolean login(String username,String password){SQLiteDatabase sdb=dbHelper.getReadableDatabase();String sql="select * from user where username=? and password=?";Cursor cursor=sdb.rawQuery(sql, new String[]{username,password});if(cursor.moveToFirst()==true){cursor.close();return true;}return false;}//注册用public boolean register(User user){SQLiteDatabase sdb=dbHelper.getReadableDatabase();String sql="insert into user(username,password,age,sex) values(?,?,?,?)";Object obj[]={user.getUsername(),user.getPassword(),user.getAge(),user.getSex()};sdb.execSQL(sql, obj);return true;}}

User.java

package com.example.treasure.database;import java.io.Serializable;public class User implements Serializable{private int id;private String username;private String password;private int age;private String sex;public User() {super();// TODO Auto-generated constructor stub}public User(String username, String password, int age, String sex) {super();this.username = username;this.password = password;this.age = age;this.sex = sex;}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 int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}@Overridepublic String toString() {return "User [id=" + id + ", username=" + username + ", password="+ password + ", age=" + age + ", sex=" + sex + "]";}}

UserTest.java

package com.example.treasure.database;import android.test.AndroidTestCase;import android.util.Log;import com.example.treasure.database.User;import com.example.treasure.database.DatabaseHelper;import com.example.treasure.database.UserService;public class UserTest extends AndroidTestCase {public void datatest() throws Throwable{DatabaseHelper dbhepler=new DatabaseHelper(this.getContext());dbhepler.getReadableDatabase();}//注册public void registerTest() throws Throwable{UserService uService=new UserService(this.getContext());User user=new User();user.setUsername("renhaili");user.setPassword("123");user.setAge(20);user.setSex("女");uService.register(user);}public void loginTest() throws Throwable{UserService uService=new UserService(this.getContext());String username="renhaili";String password="123";boolean flag=uService.login(username, password);if(flag){Log.i("TAG","登录成功");}else{Log.i("TAG","登录失败");}}}
main.xml(即login.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"     android:background="@drawable/background">     <TextView         android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="treasure\n\n"        android:id="@+id/title"        android:textSize="25sp"        android:gravity="center"/>     <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="用户:"        android:layout_marginBottom="25dp"        android:id="@+id/user"        android:layout_toLeftOf="@+id/passtext"        android:layout_below="@id/title"/>    <EditText        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/username"        android:layout_alignBottom="@id/user"        android:layout_toRightOf="@id/user"        android:hint="username"/>    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="密码:"        android:id="@+id/pass"        android:layout_alignBottom="@id/passtext"/>    <EditText        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/passtext"        android:layout_below="@id/username"        android:layout_toRightOf="@id/pass"        android:hint="password"/>    <TextView         android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="\n"        android:id="@+id/title1"        android:textSize="25sp"        android:gravity="center"        android:layout_below="@id/passtext"/>    <Button         android:layout_height="wrap_content"        android:layout_width="fill_parent"        android:id="@+id/btnlogin"        android:background="#FF0000"        android:layout_below="@id/title1"        android:layout_marginBottom="30dp"        android:text="登录"        android:layout_centerHorizontal="true"/>    <Button         android:layout_height="wrap_content"        android:layout_width="wrap_content"        android:id="@+id/enter"        android:layout_below="@id/btnlogin"        android:text="游客入口"        android:textColor="#FF0000"        android:layout_marginLeft="80dp"/>    <Button         android:layout_height="wrap_content"        android:layout_width="wrap_content"        android:id="@+id/btnregister"        android:layout_below="@id/btnlogin"        android:text="注册"        android:textColor="#FF0000"        android:layout_toRightOf="@id/enter"/>    </RelativeLayout>

register.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:gravity="center"        android:text="欢迎进入注册界面!"        android:textSize="30dp"        android:textStyle="bold" />    <TableLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:stretchColumns="1" >        <TableRow >            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:text="用户名:" />            <EditText                android:id="@+id/usernameRegister"                android:layout_width="fill_parent"                android:layout_height="wrap_content"                android:hint="请输入用户名!!!" />        </TableRow>        <TableRow >            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:text="密码:" />            <EditText                android:id="@+id/passwordRegister"                android:layout_width="fill_parent"                android:layout_height="wrap_content"                android:hint="请输入密码!!!" />        </TableRow>        <TableRow >            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:text="年龄:" />            <EditText                android:id="@+id/ageRegister"                android:layout_width="fill_parent"                android:layout_height="wrap_content"                android:hint="请输入年龄!!!" />        </TableRow>        <TableRow >            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:text="性别:"                android:textSize="20dp" />            <RadioGroup                android:id="@+id/sexRegister"                android:layout_width="fill_parent"                android:layout_height="wrap_content"                android:checkedButton="@+id/woman"                android:orientation="horizontal" >                <RadioButton                    android:id="@+id/nan"                    android:text="男" />                <RadioButton                    android:id="@id/woman"                    android:text="女" />            </RadioGroup>        </TableRow>        <TableRow >            <TextView />            <LinearLayout >                <Button                    android:id="@+id/Register"                    android:layout_width="150dp"                    android:layout_height="wrap_content"                    android:text="注册" />            </LinearLayout>        </TableRow>    </TableLayout></LinearLayout>




更多相关文章

  1. android实现九宫格程序
  2. Android(安卓)密码的隐藏和显示
  3. android apk包签名和align
  4. Android(安卓)实现仿支付宝的密码均分输入框
  5. Android介绍如何生成keystore 文件并使用
  6. Android(安卓)Debug keystore及通过Android(安卓)Studio编译器获
  7. Android客户端向服务器端传值——登录实现(一)
  8. Android(安卓)利用命令生成keystore文件
  9. android之实现注册功能

随机推荐

  1. manifest中的 android:name
  2. android 图片双缓存,开源框架 universali
  3. 如何检查后台服务(Android的Service类)是否
  4. Android(安卓)webkit 事件传递流程
  5. Android游戏引擎Rokon宣布停止更新
  6. Android使用WebView和JS互相调用
  7. Android(安卓)Broadcast receiver 编程
  8. Android监测手指上下左右滑动屏幕
  9. Android中如何获得一些系统设置和环境变
  10. android IPC及原理简介