Android Barcode QRCode Scanner

92 views
Skip to first unread message

Murat Kürtün

unread,
Mar 14, 2022, 3:44:21 AM3/14/22
to İstanbul Coders
Günaydın,
Android tabanlı el terminali için, kotlin kullanarak bir uygulama geliştiriyorum.
Cihaz üzerinde barcode scanner var. Yazdığım uygulama içerisinden bu scanner ı nasıl kontrol edebilirim? 
Bu konu ile ilgili link paylaşabilecek var mı?
Aradığım da çıkan sonuçlar hep telefon ile ilgili oluyor.
El terminalinin markası zebra.

Yusuf Unlu

unread,
Mar 15, 2022, 9:38:11 PM3/15/22
to istanbul-coders
Merhabalar,
Geçenlerde ben de böyle bişeyle uğraşmıştım. Öğrendiğim kadarı ile Zebra veya başka bir marka farkmeden 
üzerinde android var ise yazdığınız mobil uygulama çalışır. 
Android'lerde lisanslı kısım play kütüphaneleri olduğundan belki el terminali üzerinde bunlarda eksik olabilir. Mesela bazı Android Tv'ler de play store yok ve dolasyısı ile play sdk da içinde değil. C#'daki framework 3.5 gibi düşünün: eğer bilgisayarda bu sdk yok ona dependant kod yazamazsınız. 
Şu adamınki intenvory manager için denemiştim çalışıyor ama firebase olduğundan uğraştırdı biraz. 
Bu da çok meşhur bir Barcode Scanner kütüphanesi : https://github.com/zxing/zxing

Google ML Kit diye bişey çıkarmış içinde barcode scanner da var.
Bu kütüphaneyi kullanarak örnek bir kod bulup ona biraz ekleme yapmıştım. Umarım play store lisansı olmayan cihazlarda problem çıkarmaz. 

Eğer bu projeyi open source yapmak istersen katkı yapmak isterim.

Son olarak Zebra'nın kendi sdk'sı da var ama onu kullanmak zxing veya ML Kit'e göre ne avantajı var bilmiyorum.

Teşekkürler
Yusuf


Murat Kürtün <murat....@gmail.com>, 14 Mar 2022 Pzt, 03:44 tarihinde şunu yazdı:
--
İstanbul Coders Grubu Kurallarını okuyun: https://groups.google.com/forum/#!topic/istanbul-coders/LuV8_2lSO0w
---
Bu iletiyi Google Grupları'ndaki "istanbul-coders" grubuna abone olduğunuz için aldınız.
Bu grubun aboneliğinden çıkmak ve bu gruptan artık e-posta almamak için istanbul-code...@googlegroups.com adresine e-posta gönderin.
Bu tartışmayı web'de görüntülemek için https://groups.google.com/d/msgid/istanbul-coders/CACTndsnp3w2Dwdf9oP4isM%2BHBqGNnDUxA95k3fUSe%2BMUPhyarw%40mail.gmail.com adresini ziyaret edin.


--
Thanks 
Yusuf Unlu

Loris Medici

unread,
Mar 16, 2022, 12:37:01 AM3/16/22
to istanbu...@googlegroups.com

Murat Kürtün

unread,
Mar 16, 2022, 3:39:11 AM3/16/22
to İstanbul Coders
Teşekkürler arkadaşlar,
Linkleri inceliyorum.
Projeyi malesef public yapamıyorum.
Ama ihtiyacım olursa yine de soru sormak isterim.
Örneğin Angular da varolan "ngIf" gibi bir yapı Android de var mı merak ediyorum.
Senaryo şöyle,
1-Kullanıcı barkodu okutuyor,
2-API tarafından ürün özellikleri dönüyor.
3-Ürünün takip cinsine göre (Örneğin; Son Kullanma Tarihi veya Seri No gibi) Tarih yada Text yazabileceği kontrolleri ekranda göstermek. 
Bu arada geliştirme için Kotlin kullanıyorum.
Umarım sorun çıkarmaz ileriki aşamada.
Belki proje Flutter ile de yazılabilirdi ama emin olamadığım için Kotlin de yazmaya karar verdim.
Tekrardan teşekkür ederim destek için.

Necmettin Begiter

unread,
Mar 16, 2022, 7:16:32 AM3/16/22
to istanbul-coders
API tarafından ürün özellikleri döndüğünde mobil uygulamanın içerisinde elbette ürünün takip cinsine göre farklı ekranlara yönlendirmek mümkün. İçinde if olmayan bir dil yok :)

Çok da basit görünüyor:

brkz...@gmail.com

unread,
Mar 16, 2022, 10:57:51 AM3/16/22
to istanbul-coders
View tarafında yapacaklarının dışında Terminal cihazında okutulan barkodu nasıl okuyabilceğinle ilgili bi kaç önerim olur.
Zebra barkod okuma işlemlerinin configurasyonunu Datawedge uygulamasından yapıyor.
Uygulamanın ayarlarından gerekli configleri yapman gerekli.

- En ilkel çözüm Edittexte bluetooth klavyeyle bağlanmış gibi giriş yapmanı sağlayan Key Stroke Mode
  Bu yöntem çoğu terminal cihazda çalışır ama hataya çok açıktır.Demo ya da Production'a çıkmayacak bi appte kullanabilirsin bu yöntemi. 
Basitçe şöyle çalışıyor. Ekrana 1dplik gizli bir edittext koyuyorsun ve focusu bu viewa veriyosun.Barkod okutulduğunda klayveden basılmış gibi bu edittexte giriş yapılıyor.Sen de TextWatcherla bu viewı dinliyosun.Okuma işleminin bittiğini anlayabilmek için  Datawedge'de "Action key charachter" olarak Enter  girmelisin. Bu durumda şöyle bir kod işini görür

- BroadcastReceiverla intent paslama ve alma
  Bu yöntem çok daha güvenli ve barkod okuma ayarlarını değiştirebilceğin yöntem. Kullanıcı Datawedge'e girip ayarları değiştirse de intent göndererek istedğin configurasyonu geri setleyebilirsin.
 Basitçe çalışması şöyle. Datawedgede gerekli configurasyonu yapınca her barkod okutmada bu uygulama public bir intent gönderir. Kendi uygulamanda bu intenti broadcastrecieverla yakalarsın hem okunan qrı hem farklı dataları alıp işleyebilirsin
 
- Internet Protocol Arada bir de windows cihaz gerektirir.




16 Mart 2022 Çarşamba tarihinde saat 14:16:32 UTC+3 itibarıyla nbeg...@gmail.com şunları yazdı:

Murat Kürtün

unread,
Mar 17, 2022, 3:17:08 AM3/17/22
to İstanbul Coders
Günaydın,
Teşekkürler arkadaşlar.
BroadcastReceiver ile çözdüm konuyu.
aşağıdaki link çok yardımcı oldu.
Belki başka arkadaşlarında işine yarayabilir diye ekliyorum.


Bu tartışmayı web'de görüntülemek için https://groups.google.com/d/msgid/istanbul-coders/71946065-6bae-4060-88f4-244aeb3eec97n%40googlegroups.com adresini ziyaret edin.
Reply all
Reply to author
Forward
0 new messages