2012-01-14 14 views
5

मैं एंड्रॉइड पर जेक्सिंग का उपयोग कर एक क्यूआर कोड उत्पन्न करने की कोशिश कर रहा हूं। चूंकि java.awt.image.BufferedImage एंड्रॉइड में शामिल नहीं है, मुझे यकीन नहीं है कि एंड्रॉइड पर क्यूआर कोड छवि कैसे बनाएं।Android पर zxing का उपयोग कर एक क्यूआर कोड में स्ट्रिंग को एन्कोड कैसे करें?

संपादित करें: मैं नहीं चाहता कि मेरे आवेदन को इंटरनेट एक्सेस की आवश्यकता हो।

उत्तर

4

कृपया android/ के तहत ज़ेक्सिंग स्रोत कोड देखें। .encode पैकेज में आप एंड्रॉइड में क्यूआर कोड को एन्कोड करने के तरीके का एक उदाहरण देखेंगे। हां, आप इसका उपयोग नहीं कर सकते हैं, और BufferedImage का उपयोग करने की आवश्यकता नहीं है।

+0

धन्यवाद अब मैंने क्यूआर कोड सफलतापूर्वक एन्कोड किया है और इसे एंड्रॉइड एप्लिकेशन पर भेज दिया है। फिर यह इसे बिटमैप ऑब्जेक्ट के रूप में प्राप्त करता है। अब मैं इसे कैसे डीकोड करूं? – user477519

+1

ठीक है आप 'डिटेक्टर' और 'डीकोडर' के लिए '.qrcode' पैकेज देख सकते हैं। लेकिन अगर आप जानकारी को एन्कोड कर रहे हैं तो इसे किसी अन्य गतिविधि पर भेजने और इसे डीकोड करने के लिए ... क्यों न केवल मूल डेटा भेजें? –

+0

@SeanOwen यह किसी भी पाठ के लिए काम कर रहा है, लेकिन अगर मैं यूआरएल एन्कोड करना चाहता हूं तो मुझे उसी इरादे का उपयोग करने की आवश्यकता हो सकती है .putExtra (Intents.Encode.TYPE, Contents.Type.TEXT); क्योंकि यूआरएल – Erum

0

सबसे आसान तरीका google charts API है। यह एक साधारण आराम एपीआई है जो आपको एक पीएनजी फाइल देगा। यदि आप नहीं चाहते हैं कि आपके एप्लिकेशन को इंटरनेट की आवश्यकता हो, तो आपके हाथों पर अधिक काम है, लेकिन यह किया जा सकता है। com.google.zxing.qrcode.encoder वे कक्षाएं हैं जो आपके लिए एक क्यूआर उत्पन्न करेगी। मैंने कभी भी इसका उपयोग नहीं किया कि उन्हें कैसे उपयोग किया जाए, लेकिन मुझे लगता है कि यह एक मैट्रिक्स देता है जो क्यूआर का प्रतिनिधित्व करता है, आपको इसे कैनवास या किसी चीज़ पर आकर्षित करने के लिए काम करना होगा।

+0

धन्यवाद टिम। लेकिन मैं नहीं चाहता कि मेरे आवेदन को इंटरनेट एक्सेस की आवश्यकता हो। तो क्या आप कृपया मुझे कोई उपयोगी यूआरएल सुझा सकते हैं? – user477519

8

मैंने पाया है कि यह एक उपयोगी http://codeisland.org/2013/generating-qr-codes-with-zxing/

ऊपर संसाधन का उपयोग हो सकता है, मैं एक उपयोगिता विधि बनाई गई इस प्रकार है:

public static Bitmap encodeToQrCode(String text, int width, int height){ 
    QRCodeWriter writer = new QRCodeWriter(); 
    BitMatrix matrix = null; 
    try { 
     matrix = writer.encode(text, BarcodeFormat.QR_CODE, 100, 100); 
    } catch (WriterException ex) { 
     ex.printStackTrace(); 
    } 
    Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); 
    for (int x = 0; x < width; x++){ 
     for (int y = 0; y < height; y++){ 
      bmp.setPixel(x, y, matrix.get(x,y) ? Color.BLACK : Color.WHITE); 
     } 
    } 
    return bmp; 
} 
+0

@ स्टेव पॉल यह प्रदत्त उपयोगकर्ता स्ट्रिंग ई/जी (123 + ghnn-ggg) – Erum

+0

हाय एरम का बिटमैप बनाएगा, हाँ मैंने इसे अपने एप्लिकेशन में उपयोग किया है। यह काम करना चाहिए। –

संबंधित मुद्दे