2012-07-19 18 views
12

Fragmanlarim arasında geçiş yapmak için ViewPager kullanıyorum. Bir Fragman içindeki bir QR tarayıcısını (zxing veya başka bir) entegre etmek mümkün mü?Bir Fragmanın İçindeki Bir QR tarayıcısı

Bildiğim kadarıyla söyleyebilirim, qr tarayıcılar çoğunluğu bana barcodefragmentlib olan

+0

Aradığınızı hızlı bir şekilde gösterir: http://stackoverflow.com/questions/4782543/integration-zxing-library-directly-into-my-android-application –

+1

diye soruyorum, zxing'i nasıl entegre edeceğimi biliyorum, sorun şu ki ayrı bir faaliyete başlamak zorundayım, ama bunu bir Fragman –

+0

'da kullanmam gerekiyor. Tam olarak aradığınız şey bu. Kabul edilen cevap, "zxing" i, "isteğe bağlı" bir yaklaşım değil, bir seçenek olarak kullanmak yerine, kodunuza doğrudan nasıl entegre edeceğinizi anlatır. Sonra onu 'Fragment', 'Activity' içinde kullanabilirsiniz. Ayrıca '' Fragment''de 'Intent' tabanlı (' onActivityResult' kullanarak) seçeneği de mümkündür. Sonuç olarak, Fragmentinizdeki 'onActivityResult' sonucunu kullanabilirsiniz, sonuçta her Fragmentin bir 'Aktivite' ebeveyine ihtiyacı vardır. –

cevap

5

bir seçenek değildir onActivityResult, bunu işleme, genişletilmiş Etkinlik sınıfını kullanmak ve sonuç için bunu başlatmak için beni gerektirir aradığınız kişi. Ve wiki onun nasıl entegre edileceğini gösterir (wiki çıkmadan önce farklı bir yol kullanmış olsam da).

Ancak tam olarak entegre ettikten ve ticari uygulamamızla ilgili tüm sorunları çözdükten sonra, bir parçanın içine bir QR tarayıcısı yerleştirmek ve ViewPager'ı kullanarak geçiş yapmak iyi bir fikir değildir. Bu fikir ve bilinen kitaplık ile ilgili bilinen sorunlardan bazıları şunlardır:

  • Sık sık QR fragmanı ve diğer parçaları arasında geçiş yaparak uygulamanızın yorulmasını ve çökmesini kolaylaştıracak;
  • Parça değiştirme işlem olarak kullanımı kolay değildir, QR parçası daha da kötüdür; portre/yatay tarama modunu Taşıma
  • ilk QR parçasını açtığınızda
  • , bu
  • Tarayıcı iyi çok kısa bir süre için ekrana dışarı siyah çalışmıyor olabilir (orijinal ZXing lib ile ilgili) varsayılan olarak kullanılamaz Galaxy S4 veya daha yüksek özünürlüklü kamera/ekrana sahip diğer yeni cihazlar için

Yukarıda bahsedilen sorunlar belirli bir çabayla çözülebilmesine rağmen, bu gerçekten bir ticaret dışıdır.