2012-07-05 98 views
-1

这次我跟ZXing有一个新的问题。 O.K我已阅读了本网站上关于在应用程序中使用ZXing的所有内容,但我很困惑。我写了我的数据库应用程序,我想创建一个包含数据的条形码,即组名,小时和成本,没有什么复杂的。我可以在线创建条码,而不是一个概率。问题是如何从ZXING中的SCAN_RESULTS返回的“内容”中提取组名称,小时数和成本。从SCAN_RESULTS提取数据ZXing

public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch (v.getId()) { 
    case R.id.scanButton: 
    Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
    intent.putExtra("SCAN_MODE", "PRODUCT_MODE"); 
    startActivityForResult(intent, REQUEST_BARCODE); 
    break; 

public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    if (requestCode == REQUEST_BARCODE) { 
     if (resultCode == RESULT_OK) { 

      //barcode is variable where the string from SCAN_RESULT is stored 
      String barcode = intent.getStringExtra("SCAN_RESULT"); 
      // etName.setText(barcode); 

非常感谢

+2

这将取决于你如何在你的条形码,你却忽视了后期的编码数据,因此实在没有办法,我们可以回答。你能举一个例子说明如何使用在线生成器在条形码内编码这些数据吗?也许发布一个你正在编码的典型字符串的样本。 – FoamyGuy 2012-07-05 20:49:01

+0

嗨,这里是我如何生成条形码的简单例子。我使用代码128和简单的字母数字文本“FCE1 1.5 22.50”,FCE1 =组名,1.5 =小时,22.50 =成本。谢谢你看问题 – 2012-07-05 20:54:34

回答

0

如果它是安全的假设,组名称将永远不会包含空格,你可以使用String.split()来获取数据。

是这样的:

String[] datas = barcode.split(" "); 
String groupName = datas[0]; 
double hours = Double.valueOf(datas[1]); 
double cost = Double.valueOf(datas[2]); 
+0

谢谢肖恩我会试试看看会发生什么:) – 2012-07-06 05:07:55