Wednesday, December 14, 2016

Get Board Result of BD (Android app on Google Play)


Get Board Result of BD
Is an android app launched for getting  result of examination in Bangladesh.
The Directorate of Primary education DPE are going to publishing PSC result at 16 december this year.

Download link
 
Any one can get free Exam result without thana code.Other similar app in Google Play Store needs thana codes to get result but this app does not require code.

You will get all education board result of all public examination.
PSC, Ebtedayee(EBT), JSC, JDC, SSC, DAKHIL, HSC, ALIM, Vocational are those.
Get Board Result of BD

This app used webview with faster response and load time.
Latest android versions are supported.
Very easy and user friendly user interface.
So you can download this app from the link

The ministry of Primary education expect that better result this year.
Hope you will stay tuned with us thanks.

Friday, August 19, 2016

Creating barcode image from text and scan barcoe/qrcode in android

How to create bar code image from text and scan code in android ?

To create this app we use the zxing library of QRcode scanning.
put the following line in gradle dependency in android studio.

dependencies {
    compile 'com.journeyapps:zxing-android-embedded:3.0.2@aar'    compile 'com.google.zxing:core:3.2.0'
}
Then sync your project. In your activity oncreate() create an EditText to take input and a 
button for generate barcode image and an Imageview for displaying barcode.
 
@Override
    protected void onCreate(Bundle savedInstanceState) {
        btnCreateBarcode = (Button) findViewById(R.id.btnCreateBarcode);
        btnQrCoderScanner = (Button) findViewById(R.id.btnQrCoderScanner);
        imageView = (ImageView) findViewById(R.id.imageView);
        tv = (TextView) findViewById(R.id.textView);
        input = (EditText) findViewById(R.id.input);

        btnCreateBarcode.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                barcode_data = input.getText().toString();
                Bitmap bitmap = null;
                try {
                    bitmap = encodeAsBitmap(barcode_data, BarcodeFormat.CODE_128, 300, 150);
                    imageView.setImageBitmap(bitmap);

                } catch (WriterException e) {
                    e.printStackTrace();
                }
                tv.setText(barcode_data);
            }
        });

    } 
 
    private static final int WHITE = 0xFFFFFFFF;
    private static final int BLACK = 0xFF000000;

    Bitmap encodeAsBitmap(String contents, BarcodeFormat format, int img_width, int img_height) 
throws WriterException {
        String contentsToEncode = contents;
        if (contentsToEncode == null) {
            return null;
        }
        Map<EncodeHintType, Object> hints = null;
        String encoding = guessAppropriateEncoding(contentsToEncode);
        if (encoding != null) {
            hints = new EnumMap<EncodeHintType, Object>(EncodeHintType.class);
            hints.put(EncodeHintType.CHARACTER_SET, encoding);
        }
        MultiFormatWriter writer = new MultiFormatWriter();
        BitMatrix result;
        try {
            result = writer.encode(contentsToEncode, format, img_width, img_height, hints);
        } catch (IllegalArgumentException iae) {
            return null;
        }
        int width = result.getWidth();
        int height = result.getHeight();
        int[] pixels = new int[width * height];
        for (int y = 0; y < height; y++) {
            int offset = y * width;
            for (int x = 0; x < width; x++) {
                pixels[offset + x] = result.get(x, y) ? BLACK : WHITE;
            }
        }

        Bitmap bitmap = Bitmap.createBitmap(width, height,
                Bitmap.Config.ARGB_8888);
        bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
        return bitmap;
    }

    private static String guessAppropriateEncoding(CharSequence contents) {
        for (int i = 0; i < contents.length(); i++) {
            if (contents.charAt(i) > 0xFF) {
                return "UTF-8";
            }
        }
        return null;
    }

If you want to scan barcode or qrcode then just add another button and add action to it like -
        btnQrCoderScanner.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                IntentIntegrator integrator = new IntentIntegrator(MainActivity.this);
                integrator.initiateScan();
            }
        });  
The IntentIntegrator will give a result back So on onActivityResult() catch the scan result .
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
        if (scanResult != null) {
            Toast.makeText(this, scanResult.getContents(), Toast.LENGTH_SHORT).show();
        }
     
    }

Thursday, August 18, 2016

Centering drawable-left image in android Button in XML

Centering drawable-left image in android Button in XML

To center a button drawable left need adjust the padding of button and its drawable left padding.
Giving the Button a fixed width we can do this.

 

  1. <Button
  2. android:layout_below="@+id/imgSave"
  3. android:id="@+id/btninvSearch"
  4. android:layout_width="170dp"
  5. android:layout_height="wrap_content"
  6. android:drawableLeft="@drawable/ic_action_camera"
  7. android:drawablePadding="0dp"
  8. android:paddingLeft="40dp"
  9. android:paddingRight="0dp"
  10. android:paddingTop="12dp"
  11. android:paddingBottom="12dp"
  12. android:gravity="center"

See detail here