Возникли проблемы с Greating QrCodes навалом и сохранением их с пользовательским макетом - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь массово генерировать и сохранять коды Qrcodes с пользовательскими макетами из базы данных.

Созданный мною l oop работает, он массово сохраняет. Но проблема заключается в том, что при массовом сохранении информация, которая должна быть получена из базы данных и отображена, не отображается, отображается only qrcode. Но если я сохраняю Вручную по одному, отображается вся информация.

Сохранение вручную Массовое сохранение

Код Для сохранения макета:

@RequiresApi(api = Build.VERSION_CODES.N)
public void screen(String name) {
    try {
        CardView content = findViewById(R.id.massgenrate);
        content.setDrawingCacheEnabled(true);
        Bitmap bitmap = content.getDrawingCache();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd_hh_mm_ss");
        Date now = new Date();
        String fileName = formatter.format(now);

        File file, f;

        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            file = new File(Environment.getExternalStorageDirectory(), "DCIM");
            if (!file.exists()) {
                file.mkdirs();
            }
            f = new File(file.getAbsolutePath() + file.separator + name + fileName + ".png");

            FileOutputStream ostream = new FileOutputStream(f);
            bitmap.compress(Bitmap.CompressFormat.PNG, 10, ostream);
            Toast.makeText(this, "done", Toast.LENGTH_SHORT).show();
            ostream.close();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Код для l oop:

public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
    if (dataSnapshot.exists()) {

        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
            userinfo dbb = snapshot.getValue(userinfo.class);
// sets Text for textviews
            name.setText(dbb.getFirstname() + " " + dbb.getLastname());
            work.setText(dbb.getWorkplace());
            occu.setText(dbb.getOccupation());
// email garbed from the db is sent to qrGenrator tp create the code. 
            qrGenrator(dbb.getEmail());
            progressBar.setVisibility(View.INVISIBLE);
            creating.setText(" ");
//sends firstname to screen function which saves the file with persons firstname
            screen(dbb.getFirstname);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...