Android studio私は私のアプリケーションに「ZXING」をインポートしたい、私は多くの記事を見つけ、次のサイトを見つけました
https://github.com/zxing/zxing/
Zipをダウンロードして解凍し、いくつかのチュートリアルを見つけましたが、インポートする必要がある詳細についてはあまり詳しくないようです。 QRCodeスキャンを達成するには
どうすればいいのかまだ分かりません
4/14「zxing-Android-minimal」が提供されたLennon URLを試し、「gradle-wrapper.jar」をインポートしました
しかし、私が新しいIntentIntegrator(これ)を書いたとき、.initiateScan(); 「シンボル 'IntentIntegratorを解決できません」というメッセージが引き続き表示される
私は正しい「.jar」を選択してライブラリとして追加を選択しますが、エラーが発生すると、彼は追加されていないようです
4/10
最後に「シンボル 'IntentIntegratorを解決できません」というコードが表示されなくなりました。
新しいIntentIntegrator(これ).initiateScan()を削除しました。 'アプリケーションの通常動作
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new IntentIntegrator(this).initiateScan();
}
私の「build.greadle」
repositories {
jcenter()
maven {
url "https://raw.github.com/embarkmobile/zxing-Android-minimal/mvn-repo/maven-repository/"
}
}
Zxingライブラリを使用してアプリを開発したときに、多くの問題が発生しました。このzxingミニマルを見てください: https://github.com/Promptus/zxing-Android-minimal/tree/master
私には完璧に機能し、実装も簡単でした。
編集:
プロジェクトでこのファイルを開きます。
/gradle/wrapper/gradle-wrapper.properties
DistributionUrl行を編集して、それも設定します。
distributionUrl = http://services.gradle.org/distributions/gradle-1.8-all.Zipプロジェクトをリビルドします。
更新:gradle-2.1-all.Zipをすぐに使用したい場合があります。
新しい編集:
まず、libs
ファイルを削除する必要があります。その後、削除する必要があります
mavenCentral()
maven {
url "https://raw.github.com/embarkmobile/zxing-Android-minimal/mvn-repo/maven-repository/"
}
build.gradle
of MyApplication
から。そのgradleはプロジェクト全体用であり、各モジュールで使用する方が良いためです。
その後、モジュールapp
のbuild.gradle
を開き、次のコードを追加します。
repositories {
mavenCentral()
maven {
url "https://raw.github.com/embarkmobile/zxing-Android-minimal/mvn-repo/maven-repository/"
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:21.0.3'
// Zxing libraries
compile 'com.embarkmobile:zxing-Android-minimal:2.0.0@aar'
compile 'com.embarkmobile:zxing-Android-integration:2.0.0@aar'
compile 'com.google.zxing:core:3.0.1'
}
最後に、プロジェクトからgoogle.zxing.integration.Android
を削除する必要があります。削除しないと、コンパイル時にエラーが表示されます。
更新:
戻るボタンの問題を解決するには、次のコードを実行できます。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
String _code = data.getStringExtra("SCAN_RESULT");
// do whatever you want
}
}
Build.gradleファイルでzxingの依存関係を定義する必要があります。
repositories {
mavenCentral()
}
dependencies {
implementation 'com.google.zxing:core:3.2.0'
}
これは、カスタムバーコードスキャナー/ジェネレーターアプリの構築に使用できるコアバーコードエンコード/デコードライブラリです。
バーコードをスキャンする簡単なケースだけをサポートする必要がある場合は、ZXing Android ZXing Android Embedded 事業。
これは ZXing Android Barcode Scanner アプリケーションとしてのポートAndroid他の埋め込みプロジェクトAndroidアプリケーション。
ZXing Android Embeddedプロジェクトを使用する場合、build.gradleファイルで依存関係を定義するのと同じくらい簡単です。
repositories {
mavenCentral()
maven {
url "http://dl.bintray.com/journeyapps/maven"
}
}
dependencies {
implementation 'com.journeyapps:zxing-Android-embedded:2.3.0@aar'
implementation 'com.journeyapps:zxing-Android-legacy:2.3.0@aar'
implementation 'com.journeyapps:zxing-Android-integration:2.3.0@aar'
implementation 'com.google.zxing:core:3.2.0'
}
デフォルトのオプションでインテントを起動します:
new IntentIntegrator(this).initiateScan(); // `this` is the current Activity
そして結果を得る:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
switch (requestCode) {
case IntentIntegrator.REQUEST_CODE:
if (resultCode == Activity.RESULT_OK) {
// Parsing bar code reader result
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
}
break;
}
}
Root-build.gradleで:
repositories {
mavenCentral()
maven {
url "http://dl.bintray.com/journeyapps/maven"
}
}
App-build.gradleで:
dependencies {
// Supports Android 4.0.3 and later (API level 15)
compile 'com.journeyapps:zxing-Android-embedded:2.3.0@aar'
// Supports Android 2.1 and later (API level 7), but not optimal for later Android versions.
// If you only plan on supporting Android 4.0.3 and up, you don't need to include this.
compile 'com.journeyapps:zxing-Android-legacy:2.3.0@aar'
// Convenience library to launch the scanning Activities.
// It automatically picks the best scanning library from the above two, depending on the
// Android version and what is available.
compile 'com.journeyapps:zxing-Android-integration:2.3.0@aar'
// Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier.
// This mostly affects encoding, but you should test if you plan to support these versions.
// Older versions e.g. 2.2 may also work if you need support for older Android versions.
compile 'com.google.zxing:core:3.2.0'
}
詳細については、こちらをご覧ください: https://github.com/journeyapps/zxing-Android-embedded
私も同じ問題に遭遇しました。以下に示す簡単な手順に従って解決しました。
ダウンロードした_zxing-master
_ ZipファイルからプロジェクトAndroid
をオプションImport project (Eclipse ADT, Gradle, etc.)
を使用してインポートし、アプリレベル_build.gradle
_ファイルにドローイング2行のコードを追加します。走る。
とても簡単です.
_dependencies {
// https://mvnrepository.com/artifact/com.google.zxing/core
compile group: 'com.google.zxing', name: 'core', version: '3.2.1'
// https://mvnrepository.com/artifact/com.google.zxing/Android-core
compile group: 'com.google.zxing', name: 'Android-core', version: '3.2.0'
}
_
以下のリンクから、常に最新バージョンcore
および_Android core
_を見つけることができます。
https://mvnrepository.com/artifact/com.google.zxing/core/3.2.1https://mvnrepository.com/artifact/com.google.zxing/Android- core/3.2.
Lennonによって説明されたすべての手順の後、Android Studioで端末に移動してgradlew assembleと入力することにより、「シンボル 'IntentIntegrator'を解決できません」という問題を解決しました。これで、AARで宣言されたすべてのクラスを使用できます。
お役に立てば幸いです。