как правильно получить sqlite соединение? - PullRequest
0 голосов
/ 14 октября 2018

Если вы можете проверить код и исправить ошибки в этом коде

Home.java

package com.;

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

public class Home extends AppCompatActivity {


    EditText username_editText;
    EditText password_editText;
    Button loginbtn;
    Button registerbtn;

    public static final String USERID = "userID";

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

        username_editText = (EditText)findViewById(R.id.home_userName);
        password_editText = (EditText)findViewById(R.id.home_password);
        loginbtn = (Button)findViewById(R.id.home_loginBtn);
        registerbtn = (Button)findViewById(R.id.home_registerBtn);
        final DBHandler dbHandler = new DBHandler(Home.this);

        registerbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Intent intent = new Intent("com.modelpaper.mad.it17121002.ProfileManagement");
                startActivity(intent);
        }
    });

    loginbtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String userName = username_editText.getText().toString();
            String password = password_editText.getText().toString();

           if(userName.equals("") || password.equals("")){
               Toast.makeText(Home.this,"Login Unsuccessful",Toast.LENGTH_SHORT).show();
           }
           else{
               UserProfile.Users users = dbHandler.readAllInfor(userName);

               if(users == null){
                   Toast.makeText(Home.this,"Invalid username or password",Toast.LENGTH_SHORT).show();
               }

               else{
                   int userID = users.getId();
                   Intent editProfIntent = new Intent("com.modelpaper.mad.it17121002.EditProfile");
                   editProfIntent.putExtra(USERID,Integer.toString(userID));
                   startActivity(editProfIntent);

               }
           }
        }
    });
}

Я думаю, что есть ошибка в классе БД, я могуне найден этот error.app сбой БД не создан.пожалуйста, попытайтесь понять это

DBHandler.java

package com.;

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

import java.util.ArrayList;

public class DBHandler extends SQLiteOpenHelper {

