Как сохранить сгенерированный QR-код в виде изображения в SDCard (библиотека ZXing)

Я делаю приложение на основе QR-кода. Мне нужно сгенерировать QR-код определенной строки, а также сохранить сгенерированный QR-код на SD-карте. возможно ли использование библиотеки Zxing.

Итак, я могу сгенерировать QR-код, используя следующий код.

Примечание. Я вызываю сканер QR-кода через намерение. Я вставляю ввод, используя поле EditText прямо сейчас. см. код ниже

public class MainActivity extends Activity {

EditText edQR_Field;
Button btnGenerate_QR_Code;

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

    btnGenerate_QR_Code = (Button) findViewById(R.id.button1);
    edQR_Field = (EditText) findViewById(R.id.editText1);

    btnGenerate_QR_Code.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            String input = edQR_Field.getText().toString();

            Intent intent = new Intent(
                    "com.google.zxing.client.android.ENCODE");

            intent.putExtra("ENCODE_TYPE", "TEXT_TYPE");
            intent.putExtra("ENCODE_DATA", input);
            intent.putExtra("ENCODE_FORMAT", "QR_CODE");
            intent.putExtra("ENCODE_SHOW_CONTENTS", false);
            startActivityForResult(intent, 0);

            Toast.makeText(MainActivity.this, input, Toast.LENGTH_SHORT)
                    .show();

        }
    });

}

 }

и я понимаю это.

введите описание изображения здесь

Вопрос

Я просто хочу сохранить этот сгенерированный QR-код на SD-карте моего устройства Android.

С уважением, Кадир Хусейн


person Qadir Hussain    schedule 30.04.2013    source источник
comment
взгляните на это: stackoverflow.com / questions / 1700597 /   -  person Hamad    schedule 30.04.2013


Ответы (3)


Хм! хорошо, тогда посмотрите эту ссылку. в этой ссылке используется библиотека ZXing! и описывается просто! http://www.mysamplecode.com/2012/09/android-generate-qr-code-using-zxing.html

дайте мне знать, это полезно?

person Hamad    schedule 30.04.2013
comment
Это нормально, но показывает копию старого кода из проекта. Лучше всего использовать последние версии классов, например QRCodeEncoder. - person Sean Owen; 30.04.2013

Вы не можете заставить изображение быть сохраненным или вернуть изображение, если вы интегрируете с помощью Intent. Однако пользователь может сохранить изображение, нажав «Меню» и «Поделиться».

Вместо этого вам просто нужно будет встроить основную библиотеку из проекта и вызвать ее для кодирования изображения. Затем вы можете отображать, сохранять или делать то, что вам нравится.

Вы можете увидеть, как это делается в приложении, здесь и повторно использовать части этого кода: https://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/encode/EncodeActivity.java

person Sean Owen    schedule 30.04.2013
comment
спасибо за ваш ценный ответ. Что мне нужно здесь, просто скопируйте core.jar только в папку моих библиотек. и вызовите QRCodeEncode. Не могли бы вы отредактировать свой ответ, указав упрощенные шаги, чтобы я мог следить за ним. - person Qadir Hussain; 30.04.2013

Полный ответ:

Текст - отличная библиотека Java PDF. У них также есть API для создания штрих-кодов. Вам не нужно создавать PDF-файл, чтобы использовать его.

Эта страница содержит подробную информацию о создании штрих-кодов. Вот пример с того сайта:

BarcodeEAN codeEAN = new BarcodeEAN();
codeEAN.setCodeType(codeEAN.EAN13);
codeEAN.setCode("9780201615883");
Image imageEAN = codeEAN.createImageWithBarcode(cb, null, null);

Самое главное, что вам нужно будет определить, - это какой тип штрих-кода вам нужен. Существует множество различных форматов штрих-кодов, и iText поддерживает многие из них. Вам нужно будет знать, какой формат вам нужен, прежде чем вы сможете определить, подойдет ли вам этот API.

person Hamad    schedule 30.04.2013