使用LitePal实现数据库的登录和注册

数据库的第三方框架有很多,在这里我采用郭霖大神推荐的LitePal框架,实现一个简单的登录注册的Demo。首先在这里我们把实现的逻辑理顺一下,我们在注册的时候连接数据库,并将注册的信息存放到数据库里面,然后登陆的时候进行查询判断,就可以实现简单的登录了。在这里不熟悉LitePal框架的可以在下方给我留言。

首先我们思考一下登录注册需要实现那些代码,首先应该是登录时的登录界面,注册时的界面,以及登陆成功后,看到的界面,总共三个界面,所以在这里我们需要的JAVA代码,其中Login是我们登录时候的界面,Logutil是我们自定义的输出日志,MainActivity是我们登陆成功后的界面,MyApplication是我们自定义的Application,这个是要在manifest里面进行注册的,person是我们定义的存入数据库的时候的数据属性,Registe是我们注册的时候的界面,说了这么多了,我们来看看源代码了。

这个是Login代码块

package com.example.cshaoshao.litepalbase;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Toast;

import org.litepal.crud.DataSupport;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Created by cshaoshao on 2017/6/12.
 */

public class Login extends AppCompatActivity implements View.OnClickListener {
    private EditText et_user,et_password;
    private ImageButton login,registe;
    private List<Person>list=new ArrayList<>();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.loginview);
        login= (ImageButton) findViewById(R.id.denglu);
        registe= (ImageButton) findViewById(R.id.zhuce);
        et_user= (EditText) findViewById(R.id.zhanghao);
        et_password= (EditText) findViewById(R.id.mima);
        login.setOnClickListener(this);
        registe.setOnClickListener(this);
    }
    @Override
    public void onClick(View v)
    {
        String user=et_user.getText().toString();
        String password=et_password.getText().toString();
        switch (v.getId())
        {
            case R.id.zhuce:
                Intent intent=new Intent(Login.this,Registe.class);
                startActivity(intent);
                break;
            case R.id.denglu:
                list= DataSupport.findAll(Person.class);
                Iterator<Person>it=list.iterator();
                for (Person p:list)
                {
                    if(p.getName().equals(user)&&p.getPassword().equals(password))
                    {
                        Intent intent1=new Intent(Login.this,MainActivity.class);
                        startActivity(intent1);
                        Toast.makeText(this,"登录成功",Toast.LENGTH_SHORT).show();
                        break;
                    }
                    else
                    {
                        Toast.makeText(this,"登录失败",Toast.LENGTH_SHORT).show();
                    }
                }
                break;
            default:
                break;
        }
    }
}
person代码块:

package com.example.cshaoshao.litepalbase;

import org.litepal.crud.DataSupport;

/**
 * Created by cshaoshao on 2017/6/13.
 */

public class Person extends DataSupport
{
    private int id;
    private String name;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

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

Regist代码块:

package com.example.cshaoshao.litepalbase;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import org.litepal.tablemanager.Connector;

/**
 * Created by cshaoshao on 2017/6/13.
 */
public class Registe  extends AppCompatActivity
{
    private EditText account,password;
    private Button save;
    private String username,userpassword;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.registeview);
        account= (EditText) findViewById(R.id.account);
        password= (EditText) findViewById(R.id.password);
        save= (Button) findViewById(R.id.save);
        Connector.getDatabase();
        save.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                Person person=new Person();
                person.setName(account.getText().toString());
                person.setPassword(password.getText().toString());
                person.save();
                Toast.makeText(Registe.this,"注册成功",Toast.LENGTH_SHORT).show();
                Intent intent=new Intent(Registe.this,Login.class);
                startActivity(intent);
            }
        });

    }
}

MyApplication代码块:

package com.example.cshaoshao.litepalbase;

import android.app.Application;

import org.litepal.LitePal;

/**
 * Created by cshaoshao on 2017/6/12.
 */

public class MyApplication extends Application
{
    @Override
    
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值