    public DBHandler(Context context) {
        super(context, "user_db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

        String createQuery = "CREATE TABLE "+UserProfile.Users.TABLE_NAME +"( "+UserProfile.Users.COL_ID +" INTEGER PRIMARY KEY AUTOINCREMENT ,"+UserProfile.Users.COL_USERNAME+" TEXT UNIQUE," +
            UserProfile.Users.COL_PASSWORD +" TEXT, "+UserProfile.Users.COL_GENDER +" TEXT, "+UserProfile.Users.COL_DOB +" TEXT"+")";

        Log.d("createQuery",createQuery);

        try {
            db.execSQL(createQuery);
        }
        catch (Exception e){
            e.printStackTrace();
            Log.e("Exception",e.getMessage());
        }

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i1) {

        String createQuery = "CREATE TABLE "+UserProfile.Users.TABLE_NAME +"( "+UserProfile.Users.COL_ID +" INTEGER PRIMARY KEY AUTOINCREMENT ,"+UserProfile.Users.COL_USERNAME+" TEXT," +
            UserProfile.Users.COL_PASSWORD +" TEXT, "+UserProfile.Users.COL_GENDER +" TEXT, "+UserProfile.Users.COL_DOB+" TEXT"+")";

        Log.d("createQuery",createQuery);

        try {
            db.execSQL(createQuery);
        }
        catch (Exception e){
            e.printStackTrace();
            Log.e("Exception",e.getMessage());
        }

    }

    public boolean addInfo(UserProfile.Users users){

        SQLiteDatabase db = this.getWritableDatabase();

        String insertQuery = "INSERT INTO "+UserProfile.Users.TABLE_NAME+"("+UserProfile.Users.COL_USERNAME+","+UserProfile.Users.COL_PASSWORD+","+UserProfile.Users.COL_GENDER+","+
            UserProfile.Users.COL_DOB+") VALUES('"+users.getUsername()+"','"+users.getPassword()+"','"+users.getGender()+"','"+users.getDob()+"')";

        Log.d("insertQuery",insertQuery);

        try {
            db.execSQL(insertQuery);
            return true;
        }
        catch (Exception e){
             e.printStackTrace();
             Log.d("Exception",e.getMessage());
        }

        db.close();
        return false;
    }

    public boolean updateInfor(UserProfile.Users users){

        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();

        String username = users.getUsername();
        String password = users.getPassword();
        String dob = users.getDob();
        String gender = users.getGender();
        int id = users.getId();
        values.put(UserProfile.Users.COL_DOB,dob);
        values.put(UserProfile.Users.COL_GENDER,gender);
        values.put(UserProfile.Users.COL_PASSWORD,password);
        values.put(UserProfile.Users.COL_USERNAME,username);

        int result = db.update(UserProfile.Users.TABLE_NAME,values,UserProfile.Users.COL_ID+" = ?",new String[]{String.valueOf(id)});

        if(result >0)
            return true;

        return false;
    }


    public ArrayList<UserProfile.Users> readAllInfor(){

        ArrayList<UserProfile.Users> userList = new ArrayList<>();

        SQLiteDatabase db = this.getWritableDatabase();

        String readAllQuery = "SELECT * FROM "+UserProfile.Users.TABLE_NAME;

        Cursor cursor = db.rawQuery(readAllQuery,null);

        if(cursor.moveToFirst()){
            do{
                UserProfile.Users users = UserProfile.getProfile().getUser();

                users.setId(Integer.parseInt(cursor.getString(0)));
                users.setUsername(cursor.getString(1));
                users.setPassword(cursor.getString(2));
                users.setGender(cursor.getString(3));
                users.setDob(cursor.getString(4));

                userList.add(users);

            } while (cursor.moveToNext());
        }

        return userList;

    }

    public UserProfile.Users readAllInfor(String userName){

        SQLiteDatabase db = this.getWritableDatabase();

        String readSingleQuery = "SELECT * FROM "+ UserProfile.Users.TABLE_NAME+" WHERE "+ UserProfile.Users.COL_USERNAME + " =  '"+ userName+"'";

        Cursor cursor = db.rawQuery(readSingleQuery,null);

        if(cursor.moveToFirst()){

            UserProfile.Users users = UserProfile.getProfile().getUser();

            users.setId(Integer.parseInt(cursor.getString(0)));
            users.setUsername(cursor.getString(1));
            users.setPassword(cursor.getString(2));
            users.setGender(cursor.getString(3));
            users.setDob(cursor.getString(4));

            return users;
        }

       return null;
    }

    public UserProfile.Users readAllInfor(int id){

        SQLiteDatabase db = this.getWritableDatabase();

        String readSingleQuery = "SELECT * FROM "+ UserProfile.Users.TABLE_NAME+" WHERE "+ UserProfile.Users.COL_ID + " =  '"+ id+"'";

        Cursor cursor = db.rawQuery(readSingleQuery,null);

        if(cursor.moveToFirst()){

            UserProfile.Users users = UserProfile.getProfile().getUser();

            users.setId(Integer.parseInt(cursor.getString(0)));
            users.setUsername(cursor.getString(1));
            users.setPassword(cursor.getString(2));
            users.setGender(cursor.getString(3));
            users.setDob(cursor.getString(4));

            return users;
        }

        return null;
    }



    public void deleteInfo(String username){

        SQLiteDatabase db = this.getWritableDatabase();

        String deleteQuery = "DELETE FROM "+ UserProfile.Users.TABLE_NAME+" WHERE "+ UserProfile.Users.COL_USERNAME +" = '"+ username +"' ";
        Log.d("deleteQuery ",deleteQuery);
        db.execSQL(deleteQuery);
        db.close();
    }
}

Я проверил это и не смог найти решение для его решения.Это класс профиля пользователя для обработки профилей пользователей.

UserProfile.java

package com.modelpaper.mad.it17121002;

public final class UserProfile {

    private UserProfile(){

    }

    public static UserProfile getProfile(){

        UserProfile userProfile = new UserProfile();
        return userProfile;
    }
    class Users implements BaseColumn{

