ContentProvider实现登录注册

版权声明:叮叮叮!!!! https://blog.csdn.net/Xuexx_520/article/details/83343943

新建两个项目,第一个项目里

首先创建数据库和表

package com.example.xxx.day18_sqlite;

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

public class MHelper extends SQLiteOpenHelper {
    public MHelper(Context context) {
        super(context,"mydb", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table user (id integer primary key autoincrement,zh text,mm text)");

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}
package com.example.xxx.day18_sqlite;

import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.support.annotation.Nullable;

public class MProvider extends ContentProvider {
    SQLiteDatabase db;
    MHelper helper;
    static {
        UriMatcher uriMatcher=new UriMatcher(UriMatcher.NO_MATCH);
        uriMatcher.addURI("com.xxx","user",100);
    }



    @Override
    public boolean onCreate() {
        helper=new MHelper(getContext());
        db=helper.getReadableDatabase();
        return false;
    }


    @Nullable
    @Override
    public Cursor query(Uri uri, String[] projection,String selection,String[] selectionArgs,String sortOrder) {
        return db.query("user",null,null,null,null,null,null);
    }


    @Nullable
    @Override
    public String getType(Uri uri) {
        return null;
    }

    @Nullable
    @Override
    public Uri insert(Uri uri,ContentValues values) {
        db.insert("user",null,values);
        return uri;
    }

    @Override
    public int delete(Uri uri,String selection,String[] selectionArgs) {
        return 0;
    }

    @Override
    public int update(Uri uri,ContentValues values,String selection,String[] selectionArgs) {
        return 0;
    }
}

注意:在清单文件注册

 <provider
            android:authorities="com.xxx"
            android:name="com.example.xxx.day18_sqlite.MProvider"
            android:exported="true">
            
        </provider>

在第二个项目里

点击注册跳转到注册页面Main2Activity

点击登录若登录成功跳转到Main3Activity

Mainactivity

package com.example.xxx.day18_sqlite2;

import android.content.ContentResolver;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.xxx.day18_sqlite2.activity.Main2Activity;
import com.example.xxx.day18_sqlite2.activity.Main3Activity;

public class MainActivity extends AppCompatActivity {
    private EditText zh;
    private EditText mm;
    private Button denglu;
    private Button zhuce;
    ContentResolver resolver;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();
        setonclick();
    }

    private void setonclick() {
        //注册
        zhuce.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent in=new Intent(MainActivity.this,Main2Activity.class);

                startActivity(in);
            }
        });
        //登录
        denglu.setOnClickListener(new View.OnClickListener() {

            private String zh1;
            private String mm1;

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Uri uri=Uri.parse("content://com.xxx/user");
                resolver=getContentResolver();
                Cursor cursor = resolver.query(uri, null, null, null, null);
                while(cursor.moveToNext()){
                    zh1 = cursor.getString(cursor.getColumnIndex("zh"));
                    mm1= cursor.getString(cursor.getColumnIndex("mm"));
                    Log.e("xxx", zh1+mm1 );

                    if(zh1.equals(zh.getText().toString())&&mm1.equals(mm.getText().toString())){
                        Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_SHORT).show();
                        Intent in=new Intent(MainActivity.this,Main3Activity.class);

                        startActivity(in);

                    }else{
                        Toast.makeText(MainActivity.this, "账号或者密码错误", Toast.LENGTH_SHORT).show();

                    }

                }

            }
        });
    }

    private void initView() {
        zh = findViewById(R.id.zh);
        mm = findViewById(R.id.mm);
        denglu = findViewById(R.id.denglu);
        zhuce = findViewById(R.id.zhuce);
    }
}

Main2Activity

注册页面

package com.example.xxx.day18_sqlite2.activity;

import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Intent;
import android.net.Uri;
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 com.example.xxx.day18_sqlite2.MainActivity;
import com.example.xxx.day18_sqlite2.R;

public class Main2Activity extends AppCompatActivity {
    private EditText zh;
    private EditText mm;
    private EditText twomm;
    private Button zhuce;
    ContentResolver resolver;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
       initView();
       zhuce.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               String name1=zh.getText().toString();
               String pwd1=mm.getText().toString();
               String pwd2=twomm.getText().toString();
               if(name1.equals("")||pwd1.equals("")||pwd2.equals("")){
                   Toast.makeText(Main2Activity.this, "有没写的值", Toast.LENGTH_SHORT).show();
               }
               if(pwd1.equals(pwd2)){
                   //放入content
                   reselover(name1,pwd1);
                   Toast.makeText(Main2Activity.this, "注册成功", Toast.LENGTH_SHORT).show();
                   Intent in=new Intent(Main2Activity.this,MainActivity.class);
                   startActivity(in);
               }else{
                   Toast.makeText(Main2Activity.this, "密码与确认密码不符", Toast.LENGTH_SHORT).show();
               }
           }
       });
    }

    private void reselover(String zh,String mm) {
        Uri uri=Uri.parse("content://com.xxx/user");
        resolver=getContentResolver();
            ContentValues cv=new ContentValues();
            cv.put("zh",zh);
            cv.put("mm",mm);
            resolver.insert(uri, cv);
      /*  Cursor cursor = resolver.query(uri, null, null, null, null);
        while(cursor.moveToNext()){
            String zh1 = cursor.getString(cursor.getColumnIndex("zh"));
            String mm1= cursor.getString(cursor.getColumnIndex("mm"));
            Log.e("xxx", zh1+mm1 );
        }*/

    }

    private void initView() {
        zh = (EditText) findViewById(R.id.zh);
        mm = (EditText) findViewById(R.id.mm);
        twomm= (EditText) findViewById(R.id.twomm);
        zhuce = (Button) findViewById(R.id.zhuce);
    }

}

猜你喜欢

转载自blog.csdn.net/Xuexx_520/article/details/83343943
今日推荐