Android Barcode Olvasó

Android Barcode Olvasó
2020-05-16T16:04:06+02:00
2020-05-16T16:04:09+02:00
2022-10-15T21:25:18+02:00
Electrosumm
Sziasztok!

Egy Barcode olvasó programon dolgozom , de kicsit elakadtam ezért a segítségeteket kérném.
Amikor beolvas egy kódot a felhasználó a telefonnal és a beolvasott kód alapján meg keresi az excel adatbázisba felugrik egy ablak és kiírja  a termék nevét és be lehet ütni ,hogy ebből hány darab van majd ezt elmenti egy excel fájlba. Ebben a fájl beolvasásba és fájl kiírásba akadtam el , tudnátok segíteni benne ? Az olvasásnál az első oszlopba lenne a Barcode a másodikba pedig a termék neve. Az írásnál pedig úgy lenne ,hogy az első oszlopba lenne a Barcode másodikba a termék neve a harmadikba pedig a darabszám. Jexcel Apit és ZXing libraryt használok. A Scanner és Reader classt bemásolom ide.


public class ScanActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler {

private static final String LOG_TAG = "";
private ZXingScannerView zXingScannerView;
private ReadActivity readActivity;
private SecondActivity secondActivity;
private Boolean gettingdatas = false;
public static Workbook workbook;
public static Sheet sheet;
public static InputStream inputStream;
public static AssetManager assetManager;
public static Cell cell;
public static String data;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//set the main content layout of the Activity
setContentView(R.layout.activity_barcode_scanner);

ViewGroup contentFrame = (ViewGroup) findViewById(R.id.content_frame);
zXingScannerView = new ZXingScannerView(this);
contentFrame.addView(zXingScannerView);

}

@Override
public void onResume() {
super.onResume();
zXingScannerView.setResultHandler(this);
zXingScannerView.startCamera();
}

@Override
public void onPause() {
super.onPause();
zXingScannerView.stopCamera();
}

@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void handleResult(Result rawResult){
zXingScannerView.stopCamera();
Toast.makeText(this, "Contents = " + rawResult.getText() +
", Format = " + rawResult.getBarcodeFormat().toString(), Toast.LENGTH_SHORT).show();

ViewGroup viewGroup = findViewById(android.R.id.content);
View dialogView = LayoutInflater.from(this).inflate(R.layout.result_dialog, viewGroup, false);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(dialogView);
final AlertDialog dialog = builder.create();
Objects.requireNonNull(dialog.getWindow()).setBackgroundDrawable(new ColorDrawable(Color.BLACK));
TextView myAwesomeTextView = (TextView) dialogView.findViewById(R.id.resultname);
myAwesomeTextView.setText(rawResult.getText());
dialog.show();

Button resultbutton = (Button) dialog.findViewById(R.id.resultbutton);
resultbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

dialog.dismiss();
zXingScannerView.startCamera();
}
});
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
zXingScannerView.resumeCameraPreview(ScanActivity.this);
}
}, 2000);
}
}


public class ReadActivity extends AppCompatActivity {

public static Workbook workbook;
public static Sheet sheet;
public static InputStream inputStream;
public static AssetManager assetManager;
public static Cell cell;
public static String data;//Barcodenumber
public static String rowdata;//Productname
private SecondActivity secondActivity;

public void ReadDatas() throws IOException, BiffException {

assetManager = getAssets();
inputStream = assetManager.open(secondActivity.getFilePath());
workbook = Workbook.getWorkbook(inputStream);
sheet = workbook.getSheet(0);
int row = sheet.getRows();
int column = sheet.getColumns();

for(int r = 1 ; r < row ; r++){
for(int c = 0; c < column ; c++){
cell = sheet.getCell(c,r);
String dataaa = cell.getContents();
setData(dataaa);
}
}
}

public void rowsetData(String rowdata){
this.rowdata = rowdata;
}

public String getRowsetData(){
return rowdata;
}
public void setData(String data){
this.data = data;
}

public String getData(){
return data;
}
}
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd