Piszę to z desperacji :) Wyznaczono mnie do wykonania samodzielnego skanera kodów kreskowych (jako dowód koncepcji) do telefonu z systemem Android 1.6.
W tym celu odkryłem bibliotekę ZXing.
Wyszukałem w Google, przeczytałem powiązane tematy tutaj na StackOverflow, użyłem powszechnego zdania i tak dalej. Wydawało się, że nic nie pomogło, a ja po prostu nie mogę przebić dziury w tej mentalnej blokadzie: /
Wiem, że jest to możliwe, aby skorzystać z lib i stworzyć własny samodzielny skaner kodów kreskowych. Czytałem, że użycie „skanera kodów kreskowych” dostarczonego przez ludzi z Zxing jest zdecydowanie najłatwiejszym rozwiązaniem (przez Intent). Niestety nie jest to opcja i pożądana jest samodzielna aplikacja.
Podsumowując mój problem:
- Jak zintegrować bibliotekę źródłową ZXing z moim projektem Android Code za pomocą Eclipse?
- Po zintegrowaniu ... jak wykorzystać bibliotekę do „załadowania” funkcji skanowania?
- Przewodnik krok po kroku jest prawie preferowany, ponieważ właśnie zacząłem pracować w Eclipse.
Próbowałem uzależnić mój projekt kodu od folderu Android z folderu źródłowego ZXing. Kiedy to robię, pojawia się kilka błędów, głównie dotyczących „org.apache” (??)
Po prostu nie mogę tego rozgryźć ... więc kilka wskazówek byłoby najbardziej pomocnych.
Z góry dziękuję :)
źródło
Odpowiedzi:
AKTUALIZACJA! - ROZWIĄZANY + PRZEWODNIK
Udało mi się to rozgryźć :) A poniżej możesz przeczytać przewodnik krok po kroku, więc mam nadzieję, że pomoże innym z tym samym problemem, co ja;)
zxing src
.ant -f core/build.xml
naciśnij enter i pozwól Apache działać to magia [ masz problemy? ]core.jar
... naciśnij enter!Teraz musisz tylko poprawić kilka błędów w tłumaczeniach i pliku AndroidManifest.xml :) Teraz możesz szczęśliwie skompilować i będziesz mieć działającą samodzielną aplikację do skanowania kodów kreskowych, opartą na źródle ZXing;)
Miłego kodowania - mam nadzieję, że pomoże to innym :)
źródło
AndroidManifest.xml
pliku? Po sprawdzeniu nie widzę żadnych błędów w tym pliku. Dzięki!Oto przewodnik krok po kroku, jak wygenerować i wyświetlić kod QR za pomocą biblioteki ZXing bez konieczności instalowania aplikacji innej firmy. Uwaga: nie musisz budować ZXing za pomocą ANT ani żadnego innego narzędzia do budowania. Plik
core.jar
jest dostępny w udostępnionym archiwum zip (czytaj poniżej).ZXing-*.zip
)core.jar
wcore/
katalogu.core.jar
dolibs
katalogu projektu systemu Android. Gdy pojawi się pytanie, wybierz Kopiuj .Contents.java
&QRCodeEncoder.java
) do głównego pakietu projektu Android.ImageView
element w swoim działaniu, aby wyświetlić wygenerowany kod QR, jeśli jeszcze go nie masz. Poniżej podano przykład:ImageView
.Oto
ImageView
element do dodania do pliku XML układu działania:Fragment kodu:
Tutaj jest
Contents.java
I
QRCodeEncoder.java
źródło
Plik
niestety nie działało dla mnie.
Oto, co zadziałało dla mnie:
Link znajduje się tutaj: https://github.com/journeyapps/zxing-android-embedded
źródło
Masz problemy z budowaniem za pomocą ANT? Czytaj dalej
Jeśli
ant -f core/build.xml
mówi coś takiego:następnie ustaw
JAVA_HOME
zmienną środowiskową na właściwy folder java. Znalazłem tools.jar w moim (dla systemu Windows):więc ustawiłem
JAVA_HOME
:powód krótszej składni, którą znalazłem na jakiejś stronie, która mówi:
Następnie ponownie uruchomiłem cmd (ważne, ponieważ powłoka DOS odczytuje zmienne env tylko po uruchomieniu, więc zmiana zmiennej env będzie wymagać użycia nowej powłoki, aby uzyskać zaktualizowaną wartość)
i wreszcie
ant -f core/build.xml
zadziałało.źródło
Ponieważ niektóre odpowiedzi są nieaktualne, chciałbym podać własne -
Aby zintegrować bibliotekę ZXing z aplikacją na Androida, jak sugeruje ich Wiki , musisz dodać 2 pliki Java do swojego projektu:
Następnie w Android Studio dodaj następujący wiersz do pliku build.gradle :
Lub jeśli nadal używasz Eclipse z wtyczką ADT, dodaj plik core.jar do podkatalogu libs swojego projektu (tutaj pełnoekranowy Windows i pełnoekranowy Mac ):
Na koniec dodaj ten kod do swojego MainActivity.java :
Wynikowa aplikacja poprosi o zainstalowanie i uruchomienie aplikacji Barcode Scanner firmy ZXing (która automatycznie powróci do Twojej aplikacji po zeskanowaniu):
Dodatkowo, jeśli chcesz zbudować i uruchomić aplikację ZXing Test jako inspirację dla własnej aplikacji:
Następnie potrzebujesz 4 plików Java z GitHub :
Oraz 3 pliki Jar z repozytorium Maven :
(Możesz samodzielnie zbudować pliki Jar
mvn package
- jeśli wyewidencjonujesz ZXing z GitHub i zainstalujesz narzędzia Ant and Maven na swoim komputerze).Uwaga: jeśli projekt nie rozpoznaje plików Jar, może być konieczne zaktualizowanie wersji Java we właściwościach projektu:
źródło
Położyć
do zależności Gradle. To takie proste. Przed użyciem systemu kompilacji Android Studio i Gradle.
źródło
Czy widziałeś strony wiki na stronie zxing? Wygląda na to, że przydatne mogą być GettingStarted , DeveloperNotes i ScanningViaIntent .
źródło
Jeśli potrzebujesz tylko pliku core.jar z zxing, możesz pominąć ten proces i pobrać gotowe pliki JAR ze strony wiki GettingStarted
Najnowszy ZXing (2.2) nie ma core.jar w folderze core, ale możesz pobrać core.jar z repozytorium zxing Maven tutaj
źródło
Krok po kroku, aby skonfigurować zxing 3.2.1 w eclipse
źródło
Wypróbowałem wszystkie możliwe sposoby, aby to osiągnąć, a potem odkryłem zminimalizowaną wersję xZing autorstwa JourneyApps. Przeportowałem to pod kątem zaćmienia i udostępniłem na GitHub.
Jeśli używasz eclipse, użyj tego projektu: -
https://github.com/hiteshsahu/XZing-Barcode-Scanner-Minified-Eclipse
Jeśli używasz Studio, użyj tego projektu: -
https://github.com/journeyapps/zxing-android-embedded
Zalety
Wbudowany skaner kodów kreskowych w Twojej aplikacji nie wymaga instalowania aplikacji innych firm przy użyciu sklepu playstore.
Nie musisz się mylić między słojami Core, Android itp. Klienta, po prostu upuść te pakiety i odpowiednie układy w swoim projekcie i gotowe. Wymagany tylko Jar to com.google.zxing: core: 3.2.0, z którego można pobrać
http://mvnrepository.com/artifact/com.google.zxing/core/3.2.0
Nie ma potrzeby dodawania wielu pakietów, patrz poniższe zdjęcia dla porównania
Przed :-
Po :-
Najważniejsze jest to, że są wysoce konfigurowalne, tj. Możesz dodać latarkę, używać jej fragmentarycznie i wspierać zmianę orientacji.
Możesz użyć tego ćwiczenia Capture w aplikacji Cordova do skanowania kodów kreskowych.
Twoja aktywność przechwytywania w pliku manifestu aplikacji wyglądałaby tak
a wtyczka będzie wyglądać tak
Szczęśliwej integracji !!
źródło
Faceci z zxing ułatwili tworzenie projektu dla Androida w wersji 1.7. To nie jest tak bolesne jak kiedyś. To jest szybki blog dla każdego, kto chciałby szybko stworzyć projekt zxing dla Androida.
Projekt na Androida dla Zxing 1.7 (20 czerwca wypisanie).
http://www.4shared.com/file/bFx8Y5Ys/zXingJune2010.html( JUŻ NIE DOSTĘPNE )źródło
Po co używać biblioteki zewnętrznej, skoro usługi Google Play (od wersji 7.8.0 ) zawierają dekoder kodu kreskowego.
źródło
Właśnie napisał metodę, która dekoduje generowane kody kreskowe,
Bitmap
abyString
.Robi dokładnie to, o co proszono, tylko bez
CaptureActivity
...Dlatego można pominąć
android-integration
bibliotekę wbuild.gradle
:Metoda następująca (która faktycznie dekoduje wygenerowane kody kreskowe w ramach testu jUnit):
źródło
Ta biblioteka działa jak urok, łatwa do integracji i użytkowania. https://github.com/dm77/barcodescanner
źródło
Niedawno korzystałem z Google Mobile Vision zarówno w iOS, jak i Androidzie. Gorąco polecam korzystanie z Google Barcode Scan. Jest dość responsywny w każdej orientacji, a czas przetwarzania jest dość szybki. Nazywa się Google Mobile Vision.
https://developers.google.com/vision/
https://codelabs.developers.google.com/codelabs/bar-codes/#0
źródło
Dużo łatwiejsze podejście.
Po prostu uwzględnij zależność w pliku ocen na poziomie aplikacji
Zdefiniuj jeden przycisk w pliku xml i napisz poniższy kod w pliku Java w OnCreate () i wewnątrz odbiornika OnClick przycisku
I napisz poniższy kod po OnCreate () pliku Java
źródło
st_scanned_result
nie jest tutaj zdefiniowanyAKTUALIZACJA 2020: Po prostu dodaj to do swojego pliku Gradle. Działa idealnie!
źródło