Изображение, сохраненное в БД, не отображается в другой деятельности - PullRequest
0 голосов
/ 31 мая 2019

Я сохранил изображение в БД, но оно не отображается в другом действии. Также я могу сохранить только одно изображение в Галерее. Когда я делаю снимок во второй раз, оно не заменит первое изображение. Прямо сейчас он получает доступ к камере, и когда я нажимаю кнопку, чтобы выбрать изображение, он переносит меня в Галерею, но отображается только 1-е изображение. Мне нужно удалить первое изображение, чтобы заменить второе изображение и вставить изображение в следующую запись. Цель состоит в том, чтобы вставить изображение в базу данных с данными, введенными в базу данных, и отобразить изображение с информацией. Deletelayout.java

    ImageView imageChoose;
    Intent j,c,a;
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.deletelayout);
        GoalDate = findViewById(R.id.goalDate2);
        GoalWeight = findViewById(R.id.weighGoal2);
        CurrentWeight = findViewById(R.id.weightCurrent2);
        goalD = findViewById(R.id.goalDateInput);
        goalW = findViewById(R.id.goalWeightInput);
        currentW = findViewById(R.id.currentWeightInput);
        imageChoose = findViewById(R.id.imageShow);
        data = myDB.getListContents();
        deleteB = findViewById(R.id.deleteB);
        updateB = findViewById(R.id.updateButton);

        // Entered information from the user are set to the respective variables.
        int numRows = data.getCount();
        j = new Intent(DeleteLayout.this, historyActivity.class);

        if (numRows == 0) {
            Toast.makeText(DeleteLayout.this, "Nothing in the db", Toast.LENGTH_LONG).show();
        } else {
            int i = 0;
            while (data.moveToNext()) {
                user = new User(data.getString(1), data.getString(2), data.getString(3), data.getString(4), data.getString(5));
                gWt = user.getGoalWeight();
                cWt = user.getCurrentWeight();
                gDt = user.getGoalDate();
                GoalDate.setText(gDt);
                GoalWeight.setText(gWt);
                CurrentWeight.setText(cWt);


                deleteB.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        myDB.deleteContent(GoalDate.getText().toString(), GoalWeight.getText().toString(), CurrentWeight.getText().toString());
                        startActivity(j);
                    }
                });
                updateB.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Log.i("Goal D:", goalD.getText().toString());
                        myDB.updateData(GoalDate.getText().toString(), GoalWeight.getText().toString(), CurrentWeight.getText().toString(),goalD.getText().toString(), goalW.getText().toString(), currentW.getText().toString());
                        Toast.makeText(DeleteLayout.this, "Data updated", Toast.LENGTH_SHORT).show();

                        startActivity(j);
                    }
                });
            }

        }

    }

Settings.java


        chooseImagebutton = findViewById(R.id.button_choose);
        chooseImagebutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ActivityCompat.requestPermissions(settingsActivity.this,
                        new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_CODE_GALLERY);
            }
        });
        myDB = new DatabaseHelper(this);
        //invokes all the info to be saved and displayed in the History and Home Page
        saveButton = findViewById(R.id.saveButton);
        saveButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                gDInput = goalDinput.getText().toString();
                gWInput = goalWinput.getText().toString();
                cWInput = currentWinput.getText().toString();
                fInput = ftInput.getText().toString();
                iInput = inInput.getText().toString();

                if (genderMale.isChecked()) {
                    gInput = genderMale.getText().toString();
                } else {
                    gInput = genderFemale.getText().toString();
                }

                if (gDInput.length() != 0 && gWInput.length() != 0 && cWInput.length() != 0
                        && gInput.length() != 0 && fInput.length() != 0 && iInput.length() != 0) {
                    addData(gDInput, gWInput, cWInput, fInput, iInput, imageViewToByte(imageChoose));
                    goalDinput.setText("");
                    goalWinput.setText("");
                    currentWinput.setText("");
                    ftInput.setText("");
                    inInput.setText("");
                    if (gInput == "Male") {
                        genderMale.setText("");
                    } else {
                        genderFemale.setText("");

                    }

                    imageChoose.setImageResource(R.mipmap.ic_launcher);

                } else {
                    Toast.makeText(settingsActivity.this, "All fields need to be entered.", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

    //method to show message if data inserted or not
    private void addData(String gDInput, String gWInput, String cWInput, String Feet, String Inches, byte[] image) {

        boolean insertData = myDB.addData(gDInput, gWInput, cWInput, Feet, Inches, image);
        if (insertData == true) {
            Toast.makeText(settingsActivity.this, "Data inserted successfully", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(settingsActivity.this, "Data not inserted", Toast.LENGTH_SHORT).show();

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