下载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(); } }); }