您的位置:首页 > 移动开发 > Android开发

Android 文件选择的使用

2016-08-18 16:01 357 查看
下载jar包(可以到我的百度云盘上下载:链接: https://pan.baidu.com/s/1hrMVv0o 密码: efct)

Copy jar包到我们的项目中:

这个jar包是我看Bmob的示例代码的时候,发现的,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!

定义触发文件选择的按钮:

<Button

android:id="@+id/btn_main_chose_file"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="选择文件"
/>

在Activity中找到并设置事件(….)

让该Activity实现FileChooserListener接口

在清单文件中添加读文件的权限:

<!--
文件存储 -->

<uses-permission android:name="android.permission.WAKE_LOCK"/>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

实现文件选择的核心代码:

private FileChooserManager fileChooserManager;//文件选择管理器
private ChosenFile chosendFile;//选择的文件
//按钮的事件
private void choseFile() {
fileChooserManager = new FileChooserManager(this);//创建文件选择管理器
fileChooserManager.setFileChooserListener(this);
fileChooserManager.setMimeType("image/jpeg");//设置选择指定文件格式的文件
try {
fileChooserManager.choose();
} catch (Exception e) {
System.out.print(e.getMessage());
}
}

//在该Activity返回的时候,判断并提交选择结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ChooserType.REQUEST_PICK_FILE && resultCode == RESULT_OK) {
if (fileChooserManager == null) {
fileChooserManager = new FileChooserManager(this);
fileChooserManager.setFileChooserListener(this);
}
fileChooserManager.submit(requestCode, data);
}
}
//FileChooserListener的方法
@Override
public void onFileChosen(final ChosenFile chosenFile) {
chosendFile = chosenFile;
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, chosendFile.getFilePath(), Toast.LENGTH_SHORT).show();
Bitmap bitmap = BitmapFactory.decodeFile(chosendFile.getFilePath());
ivMainBmobImage.setImageBitmap(bitmap);
}
});
}
//FileChooserListener的方法
@Override
public void onError(String s) {
final String str = s;
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: