2017-09-18 41 views
0

pngのビットマップファイルを内蔵ストレージに保存しようとしています どうすればいいですか?(Androidスタジオ)ビットマップを内部ストレージに保存するにはどうすればよいですか?

私のコードQRコードを生成します -

私はその後、新しいフォルダ「QRコード」を作りたいDCIMフォルダに言う例えば、私の内部ストレージに生成されたQRコードのビットマップを保存したい
public void createQRCode(String qrCodeData, String charset, Map hintMap, int qrCodeheight, int qrCodewidth) { 
    Bitmap bitmap = null; 
    try { 
     //generating qr code in bitmatrix type 
     BitMatrix matrix = new MultiFormatWriter().encode(new String(qrCodeData.getBytes(charset), charset), BarcodeFormat.QR_CODE, qrCodewidth, qrCodeheight, hintMap); 
     //converting bitmatrix to bitmap 
     int width = matrix.getWidth(); 
     int height = matrix.getHeight(); 
     int[] pixels = new int[width * height]; 
     // All are 0, or black, by default 
     for (int y = 0; y < height; y++) { 
      int offset = y * width; 
      for (int x = 0; x < width; x++) { 
       pixels[offset + x] = matrix.get(x, y) ? BLACK : WHITE; 
      } 
     } 

     bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 
     bitmap.setPixels(pixels, 0, width, 0, 0, width, height); 
     qrImageView.setImageBitmap(bitmap); 

    } catch (Exception er) { 
     Log.e("QrGenerate", er.getMessage()); 
    } 

} 

Iビットマップを "QRCode1.png"として保存したい

どうすればいいですか?多分

PS

は、私はすでに私のAndroidManifestファイル

答えて

0

しようとする書き込み権限を追加した

は私が私のために働くように見える多くのチュートリアルと、それらのどれを試してみましたか私が間違ったことをしていますこれを実行してデータを使用してローカルデバイスに保存します。

saveImageBitmap(Bitmap bitmap){ 
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos); 
    byte[] data = baos.toByteArray(); 

    //do whatever you want to save this bitmap file 
} 

あなたが手伝ってくれることを願っています!これによりビットマップが.jpg形式に変換され、ファイルに保存されます。あなたを助けるために

+0

私はそれを動作させるためにランタイム権限を使用していた、マシュマロを使用してイムような愚かな過ち をしたあなたの助けをありがとう 笑 –

+0

はとても幸せ!学び続けます –

関連する問題