【问题标题】:Sending information to the internet and receiving something back将信息发送到 Internet 并收到回复
【发布时间】:2012-07-22 17:25:11
【问题描述】:

我的应用程序目标是能够在编辑文本框中写入一些信息并单击一个按钮,当我单击该按钮时,我希望使用我写出的所有信息制作一个二维码。我现在的想法是使用 zxing。但是我不知道该怎么做。我需要知道如何将一些信息发送到互联网,然后返回打印的内容。因此,使用 zxing,我知道我可以通过编辑 url 轻松地写出 QR 码。 (http://chart.apis.google.com/chart?cht=qr&chs=350x350&chld=L&choe=UTF-8&chl=Hello+My+Name+Is+Michael) 我可以做到这一点,但是一旦我有了所需的 url,我怎样才能让我的应用程序将该 url 发送到互联网复制 QR 码并将图像发回给我?这甚至可能吗?我想听听您对此的反馈,谢谢。

【问题讨论】:

  • 您只需在 URL 处下载图像。 (这不是 zxing——不过它是项目中编码器的前身。)

标签: android url qr-code


【解决方案1】:

获得网址后,您应该创建一个位图并向 Google 发出请求。你可以这样做:

    BitmapFactory.Options bmOptions;
    bmOptions = new BitmapFactory.Options();
    bmOptions.inSampleSize = 1;
    Bitmap bm = LoadImage(image_URL, bmOptions);

.....

private Bitmap LoadImage(String URL, BitmapFactory.Options options)
{       
    Bitmap bitmap = null;
    InputStream in = null;       
    try {
        in = OpenHttpConnection(URL);
        bitmap = BitmapFactory.decodeStream(in, null, options);
        in.close();
        } catch (IOException e1) {
        /*ERROR DO SOMETHING ERROR*/
        }
    return bitmap;               
}

希望对你有用。

【讨论】:

  • 接缝很好,但是当我将该代码放入时,我在“OpenHttpConnection”上收到一个错误,说它没有在我的活动中定义,我需要为此制定一个方法还是需要一个进口?
【解决方案2】:

你是对的!对不起,我错过了一段代码:

InputStream OpenHttpConnection(String strURL) throws IOException{
    InputStream inputStream = null;
    URL url = new URL(strURL);
    URLConnection conn = url.openConnection();
    try{
            HttpURLConnection httpConn = (HttpURLConnection)conn;
            httpConn.setRequestMethod("GET");
            httpConn.connect();
        if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
               inputStream = httpConn.getInputStream();
            }
        }
        catch (Exception ex){
        /* ERROR  DO SOMETHING */
        }
        return inputStream;
    }

【讨论】:

  • 当我使用这些东西运行我的应用程序时,我得到一个 NullPointerException,我假设这是因为位图被粘贴为 null,并且当我尝试将我的图像视图设置为此它时,它会崩溃。然而我做错了什么?我在 onClickListener 的最后一个答案中将代码部分放在“....”上方,然后将其他两个方法作为方法放在主代码下方,以便在调用时使用它然后我说QRCode.setImageBitmap(bm); 也在 onClickListener 中,但在其他代码行之后。
  • 你应该找到 NullPointerException 的点。你在这里复制你的错误堆栈。
  • 抱歉,您要我复制什么?你的错误堆栈是什么?
  • 堆栈跟踪包含有关您错误的信息,在这里您可以看到一个示例:example stack trace。你可以在Logcat找到它
  • 所以事实证明我犯了一个错误,不是你的代码搞砸了而是我的,我不能在我的二维码中删除空格而不会崩溃。但如果我运行一个单词 qr 代码,它就可以工作,所以谢谢!现在我只需要调试我的结局
猜你喜欢
  • 2011-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2016-01-08
  • 2020-11-11
  • 1970-01-01
  • 2021-04-05
相关资源
最近更新 更多