현재 내 앱에서 Zxing 라이브러리를 사용하고 있습니다. 예를 들어 책의 바코드를 스캔 한 후에 스캔 결과에서 이미지, 설명 등을 얻는 방법은 무엇입니까? 당신의 도움이스캔 결과를 얻으시겠습니까?
답변
당신은 안드로이드 ZXing의 응용 프로그램이 무엇을하는지 확인할 수 있습니다에 대한
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch(requestCode) {
case IntentIntegrator.REQUEST_CODE:
if (resultCode == RESULT_OK) {
IntentResult scanResult =
IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
} else if (resultCode == RESULT_CANCELED) {
showDialog("failed", "You messed up");
}
}
}
감사합니다. Android 클라이언트의 소스는 ZXing Android client source code입니다. ISBN 번호의 경우, 그 처리에 대한 소스 코드는 다음과 같습니다 Android ZXing app's ISBN Result Handler code
제품 및 책 검색의 경우, 안드로이드 코드 ResultHandler.java에서 두 함수를 호출
// Uses the mobile-specific version of Product Search, which is formatted for small screens.
final void openProductSearch(String upc) {
Uri uri = Uri.parse("http://www.google." + LocaleManager.getProductSearchCountryTLD() +
"/m/products?q=" + upc + "&source=zxing");
launchIntent(new Intent(Intent.ACTION_VIEW, uri));
}
final void openBookSearch(String isbn) {
Uri uri = Uri.parse("http://books.google." + LocaleManager.getBookSearchCountryTLD() +
"/books?vid=isbn" + isbn);
launchIntent(new Intent(Intent.ACTION_VIEW, uri));
}
Zxing 바코드/QR 코드의 다양한 스캔, 그래서 당신이해야 할 첫 번째 일은 그 경우 제품 UPC 또는 QR 코드를 알아낼 수 있습니다 :
UPC 코드를 특정 제품 메타 데이터를 반환합니다 가능한 웹 서비스의 번호가 있습니다protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data != null) {
String response = data.getAction();
if(Pattern.matches("[0-9]{1,13}", response)) {
// response is a UPC code, fetch product meta data
// using Google Products API, Best Buy Remix, etc.
} else {
// QR code - phone #, url, location, email, etc.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(response));
startActivity(intent);
}
}
}
. 상당히 포괄적 인 것은 Google의 Search API for Shopping입니다. 예를 들어,이처럼 보이는 URL과 UPC = 037988482481로 제품의 JSON 표현을 얻을 수 있습니다 :
당신은 구글 API와 함께 "your_key_here"를 교체해야합니다 키.
Best Buy는 UPC 코드로 검색 할 수있는 모든 제품에 대해 RESTful products API을 제공합니다.
UPC를 사용하면 AsyncTask를 사용하여 제품 메타 데이터를 가져오고 싶을 것입니다.
RuntimeException없이 뒤로 누를 수 있도록하려면 try catch 문으로 if 문을 감싸고 싶을뿐입니다. 그래서 :
try{
/// get scanned code here
} catch(RuntimeException e) {
e.getStackTrace();
{
당신이 그것 없이는 피할 수없는 충돌을 도운 희망.
'IntentResult'또는 'IntentIntegrator'가 필요하지 않습니다.
당신은이 작업을 수행 할 수 있습니다 다음
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
startActivityForResult(intent, 0);
및 onActivityResult
에 : 당신이 바코드를 스캔이와
if (requestCode == 0) {
if ((resultCode == RESULT_CANCELED) || (resultCode == -1000)) {
Toast.makeText(WebViewActivity.this, "Nothing captured",
Toast.LENGTH_SHORT).show();
} else {
String capturedQrValue = data.getStringExtra("barcode_data");
}
}
을 지금 찾는 구글의 API를 사용하는 다른 라이브러리는 Zxing 코드가 ISBN. 클래스 Intents.java
에는 의도가 필요한 보조 정보가 있으며 그 결과 인 ISBNResultHandler
클래스가 표시됩니다. 앞으로 도움이되기를 바랍니다. 당신의 onActivityResult
에서
당신은 result.getContents()
을 호출되지 않은 코드를
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null) {
if(result.getContents() == null) {
Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
} else {
String qrCode=result.getContents();
}
} else {
// This is important, otherwise the result will not be passed to the fragment
super.onActivityResult(requestCode, resultCode, data);
}
을 다음과 같이 수행합니다.
- 1. 자바에서 Google 검색 결과를 얻으시겠습니까? 도움이 필요하다!
- 2. 모든 것을 보존하고 t-sql에서 필터링 된 결과를 얻으시겠습니까?
- 3. 색인 스캔 역방향 대 인덱스 스캔
- 4. 파일에서 스캔
- 5. 전체 테이블 스캔 방지
- 6. 자바 : 스레드에서 가치를 얻으시겠습니까?
- 7. 인덱스 스캔, 테이블 스캔 및 인덱스 탐색의 차이점은 무엇입니까?
- 8. WIA를 통한 스캔 알림
- 9. Android : 바코드 스캔 Intent
- 10. 색상 스캔 화면
- 11. 컴퓨터 메모리 스캔
- 12. Lex : 강제로 스캔 하시겠습니까?
- 13. 바코드 스캔 이벤트?
- 14. Zend_Translate 스캔 변환 파일
- 15. Ruby 문자열 정수 스캔
- 16. 파일을 Java의 HashMap으로 스캔
- 17. 라인 스캔 OpenCV의
- 18. 스프링 주석 스캔 최적화
- 19. 안드로이드, 와이파이 활성 스캔
- 20. 디렉토리를 통한 스캔 C++
- 21. SQLite : 테이블 스캔 최적화
- 22. 키보드 스캔 코드?
- 23. CSS 스캔 미디어 쿼리
- 24. iTunes 보관함을 스캔 하시겠습니까?
- 25. 보안 PDF 문서 스캔
- 26. 테이블 스캔 및 인덱스
- 27. 프롤로그 목록에서 스캔 목록
- 28. 오픈 소스 C++ 스캔 라이브러리
- 29. JFrame : 테두리없이 크기를 얻으시겠습니까?
- 30. 친구 클래스 정보를 얻으시겠습니까?
여기 내 대답을 확인하시기 바랍니다가,이 도움말을 희망 http://stackoverflow.com/a/30627814/2904625 – user2904625