使用ContentResolver將圖片保存到手機(jī)的多媒體數(shù)據(jù)中

package com.javen.devicemange.CrazyOne.content;import android.Manifest;import android.content.ContentValues;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Bundle;import android.PRovider.MediaStore;import android.support.annotation.Nullable;import android.support.v4.app.ActivityCompat;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ImageView;import com.javen.devicemange.R;import java.io.OutputStream;/** * Created by Administrator on 2017/2/16 0016. * 使用將圖片ContentResolver保存到手機(jī)的多媒體數(shù)據(jù)中 * <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> * <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> */public class AddPhotoToAlbum extends AppCompatActivity implements View.OnClickListener { private ImageView imageView10; private Button add; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.addphototoalbum); initView(); Log.d("GsonUtils", "onCreate="); //需要申請讀取和修改外置存儲的權(quán)限 requestPermission(); } private void initView() { imageView10 = (ImageView) findViewById(R.id.imageView10); add = (Button) findViewById(R.id.add); add.setOnClickListener(this); } private void requestPermission() { String[] permissions = { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE, }; ActivityCompat.requestPermissions(this, permissions, 1); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.add: AddPictureToAlbum(); break; } } private void AddPictureToAlbum() { Log.d("GsonUtils", "AddPictureToAlbum="); //創(chuàng)建ContentValues對象,準(zhǔn)備插入數(shù)據(jù) ContentValues contentValues = new ContentValues(); contentValues.put(MediaStore.Images.Media.DISPLAY_NAME, "shuangta"); contentValues.put(MediaStore.Images.Media.DESCRipTION, "雙塔"); contentValues.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); //插入數(shù)據(jù),返回所插入數(shù)據(jù)對應(yīng)的Uri Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues); //加載應(yīng)用程序res下的圖片bitmap Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.shuangta); OutputStream outputStream = null; try { //獲取剛插入的數(shù)據(jù)的Uri對應(yīng)的輸出流 outputStream = getContentResolver().openOutputStream(uri); //將bitmap圖片保存到Uri對應(yīng)的數(shù)據(jù)節(jié)點中 bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream); //圖片會保存到sd卡的pcitures目錄下1487231905572.jpg outputStream.close(); Log.d("GsonUtils", "outputStream="); } catch (Exception e) { e.printStackTrace(); Log.d("GsonUtils", "Exception=" + e.toString()); } }}布局xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageView android:id="@+id/imageView10" android:layout_width="match_parent" android:layout_height="300dp" android:background="@drawable/shuangta"/> <Button android:id="@+id/add" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="添加并保存res資源目錄下的圖片到安卓手機(jī)中"/></LinearLayout>。。。
新聞熱點
疑難解答