2019年2月22日 星期五

[Android]_ch7.5_存取行動裝置外部儲存媒體(私有區)



[Android]_ch7.5_存取行動裝置外部儲存媒體(私有區)



package com.derek.ch23_externalstorage;



import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;



import android.R.integer;

import android.app.Activity;

import android.content.Context;

import android.content.res.Resources;

import android.media.MediaScannerConnection;

import android.net.Uri;

import android.os.Bundle;

import android.os.Environment;

import android.util.Log;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;





public class MainActivity extends Activity {

Button btn1,btn2;

TextView tv1;

ImageView iv;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        iv=(ImageView)findViewById(R.id.imageView1);

        tv1=(TextView)findViewById(R.id.textView1);

        btn1=(Button)findViewById(R.id.button1);

        btn2=(Button)findViewById(R.id.button2);

        btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

File path=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);// /storage/sdcard/DCIM

File file=new File(path,"derek.jpg");  // /storage/sdcard/DCIM/derek.jpg

saveImage(file);

}

});

        btn2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

File path=getExternalFilesDir(Environment.DIRECTORY_PICTURES);

File file=new File(path,"derek.jpg");  // /storage/sdcard/DCIM/derek.jpg

saveImage(file);

}

});

    }

    public void MediaScan(String paths[]){

    MediaScannerConnection.scanFile(MainActivity.this, paths, null, new MediaScannerConnection.OnScanCompletedListener() {

@Override

public void onScanCompleted(String path, Uri uri) {

Log.v("MediaScanner", "path="+path+" uri="+uri);

}

});

    }

    public void saveImage(File file){

    File path=file.getParentFile();

    if(!isSDCARDExit())

Toast.makeText(MainActivity.this, "SD CARD未裝置!", Toast.LENGTH_SHORT).show();

if(!path.exists())

path.mkdirs();

if(file.exists())

file.delete();

Resources resources=getResources();

InputStream is=resources.openRawResource(R.drawable.a16);

try {

int num=is.available();

byte data[]=new byte[num];

FileOutputStream fos=new FileOutputStream(file);

is.read(data);

fos.write(data);

is.close();

fos.close();

Toast.makeText(MainActivity.this, "1.公有區寫入成功", Toast.LENGTH_SHORT).show();

tv1.setText("檔案大小:"+num+"位元組\n檔案位置:"+file.toString());

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

String paths[]={file.toString()};

MediaScan(paths);

    }

    public boolean isSDCARDExit(){

    String state=Environment.getExternalStorageState();

    if(state.equals(Environment.MEDIA_MOUNTED))

    return true;

    else

    return false;

    }



}


沒有留言:

張貼留言

Ether.fi Cash Card 一張所有人必備的加密貨幣信用卡   [Ether.fi Cash Card] : https://www.ether.fi/app/cash/sign-up?ref_code=d27f8523 ------國際交易所------ [Bitg...