Печать сообщения, если изображение пустое - PullRequest
0 голосов
/ 01 апреля 2019

Я разрабатываю приложение галереи для хранения в базе данных по его имени с помощью Android Studio.Но когда я пытаюсь добавить пустое изображение в базу данных, перестает работать.Когда пользователь получает нулевые данные, должно быть напечатано тостовое сообщение, например . Пожалуйста, выберите изображение или вставьте имя .Я попробовал что-то внутри метода сохранения кнопки onClick, но не работаетВот что я попробовал:

     public void save (View view) {

        String artName = editText.getText().toString();
        //sikistirma islemi
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        selectedImage.compress(Bitmap.CompressFormat.PNG,50,outputStream);
        byte[] byteArray = outputStream.toByteArray();

        try {
            if(artName!=null && outputStream!=null)
            {
                database = this.openOrCreateDatabase("Arts", MODE_PRIVATE, null);
                database.execSQL("CREATE TABLE IF NOT EXISTS arts (name VARCHAR, image BLOB)"); //BLOB is dataType for images

                String sqlString = "INSERT INTO arts (name, image) VALUES (?, ?)";
                SQLiteStatement statement = database.compileStatement(sqlString);
                statement.bindString(1, artName);
                statement.bindBlob(2, byteArray);
                statement.execute();
            }
            else
            {
                Toast.makeText(getApplicationContext(), "PPlease select an image or insert the name", Toast.LENGTH_LONG).show();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        Intent intent = new Intent(getApplicationContext(), MainActivity.class);
        startActivity(intent);
    }

1 Ответ

0 голосов
/ 01 апреля 2019

Предполагая, что selectedImage является растровым объектом, в вашем коде его можно проверить на нулевое значение перед тем, как вставить его в базу данных

public void save (View view) {

    String artName = editText.getText().toString();
    if(selectedImage!=null)
   {
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    selectedImage.compress(Bitmap.CompressFormat.PNG,50,outputStream);
    byte[] byteArray = outputStream.toByteArray();

    try {
        if(artName!=null )
        {
            database = this.openOrCreateDatabase("Arts", MODE_PRIVATE, null);
            database.execSQL("CREATE TABLE IF NOT EXISTS arts (name VARCHAR, image BLOB)"); //BLOB is dataType for images

            String sqlString = "INSERT INTO arts (name, image) VALUES (?, ?)";
            SQLiteStatement statement = database.compileStatement(sqlString);
            statement.bindString(1, artName);
            statement.bindBlob(2, byteArray);
            statement.execute();
        }
        else
        {
            Toast.makeText(getApplicationContext(), "Please  insert the name", Toast.LENGTH_LONG).show();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    startActivity(intent);
    }
    else
  {
     // If the bitmap object is null display user toast to select the image 
      Toast.makeText(getApplicationContext(), "Please select some image", Toast.LENGTH_LONG).show();

  }

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