        public static final String TABLE_NAME = "UserInfo";
        public static final String COL_ID = "_ID";
        public static final String COL_USERNAME  = "userName ";
        public static final String COL_DOB = "dateOfBirth";
        public static final String COL_GENDER = "Gender";
        public static final String COL_PASSWORD = "Password";


        //displya karana ona variable tika
        private int id;
        private String username;
        private String dob;
        private String gender;
        private String password;


        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 getDob() {
            return dob;
        }

        public void setDob(String dob) {
            this.dob = dob;
        }

        public String getGender() {
            return gender;
        }

        public void setGender(String gender) {
            this.gender = gender;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }
    }
    //hethuwa-wena thanaka class ekaka wena wenama varible cll krnnaq ona unoth
    public Users getUser(){
        Users users = new Users();

        return users;
    }
}

Это класс редактирования профиля, у меня есть сомнения относительно этого класса.

EditProfile.java

 package com.;

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

 public class EditProfile extends AppCompatActivity {

    Button searchBtn;
    EditText userName_editText;
    EditText password_editText;
    EditText dob_editText;
    RadioGroup genderRadioGroup;
    RadioButton genderRadioBtn;

    //new Edit
    RadioButton genderRadioBtnMale;
    RadioButton genderRadioBtnFemale;

    Button editBtn;
    Button deleteBtn;
    Intent intent;
    DBHandler dbHandler;

    public static final String USERID_EDITPROFILE = "userID";

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

        searchBtn = (Button)findViewById(R.id.editprof_searchbtn);
        userName_editText = (EditText)findViewById(R.id.editprof_userName);
        password_editText = (EditText)findViewById(R.id.editprof_password);
        dob_editText = (EditText)findViewById(R.id.editprof_dob);
        genderRadioGroup = (RadioGroup)findViewById(R.id.editprof_radiogroup);
        editBtn = (Button)findViewById(R.id.editprof_editbtn);
        deleteBtn = (Button)findViewById(R.id.editprof_deletebtn);


        //new edit
        genderRadioBtnMale = (RadioButton) findViewById(R.id.editprof_male_radio);
        genderRadioBtnFemale = (RadioButton) findViewById(R.id.editprof_female_radio);

        intent = getIntent();


        dbHandler = new DBHandler(EditProfile.this);

        setUserDetails();

        deleteBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String username = userName_editText.getText().toString();

