【问题标题】:Google Glass - Have card display image from webGoogle Glass - 有来自网络的卡片显示图像
【发布时间】:2014-07-18 19:54:04
【问题描述】:

您好,我是 Google Glass 新手,想知道是否可以将网络上的图片显示为背景图片。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    String address = "http://archiveteam.org/images/1/15/Apple-logo.jpg";
    Card myCard = new Card(this);
    myCard.setText("Hello, World!"); 
    myCard.setFootnote("First Glassware for Glass");
    myCard.setImageLayout(Card.ImageLayout.FULL);
    myCard.addImage(new URL(address));
    View cardView = myCard.getView();       
    // Display the card we just created
    setContentView(cardView);
}

我在几个线程中看到 myCard.addImage(new URL(address)) 是解决方案,但我在该行收到以下错误。

Card 类型中的 addImage(Drawable) 方法不适用于参数(URL)

任何帮助将不胜感激,在此先感谢!

【问题讨论】:

  • 您可以使用Mirror APIs将图像从网络发送到您的应用程序。

标签: android google-glass


【解决方案1】:

您不应该在 UI 线程上收集图像。那是网络操作。

创建一个在新线程上运行的单独方法以下载图像,然后将其保存为位图。然后将其保存到卡中;

 DownloadImageTask(myCard).execute(address);


private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    Card imgCard;

public DownloadImageTask(Card imgCard) {
    this.imgCard= imgCard;
 }

  protected Bitmap doInBackground(String... urls) {
    String urldisplay = urls[0];
    Bitmap mIcon11 = null;
    try {
        InputStream in = new java.net.URL(urldisplay).openStream();
        mIcon11 = BitmapFactory.decodeStream(in);
    } catch (Exception e) {
        Log.e("Error", e.getMessage());
        e.printStackTrace();
    }
    return mIcon11;
}

protected void onPostExecute(Bitmap result) {
    imgCard.setImage(result);
}
}

【讨论】:

    猜你喜欢
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多