2017-05-23 3 views
-2

私は現在、カスタムサーバーから画像URlsを取り込んでアンドロイドアプリを開発し、ImageViewにロードします。私はこれにピカソを使用しました。ダウンロードプロセスは正常に完了しましたが、画像をデバイスに保存して、アプリケーションをオフラインで実行しても画像の品質を損なうことなく表示できるようにします。私は自分のデータベースに画像の場所を保存する予定です。メモリに保存するコードと、別のクラスの画像にアクセスする方法が必要です。ちょうど5枚の画像があります。あなたはピカソからイメージをロードしているピカソからダウンロードした画像を保存する方法は?

+0

JavaからIOクラスを使用しようとしましたか? – reporter

+0

私はそれを見ましたが、私は別のクラスのファイルから画像を取得することについて混乱しました。それは私がデータベースからそれを保存するだけでいいのですが、 –

答えて

1

、それはデバイスのストレージにロードされたファイルを保存します。この

@Override 
      public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) { 
       new Thread(new Runnable() { 

        @Override 
        public void run() { 

         File file = new File(Environment.getExternalStorageDirectory().getPath() + "/" + url); 
         try { 
          file.createNewFile(); 
          FileOutputStream ostream = new FileOutputStream(file); 
          bitmap.compress(Bitmap.CompressFormat.JPEG, 80, ostream); 
          ostream.flush(); 
          ostream.close(); 
         } catch (IOException e) { 
          Log.e("IOException", e.getLocalizedMessage()); 
         } 
        } 
       }).start(); 

      } 

を試してみてください。 マニフェストにwrite_storage権限があることを確認してください。

+0

どうすれば別のクラスのファイルの内容にアクセスできますか?私は他のクラスから画像にアクセスすることを意味します –

+0

あなたはそのファイルのURLを必要とします –

+0

その画像のURLをいくつかのグローバル変数に格納し、オブジェクトを使って他のクラスにアクセスしてください –

関連する問題