# OURYGO-File-Select
**Repository Path**: feihuaduo/OURYGO-File-Select
## Basic Information
- **Project Name**: OURYGO-File-Select
- **Description**: 文件选择器
- **Primary Language**: Android
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2018-04-26
- **Last Updated**: 2024-10-31
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OURYGO File Select
选择各种文件/文件夹/图片
[OURYGO File Select下载](http://fs.ourygo.top/)
项目中用到的其他的库
·[图片选择器](https://github.com/smuyyh/ImageSelector/)
如果选择成功resultCode为RESULT_OK
如果选择失败resultCode为RESULT_CANCELED
[文件选择工具类](https://gitee.com/feihuaduo/OURYGO-File-Select/blob/master/app/src/main/java/com/ourygo/fileselect/util/FileSelectUtil.java),可使用工具类的代码,也可按照下面规则自己写
## 参数含义,以下参数请按照规则自己定义
### 文件选择类型参数
|参数名|类型|值|参数含义|
|--|--|--|--|
|FILE_TYPE_PATH|int|0|选择路径|
|FILE_TYPE_FILE|int|1|除下面文件类型外所有的文件|
|FILE_TYPE_CDB|int|2|.cdb文件|
|FILE_TYPE_CONF|int|3|.conf文件|
|FILE_TYPE_CARD_PIC|int|4|名称为"pics.zip"的文件|
|FILE_TYPE_LUA|int|5|.lua文件|
|FILE_TYPE_ENDING|int|6|.cjcd文件|
|FILE_TYPE_ZIP|int|7|.zip文件|
|FILE_TYPE_PIC|int|8|.jpg/.jpeg/.png文件|
|FILE_TYPE_TXT|int|9|.txt文件|
|FILE_TYPE_YDK|int|10|.ydk文件|
|FILE_TYPE_YSE_SET|int|11|.yse-set文件|
|FILE_TYPE_CUSTOM|int|100|自定义文件后缀名的文件|
### Intent跳转参数
|参数名|参数类型类型|参数含义|
|--|--|--|
|TYPE_ARRAY|int[]|需要选择的文件类型|
|PICS_NUM|int|选择的图片数量|
|FILE_SUFFIX|String|自定义文件后缀名(.xxx)(可选)|
|SELECT_NAME|String|当选择文件为多选/其他文件/自定义后缀的文件时的标题栏提示文字(可选,不写默认为文件选择)|
|CURRENT_PATH|String|打开文件选择的默认路径(可选,不写默认为根目录)|
|SELECT_NUM|int|选择的文件最大个数(可选,不写默认单选)|
|IS_HORIZONTAL|String|是否横屏进入选择文件(可选,默认竖屏)|
|PICS_RATIO_WIDTH|String|裁剪图片的比例宽,选择图片数量为1时生效|
|PICS_RATIO_HEIGHT|String|裁剪图片的比例高,选择图片数量为1时生效|
|PICS_SIZE_WIDTH|String|裁剪图片的分辨率宽度,选择图片数量为1时生效|
|PICS_SIZE_HEIGHT|String|裁剪图片的分辨率高度,选择图片数量为1时生效|
### 选择文件:
```java
int[] typeArray=new int[]{FILE_TYPE_CDB,FILE_TYPE_LUA};//要选择的文件类型的参数列表
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.ourygo.fileselect", "com.ourygo.fileselect.activity.SplashActivity"));
intent.putExtra("TYPE_ARRAY", typeArray);
intent.setAction("ourygo.intent.action.OURYGO_FILE_SELECT");
if (context.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
startActivityForResult(intent,requestCode);
}else{
//未安装OURYGO File Select,跳转网址下载
startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://fs.ourygo.top/")));
}
```
### 选择图片:
```java
int picsNum=1;//要选择的图片数量
Intent intent = new Intent();
intent.putExtra("PICS_NUM",picsNum);
intent.setComponent(new ComponentName("com.ourygo.fileselect", "com.ourygo.fileselect.activity.SplashActivity"));
intent.setAction("ourygo.intent.action.OURYGO_PICS_SELECT");
if (context.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
startActivityForResult(intent,requestCode);
}else{
//未安装OURYGO File Select,跳转网址下载
startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://fs.ourygo.top/")));
}
```
### OURYGO File Select下载地址:
```java
public static final String DOWNLOAD_URL_OURYGO_FILE_SELECT="http://fs.ourygo.top/";
```
### 获取返回的文件路径(单选时):
```java
public static String getFileSelectPath(Intent data){
return data.getStringExtra("PATH");
}
```
### 获取返回的文件路径(多选时):
```java
public static ArrayList getFileSelectPathList(Intent data){
return intent.getStringArrayListExtra("PATH_LIST")
}
```
### 获取返回的文件类型(单选时):
```java
public static int getFileType(Intent data){
return data.getIntExtra(FileSelectUtil.ARG_FILE_TYPE,FileSelectUtil.FILE_TYPE_FILE);
}
```
### 获取返回的图片路径列表:
```java
public static ArrayList getPicsSelectPath(Intent data){
return data.getStringArrayListExtra(FileSelectUtil.ARG_PICS);
}
```