首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将ZXING导入android演播室?

如何将ZXING导入android演播室?
EN

Stack Overflow用户
提问于 2015-04-08 11:56:45
回答 5查看 53.8K关注 0票数 15

我使用android,我想在我的应用程序中导入'ZXING‘,我找到了很多文章并找到了下面的站点

https://github.com/zxing/zxing/

我下载了ZIP和解压缩,并找到了一些教程,但它似乎不太详细的细节,我需要导入什么?实现QRCode扫描

我还是不知道该怎么做

4/14我尝试了Lennon URL,提供了“zxing minimal”,并导入了'gradle-wrapper.jar‘

但是当我编写新的IntentIntegrator (this) .initiateScan ()时,仍然出现“无法解析符号‘IntentIntegrator’”的消息。

https://www.dropbox.com/s/2srga9iq75iqe4m/%E8%9E%A2%E5%B9%95%E6%88%AA%E5%9C%96%202015-04-10%2001.33.56.png?dl=0

我确实有一个权限'.jar选择,但是当发生错误时,他似乎没有被添加

4/10

最后不再出现“不能解析符号'IntentIntegrator”这是代码,我错了什么?

我删除了新的IntentIntegrator (this) .initiateScan ();‘应用程序的正常操作

代码语言:javascript
复制
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    new IntentIntegrator(this).initiateScan();
}

我的“build.greadle”

代码语言:javascript
复制
    repositories {
    jcenter()
    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }
}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-04-08 12:11:05

当我使用zxing开发我的应用程序时,我遇到了很多麻烦。所以看一看这个zxing:https://github.com/Promptus/zxing-android-minimal/tree/master

它对我来说是完美的,而且更容易实现。

编辑:

在项目中打开此文件:

/gradle/wrapper/gradle-包装器

编辑distributionUrl行并设置它:

distributionUrl=http://services.gradle.org/distributions/gradle-1.8-all.zip重建您的项目。

更新:您现在可能想使用gradle-2.1-all.zip。

新编辑:

首先,必须删除libs文件。那你就得把

代码语言:javascript
复制
mavenCentral()
    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }

因为这个gradle是用于整个项目的,所以最好在每个模块中使用它。

之后,打开模块appapp并添加以下代码:

代码语言:javascript
复制
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,否则编译时会出现错误。

更新:

要解决后退按钮问题,可以执行以下代码:

代码语言:javascript
复制
@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

    }

}
票数 9
EN

Stack Overflow用户

发布于 2015-04-08 12:02:33

您应该在build.gradle文件中定义您的zxing依赖项:

代码语言:javascript
复制
repositories {
    mavenCentral()
}

dependencies {
    implementation 'com.google.zxing:core:3.2.0'
}

这是核心条码编码/解码库,您可以使用它来构建自定义条码扫描器/生成器应用程序。

如果您只需要支持简单的扫描条形码的情况,可以使用ZXing项目嵌入ZXing安卓嵌入式条形码扫描仪应用程序。

这是ZXing安卓条形码扫描器应用程序作为一个Android库项目的一个端口,用于嵌入到其他Android应用程序中。

如果您决定使用ZXing Android嵌入式项目,它就像在build.gradle文件中定义依赖项一样简单:

代码语言:javascript
复制
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'
}

使用默认选项启动意图:

代码语言:javascript
复制
new IntentIntegrator(this).initiateScan(); // `this` is the current Activity

得到你的结果:

代码语言:javascript
复制
@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;
    }
}
票数 13
EN

Stack Overflow用户

发布于 2015-04-08 12:05:30

在你的根上-build.gradle:

代码语言:javascript
复制
repositories {
   mavenCentral()

   maven {
      url "http://dl.bintray.com/journeyapps/maven"
   }
}

在你的应用程序中-build.gradle:

代码语言:javascript
复制
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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29513940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档