2017-10-28 217 views
-1

我的应用程序项目有qr代码生成器功能。我使用Zxing库来编写qr代码生成器,但它只能生成qr代码单个变量。我想在一个qr代码上用3个变量创建qr代码。请帮我创建这个。 p.s.我是Android的新手。如何在单个QR码上创建具有多个变量的Qr码?

我的代码

import android.content.Context; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ImageView; 
import com.google.zxing.BarcodeFormat; 
import com.google.zxing.MultiFormatWriter; 
import com.google.zxing.WriterException; 
import com.google.zxing.common.BitMatrix; 
import com.journeyapps.barcodescanner.BarcodeEncoder; 


public class MainActivity extends AppCompatActivity { 

private EditText editText , editText2 , editText3; 
private String qrText1 , qrText2 , qrText3; 
private ImageView qrCodeView; 

@Override 
protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    editText = (EditText) this.findViewById(R.id.editText); 
    editText2 = (EditText) this.findViewById(R.id.editText2); 
    editText3 = (EditText) this.findViewById(R.id.editText3); 

    Button generateBtn = (Button) this.findViewById(R.id.generateButton); 
    qrCodeView = (ImageView) this.findViewById(R.id.imageView); 

    generateBtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     qrText1 = editText.getText().toString().trim(); 
     qrText2 = editText2.getText().toString().trim(); 
     qrText3 = editText3.getText().toString().trim(); 

     MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); 
     try { 
      BitMatrix bitMatrix = multiFormatWriter.encode(qrText1, BarcodeFormat.QR_CODE, 200, 200); 
      BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); 
      Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix); 
      qrCodeView.setImageBitmap(bitmap); 

     } catch (WriterException e) { 
      e.printStackTrace(); 
     } 
     } 
    }); 
} 
} 

我不知道如何在创建一个单一的QR码添加qrText2和qrText3与qrText1。

+1

AFAIK,从字符串生成的QR码。不管你喜欢什么,你都可以组装那个字符你可能想编辑你的问题并提供一个[mcve],显示你的代码使用“只有一个变量”,然后解释你在尝试使用更多变量时遇到的问题。 – CommonsWare

回答

0

您可以使用Gson创建一个包含多个变量的json对象。然后只需发送json对象。

(I做到了here