package com.example.cosmosclient.views; import android.graphics.Bitmap; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.AndroidRuntimeException; import android.widget.ImageView; import android.widget.TextView; import com.example.cosmosclient.R; import com.example.cosmosclient.app.Cosmos; import com.example.cosmosclient.entities.Group; import com.google.zxing.BarcodeFormat; import com.google.zxing.WriterException; import com.journeyapps.barcodescanner.BarcodeEncoder; public class DisplayQRActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_qr); TextView groupName = findViewById(R.id.groupName); //現在のグループ情報を格納しているものからgIdを取得 Cosmos app = (Cosmos) getApplication(); Group curentGroup = app.getCurentGroup(); groupName.setText(curentGroup.getName()); //元となるgIdを取得完了 String data = curentGroup.getgId(); //テスト値 // String data = "http://researchers.adm.konan-u.ac.jp/html/130_ja.html"; //QRコード画像の大きさを指定(pixel) int size = 500; try { BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); //QRコードをBitmapで作成 Bitmap bitmap = barcodeEncoder.encodeBitmap(data, BarcodeFormat.QR_CODE, size, size); //作成したQRコードを画面上に配置 ImageView imageViewQrCode = (ImageView) findViewById(R.id.QRimage); imageViewQrCode.setImageBitmap(bitmap); } catch (WriterException e) { throw new AndroidRuntimeException("Barcode Error.", e); } } }