                if(username == null){
                    Toast.makeText(EditProfile.this,"Please enter username to delete your profile",Toast.LENGTH_SHORT).show();
                }
                else{
                    UserProfile.Users users = dbHandler.readAllInfor(username);

                    if(users == null){
                        Toast.makeText(EditProfile.this,"No profile found from this username, please enter valid username",Toast.LENGTH_SHORT).show();
                    }
                    else{
                        dbHandler.deleteInfo(username);
                        Intent redirectintent_home = new Intent(EditProfile.this,Home.class);
                        startActivity(redirectintent_home);
                    }
                }
            }
        });

        editBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String userID_String = intent.getStringExtra(Home.USERID);
                if(userID_String == null){

Toast.makeText(EditProfile.this,"Error!!",Toast.LENGTH_SHORT).show();
                     Intent redirectintent_home =  new Intent(getApplicationContext(),Home.class);
                    startActivity(redirectintent_home);
                }
               int userID = Integer.parseInt(userID_String);

                String username = userName_editText.getText().toString();
                String password = password_editText.getText().toString();
                String dob = dob_editText.getText().toString();
                int selectedGender = genderRadioGroup.getCheckedRadioButtonId();
                genderRadioBtn = (RadioButton)findViewById(selectedGender);
                String gender = genderRadioBtn.getText().toString();

                UserProfile.Users users = UserProfile.getProfile().getUser();
                users.setUsername(username);
                users.setPassword(password);
                users.setDob(dob);
                users.setGender(gender);
                users.setId(userID);

                dbHandler.updateInfor(users);
                Toast.makeText(EditProfile.this,"Updated Successfully",Toast.LENGTH_SHORT).show();
                Intent redirectintent_home = new Intent(getApplicationContext(),Home.class);
                startActivity(redirectintent_home);
            }
        });

        searchBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               String username = userName_editText.getText().toString();
               if (username == null){
                   Toast.makeText(EditProfile.this,"Please enter a username",Toast.LENGTH_SHORT).show();
               }
               else{
                   UserProfile.Users users_search = dbHandler.readAllInfor(username);


                   if(users_search == null){
                       Toast.makeText(EditProfile.this,"Please enter a valid username",Toast.LENGTH_SHORT).show();
                   }
                   else{
                       userName_editText.setText(users_search.getUsername());
                       password_editText.setText(users_search.getPassword());
                       dob_editText.setText(users_search.getDob());
                       int id = users_search.getId();
                       Intent redirectintent = new Intent(EditProfile.this,EditProfile.class);

redirectintent.putExtra(USERID_EDITPROFILE,Integer.toString(id));
                       startActivity(redirectintent);
                   }
               }
            }
        });

    }

    public void setUserDetails(){

        String userID_String = intent.getStringExtra(Home.USERID);
        if(userID_String == null){
            Toast.makeText(EditProfile.this,"Error!!",Toast.LENGTH_SHORT).show();
            Intent redirectintent_home = new Intent("com.modelpaper.mad.it17121002.Home");
        startActivity(redirectintent_home);
        }
        int userID = Integer.parseInt(userID_String);
        UserProfile.Users users = dbHandler.readAllInfor(userID);
        userName_editText.setText(users.getUsername());
        password_editText.setText(users.getPassword());
        dob_editText.setText(users.getDob());

        //new edit
        String gender = users.getGender();
        if(gender.equals("Male")){
            genderRadioBtnMale.setChecked(true);
            genderRadioBtnFemale.setChecked(false);
        }
        else{
            genderRadioBtnMale.setChecked(false);
            genderRadioBtnFemale.setChecked(true);
        }
    }
}

, если вы можете попытаться проверить это также

ProfileManagement.java

package com.;

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

public class ProfileManagement extends AppCompatActivity {

    EditText username_editText;
    EditText password_editText;
    EditText dob_editText;
    RadioGroup radioGroup;
    RadioButton gender_radioBtn;
    Button saveProfBtn;

    public final static String USERID_PROFILEMGMT = "userID";

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

        username_editText = (EditText)findViewById(R.id.profmgmt_userName);
        password_editText = (EditText)findViewById(R.id.profmgmt_password);
        dob_editText = (EditText)findViewById(R.id.profmgmt_dob);
        radioGroup = (RadioGroup)findViewById(R.id.profmgmt_radiogroup);
        saveProfBtn = (Button)findViewById(R.id.profmgmt_btn);
        final DBHandler dbHandler = new DBHandler(ProfileManagement.this);

        saveProfBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String username = username_editText.getText().toString();
                String password = password_editText.getText().toString();
                String dob = dob_editText.getText().toString();
                int selectedGender = radioGroup.getCheckedRadioButtonId();
                gender_radioBtn = (RadioButton)findViewById(selectedGender);
                String gender = gender_radioBtn.getText().toString();

                UserProfile.Users users = UserProfile.getProfile().getUser();
                users.setUsername(username);
                users.setPassword(password);
                users.setDob(dob);
                users.setGender(gender);
                boolean result = dbHandler.addInfo(users);

                if(result ==  true){
                    Toast.makeText(ProfileManagement.this,"Successfully added",Toast.LENGTH_SHORT).show();
                    UserProfile.Users newusers = dbHandler.readAllInfor(username);
                    int userID = newusers.getId();
                    Intent intent = new Intent("com.modelpaper.mad.it17121002.EditProfile");
                    intent.putExtra(USERID_PROFILEMGMT,Integer.toString(userID));
                    startActivity(intent);
                }
            }
        });
    }
}

Ответы [ 3 ]

