// barcode reader
implementation 'info.androidhive:barcode-reader:1.1.5'
implementation 'com.google.firebase:firebase-ml-vision:23.0.0'
package probus.malikkurosaki.financecontroller;
import android.os.Bundle;
import android.util.Log;
import android.util.SparseArray;
import com.google.android.gms.vision.barcode.Barcode;
import java.util.List;
import androidx.appcompat.app.AppCompatActivity;
import butterknife.BindView;
import butterknife.ButterKnife;
import info.androidhive.barcode.BarcodeReader;
public class ActivityScaner extends AppCompatActivity implements BarcodeReader.BarcodeReaderListener {
private BarcodeReader barcodeReader;
private String TAG = "-->";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scaner);
ButterKnife.bind(this);
barcodeReader = (BarcodeReader)getSupportFragmentManager().findFragmentById(R.id.barcodeFragment);
}
@Override
public void onScanned(Barcode barcode) {
barcodeReader.playBeep();
Log.i(TAG, "onScanned: "+barcode.displayValue);
}
@Override
public void onScannedMultiple(List<Barcode> barcodes) {
}
@Override
public void onBitmapScanned(SparseArray<Barcode> sparseArray) {
}
@Override
public void onScanError(String errorMessage) {
}
@Override
public void onCameraPermissionDenied() {
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ActivityScaner">
<fragment
android:id="@+id/barcodeFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:auto_focus="true"
app:use_flash="false"
android:name="info.androidhive.barcode.BarcodeReader"/>
<info.androidhive.barcode.ScannerOverlay
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorTransparant1"
app:line_color="@color/colorMerah"
app:line_speed="6"
app:line_width="4"
app:square_height="200"
app:square_width="200">
</info.androidhive.barcode.ScannerOverlay>
</RelativeLayout>