android10.2

### opdracht 1 ###

Refactor | Rename

- MainActivity.java   > aView.java
- activity_main.xml   > activity_view.xml

Download hier het bestand.
### opdracht 2 ###

public class aView extends AppCompatActivity {
    
    ...

    public void onClick(View view){

        aModel m = new aModel(this);
        aController c = new aController(m);

        EditText username = (EditText)findViewById(R.id.etInlognaam);
        EditText password = (EditText)findViewById(R.id.etWachtwoord);
        String gebruiker = username.getText().toString();
        String ww = password.getText().toString();

        switch(view.getId()) {
            case R.id.registeren:
                c.registreren(m,gebruiker, ww);
                break;
            case R.id.inloggen:
                c.inloggen(m,gebruiker,ww);
                break;
            case R.id.tonen:
                c.tonen(m);
                break;
        }
    }

    ...

}

Download hier het bestand.
### opdracht 3 ###

public class aController {

    aController(aModel m) {}

    public void registreren(aModel m, String Gebruiker, String ww) {
        m.registreren(Gebruiker, ww);
    }

    public void inloggen(aModel m, String Gebruiker, String ww) {
        m.inloggen(Gebruiker, ww);
    }

    public void tonen(aModel m) {
        m.tonen();
    }
}

Download hier het bestand.
### opdracht 4 ###

package com.example.hoofdstuk10;

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

public class aModel {

    SQLiteDatabase gebruikersDB;

    public aModel(Context ctx) {
        gebruikersDB = ctx.openOrCreateDatabase("gebruikersDB", ctx.MODE_PRIVATE, null);
        gebruikersDB.execSQL("CREATE TABLE IF NOT EXISTS gegevens (Inlognaam VARCHAR, Wachtwoord VARCHAR);");
    }

    public void registreren(String gebruiker, String ww) {
        String sql = "INSERT or replace INTO gegevens (Inlognaam, Wachtwoord) VALUES ('" + gebruiker + "', '" + ww + "')";
        gebruikersDB.execSQL(sql);
    }

    public void inloggen(String gebruiker, String ww) {
        String table = "gegevens";
        String[] columnsToReturn = {"Wachtwoord"};
        String selection = "Inlognaam =?";
        String[] selectionArgs = {gebruiker};

        try {
            Cursor cursor = gebruikersDB.query(table, columnsToReturn, selection, selectionArgs,
                    null, null, null);
            cursor.moveToLast();
            String column1 = cursor.getString((0));
            if (column1.equals(ww)) {
                Log.d(gebruiker, " succesvol ingelogd");
            } else {
                Log.d(gebruiker, " niet succesvol ingelogd");
            }
            cursor.close();
        } catch (android.database.CursorIndexOutOfBoundsException e) {
            Log.d(gebruiker, " bestaat waarschijnlijk niet");
        }
    }

    public void tonen() {
        Cursor c = gebruikersDB.rawQuery("SELECT * FROM gegevens", null);

        if (c.getCount() == 0) {
            Log.d("database ", " is leeg");
        } else {
            while (c.moveToNext()) {
                int Column1 = c.getColumnIndex("Inlognaam");
                int Column2 = c.getColumnIndex("Wachtwoord");

                String Name = c.getString(Column1);
                String WW = c.getString(Column2);
                Log.d(Name, WW);
            }
        }
    }
}

Download hier het bestand.