0 голосов
/ 15 октября 2018
public class DatabaseHelper extends SQLiteOpenHelper {

 public static final String DATABASE_NAME = "student.db";

 public static final String TABLE_NAME = "student_table";

 public static final String COL1 = "ID";

 public static final String COL2 = "NAME";

 public static final String COL3 = "SURNAME"

 ;
 public static final String COL4 = "MARKS";

 ​

 public DatabaseHelper(Context context) {

  super(context, DATABASE_NAME, null, 1);

  // SQLiteDatabase db = this.getWritableDatabase(); }

  ​

  public void onCreate(SQLiteDatabase db) {

   db.execSQL(" create table " + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, SURNAME TEXT, MARKS INTEGER)");

  }

  @Override

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

   db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);

   onCreate(db);

  }

  public boolean insertData(String name, String surname, String marks) {

   SQLiteDatabase db = this.getWritableDatabase();

   ContentValues contentValues = new ContentValues();

   contentValues.put(COL2, name);

   contentValues.put(COL3, surname);

   contentValues.put(COL4, marks);

   long result = db.insert(TABLE_NAME, null, contentValues);

   if (result == -1)

    return false;

   else

    return true;

  }

  public Cursor getAlldata() {

   SQLiteDatabase db = this.getWritableDatabase();

   Cursor res = db.rawQuery("select * from " + TABLE_NAME, null);

   return res;
  }

 }

 ​

 public boolean updateData(String id, String name, String surname, String marks) {
  SQLiteDatabase db = this.getWritableDatabase();

  ContentValues contentValues = new ContentValues();

  contentValues.put(COL1, id);

  contentValues.put(COL2, name);

  contentValues.put(COL3, surname);

  contentValues.put(COL4, marks);

  db.update(TABLE_NAME, contentValues, "ID = ?", new String[] {
   id
  });
  return true;
 }
}

​

public Integer deleteData(String id) {

 SQLiteDatabase db = this.getWritableDatabase();

 return db.delete(TABLE_NAME, "ID = ? ", new String[] {
  id
 });
}

​

public class MainActivity extends AppCompatActivity {

 public Button but1;

 ​

 DatabaseHelper myDb;

 EditText editName, editSurname, editMarks, editTextid;

 Button btnAddData;

 Button btnViewall;

 ​

 public void init() {

   but1 = (Button) findViewById(R.id.button5);

   but1.setOnClickListener(

    new View.OnClickListener() {

     @Override

     public void onClick(View v) {
      Intent my = new Intent(MainActivity.this, Activity2.class);
      startActivity(my);
     }
    });

   ​

   @Override

   protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

    setSupportActionBar(toolbar);

    myDb = new DatabaseHelper(this);

    editName = (EditText) findViewById(R.id.editText_name);

    editSurname = (EditText) findViewById((R.id.editText_surname));

    editMarks = (EditText) findViewById((R.id.editText_marks));

    editTextid = (EditText) findViewById(R.id.editText_id);

    btnAddData = (Button) findViewById((R.id.button_add));

    btnViewall = (Button) findViewById(R.id.button_view);

    Adddata();

    viewAll();

    update();

   }

   public void Adddata() {

    btnAddData.setOnClickListener(

     new View.OnClickListener() {

      @Override

      public void onClick(View v) {

       boolean isInserted = myDb.insertData(editName.getText().toString(), editSurname.getText().toString(), editMarks.getText().toString());

       if (isInserted == true)

        Toast.makeText(MainActivity.this, "Data Inserted", Toast.LENGTH_LONG).show();

       else

        Toast.makeText(MainActivity.this, "Data Not Inserted", Toast.LENGTH_LONG).show();
      }
     });
   }

   ​

