国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

外部存儲 使用詳解

Dionysus_go / 2159人閱讀

摘要:使用外部存儲需要獲取外部存儲的訪問權限。同時期待您的關注,感謝您的閱讀,謝謝

極力推薦文章:歡迎收藏
Android 干貨分享

閱讀五分鐘,每日十點,和您一起終身學習,這里是程序員Android

本篇文章主要介紹 Android 開發中的部分知識點,通過閱讀本篇文章,您將收獲以下內容:

保存外部存儲需要申請權限

外部存儲使用案例(保存,讀取,刪除圖片)

Android 設備支持外部存儲,比如SD卡等,保存在外部存儲的數據具有全局可讀性,可供在其他設備比如電腦上閱讀,修改等。使用外部存儲需要獲取外部存儲的訪問權限。

1. 保存外部存儲需要申請權限

這個很重要,不然無法操作SD 卡,

   
2. 外部存儲使用案例(保存,讀取,刪除圖片)

實現效果

判斷是否掛載 SD 卡方法
    /**
     * 1.判斷SD卡是否掛載
     * **/
    public static boolean isMounted() {

        String state = Environment.getExternalStorageState();
        return state.equals(Environment.MEDIA_MOUNTED);

    }

SD 保存圖片,刪除圖片、顯示圖片的方法

保存圖片到SD卡

保存圖片到SD卡 實現代碼如下:

    // 保存圖片的方法
    public void BtnSaveImage(View view) {
        // 獲取圖片類型 bitmap
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
                R.drawable.ic_launcher);

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        // 將bitmap 壓縮成byte類型 并保存到outputstream中
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
        bitmap.recycle();
        boolean saveimg = SaveImg(getApplicationContext(), "photo.png",
                baos.toByteArray());
        if (saveimg) {
            Toast.makeText(getApplicationContext(), "保存成功" + store_path,
                    Toast.LENGTH_SHORT).show();
        }
        try {
            baos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    // 保存圖片的方法
    public static boolean SaveImg(Context context, String filename, byte[] data) {
        // 判斷是否掛載SD卡
        if (!isMounted()) {
            Toast.makeText(context, "SD卡未安裝", Toast.LENGTH_SHORT).show();
            return false;
        }
        File dir = new File(store_path);
        // 創建文件目錄
        if (!dir.exists()) {
            dir.mkdirs();
        }
        try {
            // 向文件目錄 dir中寫文件filename
            FileOutputStream fos = new FileOutputStream(new File(dir, filename));
            fos.write(data);
            fos.close();
            return true;

        } catch (IOException e) {
            e.printStackTrace();
            Log.i("TAG", "IOException..." + e);
            return false;
        }
    }
刪除圖片的方法

刪除圖片 代碼實現代碼實現如下:

    public void BtnDeleteImage(View view) {
        DeletleImg(getApplicationContext(), "photo.png");

    }

    // 刪除圖片
    public static void DeletleImg(Context context, String filename) {

        File dirfile = new File(store_path + filename);
        // 判斷文件是否存在
        if (!dirfile.exists()) {
            Toast.makeText(context, "文件不存在", Toast.LENGTH_SHORT).show();
            return;
        }
        if (dirfile.isDirectory()) {
            String[] childdir = dirfile.list();
            for (int i = 0; i < childdir.length; i++) {
                new File(dirfile, childdir[i]).delete();
            }
        }
        dirfile.delete();
    }
讀取顯示圖片的方法

讀取顯示圖片代碼實現如下:

// 讀取圖片
    public void BtnReadImage(View view) {
        Bitmap readImg = ReadImg(getApplicationContext(), "photo.png");
        if (readImg == null) {
            Toast.makeText(getApplicationContext(), "讀取失敗" + store_path,
                    Toast.LENGTH_SHORT).show();
        } else {
            ((ImageView) findViewById(R.id.img_external))
                    .setImageBitmap(readImg);
        }

    }

    // 讀取圖片
    public static Bitmap ReadImg(Context context, String filename) {
        // 判斷是否掛載SD卡
        if (!isMounted()) {
            Toast.makeText(context, "SD卡未安裝", Toast.LENGTH_SHORT).show();
            return null;
        }
        // 獲取文件路徑下的文件名稱
        File imgFile = new File(store_path, filename);
        if (imgFile.exists()) {
            Log.i("TAG", "imgFile" + imgFile.getAbsolutePath());
            // 將路徑下的文件轉換成 bitmap
            return BitmapFactory.decodeFile(imgFile.getAbsolutePath());
        } else {
            Toast.makeText(context, "文件不存在", Toast.LENGTH_SHORT).show();
        }

        return null;
    }

布局如下:




    

    

至此,本篇已結束,如有不對的地方,歡迎您的建議與指正。同時期待您的關注,感謝您的閱讀,謝謝!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75893.html

相關文章

發表評論

0條評論

Dionysus_go

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<