   public void update() {

     btnUpdate.setOnClickListener(

       new View.OnClickListener() {

        @Override

        public void onClick(View v) {

         boolean isUpdate = myDb.updateData(editTextid.getText().toString(), editName.getText().toString(), editSurname.getText().toString(), editMarks.getText().toString());

         if (isUpdate == true)

          Toast.makeText(MainActivity.this, "Data Updated", Toast.LENGTH_LONG).show();

         else

          Toast.makeText(MainActivity.this, "Not Updated", Toast.LENGTH_LONG).show();
        }
       }

       ​

       public void Delete() {

        btnDelete.setOnClickListener(

         new View.OnClickListener() {

          @Override

          public void onClick(View v) {

           Integer deleteRows = myDb.deleteData(editTextid.getText().toString());

           if (deleteRows > 0)

            Toast.makeText(MainActivity.this, "Data Updated", Toast.LENGTH_LONG).show();
          }
         });
       }

       ​

       ​

       public void viewAll() {

        btnViewall.setOnClickListener(

          new View.OnClickListener() {

           @Override

           public void onClick(View v) {

             Cursor res = myDb.getAlldata();

             if (res.getCount() == 0) {

              return;

             }

             StringBuffer buffer = new StringBuffer();

             while (res.moveToNext()) {

              buffer.append("id :" + res.getString(0) + "\n");

              buffer.append("name :" + res.getString(1) + "\n");

              buffer.append("surname: " + res.getString(2) + "\n");

              buffer.append("marks: " + res.getString(3) + "\n\n");
0 голосов
/ 15 октября 2018

открытый класс DatabaseHelper extends SQLiteOpenHelper {

общедоступная статическая конечная строка DATABASE_NAME = "student.db";

общедоступная статическая конечная строка TABLE_NAME = "student_table";

публичноstatic final String COL1 = "ID";

общедоступная статическая final String COL2 = "NAME";

общедоступная статическая final String COL3 = "SURNAME"

;public static final String COL4 = "MARKS";

public DatabaseHelper (Context context) {

super (context, DATABASE_NAME, null, 1);

// SQLiteDatabase db = this.getWritableDatabase ();}

public void onCreate (SQLiteDatabase db) {

db.execSQL ("создать таблицу" + TABLE_NAME + "(ID INTEGER ПЕРВИЧНЫЙ КЛЮЧ AUTOINCREMENT, ИМЯ ТЕКСТ,ФАМИЛИЯ ФАМИЛИЯ, MARKS INTEGER) ");

}

@ Override

public void onUpgrade (база данных SQLiteDatabase, int oldVersion, int newVersion) {

db.execSQL («DROP TABLE IF EXISTS» + TABLE_NAME);

onCreate (db);

}

public boolean insertData (имя строки, фамилия строки, отметки строки) {

SQLiteDatabase db = this.getWritableDatabase ();

ContentValues ​​contentValues ​​= new ContentValues ​​();

contentValues.put (COL2, name);

contentValues.put (COL3, фамилия);

contentValues.put (COL4, отметки);

long result = db.insert (TABLE_NAME, null, contentValues);

if (result == -1)

return false;

else

return true;

}

public CursorgetAlldata () {

SQLiteDatabase db = this.getWritableDatabase ();

Курсор res = db.rawQuery ("select * from" + TABLE_NAME, null);

return res;}

}

public boolean updateData (идентификатор строки, имя строки, фамилия строки, метки строки) {SQLiteDatabase db = this.getWritableDatabase ();

ContentValues ​​contentValues ​​= new ContentValues ​​();

contentValues.put (COL1, id);

contentValues.put (COL2, name);

contentValues.put(COL3, фамилия);

contentValues.put (COL4, метки);

db.update (TABLE_NAME, contentValues, "ID =?", Новая строка [] {id});вернуть истину;}}

public Integer deleteData (идентификатор строки) {

SQLiteDatabase db = this.getWritableDatabase ();

return db.delete (TABLE_NAME, "ID =?", Новая строка [] {id});}

открытый класс MainActivity расширяет AppCompatActivity {

public Button but1;

DatabaseHelper myDb;

EditText editName, editSurname, editMarks, editTextid;

Button btnAddData;

Button btnViewall;

public void init () {

but1 = (кнопка) findViewById (R.id.button5);

but1.setOnClickListener (

новый View.OnClickListener () {

@ Override

public void onClick (View v) {Intent my = new Intent (MainActivity.this, Activity2.class); startActivity (my);}});

@ Override

защищенный void onCreate (Bundle SavedInstanceState) {

super.onCreate (saveInstanceState);

setContentView (R.layout.activity_main);

Панель инструментов панели инструментов = (Панель инструментов) findViewById (R.id.toolbar);

setSupportActionBar (панель инструментов);

myDb = new DatabaseHelper (this);

editName = (EditText) findViewById (R.id.editText_name);

editSurname = (EditText) findViewById ((R.id.editText_surname));

editMarks = (EditText) findViewById (R.id.editText_marks));

editTextid = (EditText) findViewById (R.id.editText_id);

btnAddData = (Button) findViewById ((R.id.button_add));

btnViewall = (кнопка) findViewById (R.id.button_view);

Adddata ();

viewAll ();

update ();

}

public void Adddata () {

btnAddData.setOnClickListener (

new View.OnClickListener () {

@ Override

public void onClick (Представление v) {

boolean isInserted = myDb.insertData (editName.getText (). ToString (), editSurname.getText (). ToString (), editMarks.getText (). ToString ());

if (isInserted == true)

Toast.makeText (MainActivity.this, "Data Inserted", Toast.LENGTH_LONG) .show ();

else

Toast.makeText (MainActivity.this, «Данные не вставлены», Toast.LENGTH_LONG) .show ();}});}

public void update () {

btnUpdate.setOnClickListener (

new View.OnClickListener () {

@Переопределить

public void onClick (View v) {

boolean isUpdate = myDb.updateData (editTextid.getText (). ToString (), editName.getText (). ToString (), editSurname.getText (). toString (), editMarks.getText (). toString ());

if (isUpdate == true)

Toast.makeText (MainActivity.this, «Данные обновлены»), Toast.LENGTH_LONG) .show ();

else

Toast.makeText (MainActivity.this, «Не обновлено», Toast.LENGTH_LONG) .show ();}}

public void Delete () {

btnDelete.setOnClickListener (

новый View.OnClickListener () {

@ Override

public void onClick (View v) {

Integer deleteRows = myDb.deleteData (editTextid.getText (). ToString ());

if (deleteRows> 0)

Toast.makeText (MainActivity.this, «Данные обновлены», Toast.LENGTH_LOНГ) .show ();}});}

public void viewAll () {

btnViewall.setOnClickListener (

new View.OnClickListener () {)

@ Override

public void onClick (View v) {

Cursor res = myDb.getAlldata ();

if (res.getCount ()== 0) {

return;

}

Буфер StringBuffer = new StringBuffer ();

while (res.moveToNext ()) {

buffer.append ("id:" + res.getString (0) + "\ n");

buffer.append ("name:" + res.getString (1) + "\ n ");

buffer.append (" фамилия: "+ res.getString (2) +" \ n ");

buffer.append (" marks: "+ res.getString (3) + "\ n \ n");

открытый финальный класс UserProfile {

private UserProfile(){

}

public static UserProfile getProfile(){

    UserProfile userProfile = new UserProfile();
    return userProfile;
}
class Users implements BaseColumn{

    public static final String TABLE_NAME = "UserInfo";
    public static final String COL_ID = "_ID";
    public static final String COL_USERNAME  = "userName ";
    public static final String COL_DOB = "dateOfBirth";
    public static final String COL_GENDER = "Gender";
    public static final String COL_PASSWORD = "Password";

    private int id;
    private String username;
    private String dob;
    private String gender;
    private String password;


    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 getDob() {
        return dob;
    }

    public void setDob(String dob) {
        this.dob = dob;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getPassword() {
        return password;
    }

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

public Users getUser(){
    Users users = new Users();

    return users;
}

}

0 голосов
/ 14 октября 2018

кажется, что эта кодовая строка работает правильно и нет никаких проблем, пожалуйста, внедрите ее и проверьте ... хорошо сделано

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...