jaiselrahman / Filepicker
Licence: apache-2.0
FilePicker library for Android
Stars: ✭ 181
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Filepicker
Mediapicker
Media Picker is an Android Libary that lets you to select multiple images or video
Stars: ✭ 254 (+40.33%)
Mutual labels: media, picker
Flutter app
🔥🔥🔥本项目包括各种基本控件使用(Text、TextField、Icon、Image、Listview、Gridview、Picker、Stepper、Dialog、Slider、Row、Appbar、Sizebox、BottomSheet、Chip、Dismissible、FlutterLogo、Check、Switch、TabBar、BottomNavigationBar、Sliver等)、豆瓣电影、tubitv、每日一文、和天气、百姓生活、随机诗词、联系人、句子迷、好奇心日报、有道精品课、高德定位、音乐播放器🎵、追书神器等板块
Stars: ✭ 2,140 (+1082.32%)
Mutual labels: picker
Opalimagepicker
A multiple image picker for iOS, written in Swift
Stars: ✭ 165 (-8.84%)
Mutual labels: picker
Ngx Daterangepicker Material
Pure Angular 2+ date range picker with material design theme, a demo here:
Stars: ✭ 169 (-6.63%)
Mutual labels: picker
Hxphotopicker
图片/视频选择器 - 支持LivePhoto、GIF图片选择、3DTouch预览、在线下载iCloud上的资源、编辑图片/视频、浏览网络图片 功能 Imitation wx photo/image picker - support for LivePhoto, GIF image selection, 3DTouch preview, Download the resources on iCloud online, browse the web image function
Stars: ✭ 2,363 (+1205.52%)
Mutual labels: picker
Things Calendar
Simple but elegant datepicker for the web — inspired by Things for mac
Stars: ✭ 165 (-8.84%)
Mutual labels: picker
React Native Paper Dates
Smooth and fast cross platform Material Design date and time picker for React Native Paper
Stars: ✭ 173 (-4.42%)
Mutual labels: picker
Multisite Global Media
Share a media library across the WordPress Multisite network
Stars: ✭ 162 (-10.5%)
Mutual labels: media
Isobmff
C++ Library for ISO/IEC 14496-12 - ISO Base Media File Format (QuickTime, MPEG-4, HEIF, etc)
Stars: ✭ 157 (-13.26%)
Mutual labels: media
Nextlevel
NextLevel was initally a weekend project that has now grown into a open community of camera platform enthusists. The software provides foundational components for managing media recording, camera interface customization, gestural interaction customization, and image streaming on iOS. The same capabilities can also be found in apps such as Snapchat, Instagram, and Vine.
Stars: ✭ 1,940 (+971.82%)
Mutual labels: media
Media Docker
all-in-one deployment and configuration for an all-in-one media server, running on docker.
Stars: ✭ 148 (-18.23%)
Mutual labels: media
Pbjvision
📸 iOS Media Capture – features touch-to-record video, slow motion, and photography
Stars: ✭ 1,940 (+971.82%)
Mutual labels: media
Brpickerview
BRPickerView 封装的是iOS中常用的选择器组件,主要包括:日期选择器(支持年月日、年月等15种日期样式选择,支持设置星期、至今等)、地址选择器(支持省市区、省市、省三种地区选择)、自定义字符串选择器(支持单列、多列、二级联动、三级联动选择)。支持自定义主题样式,适配深色模式,支持将选择器组件添加到指定容器视图。
Stars: ✭ 2,149 (+1087.29%)
Mutual labels: picker
React Native Google Place Picker
React Native Wrapper of Google Place Picker for iOS + Android.
Stars: ✭ 180 (-0.55%)
Mutual labels: picker
FilePicker Library for Android
A FilePicker library for Android for selecting multiple types of files and also to capture Images and Videos.
Note
- For Android 10 please upgrade to version above 1.3.0 which contains some behavior changes.
- Uses MediaStore Database for loading files info.
- Uses Glide for loading images.
Screenshots
Usage
Step 1: Add it in your root build.gradle at the end of repositories
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2: Add the dependency
dependencies {
...
implementation 'com.github.jaiselrahman:FilePicker:1.3.2'
}
Step 3: Start FilePickerActivity using startActivityForResult(...)
.
Intent intent = new Intent(this, FilePickerActivity.class);
startActivityForResult(intent, FILE_REQUEST_CODE);
Step 4: Receive results in onActivityResult(...)
.
case FILE_REQUEST_CODE:
ArrayList<MediaFile> files = data.getParcelableArrayListExtra(FilePickerActivity.MEDIA_FILES);
//Do something with files
break;
Configuration
The FilePickerActivity can be configured by using Configurations.Builder
methods
Example
intent.putExtra(FilePickerActivity.CONFIGS, new Configurations.Builder()
.setCheckPermission(true)
.setShowImages(true)
.enableImageCapture(true)
.setMaxSelection(10)
.setSkipZeroSizeFiles(true)
.build());
Builder Methods
Methods | Default value | Uses |
---|---|---|
setShowImages(boolean) | true | Whether to load Images files |
setShowVideos(boolean) | true | Whether to load Videos files |
setShowAudios(boolean) | false | Whether to load Audio files |
setShowFiles(boolean) | false | Whether to load Files for given suffixes |
enableImageCapture(boolean) | false | Enables camera for capturing of images |
enableVideoCapture(boolean) | false | Enables camera for capturing of videos |
setCheckPermission(boolean) | false | Whether to request permissions on runtime for API >= 23 if not granted |
setSuffixes(String...) | "txt", "pdf", "html", "rtf", "csv", "xml", "zip", "tar", "gz", "rar", "7z","torrent", "doc", "docx", "odt", "ott", "ppt", "pptx", "pps", "xls", "xlsx", "ods", "ots" |
Suffixes for file to be loaded, overrides default value |
setMaxSelection(int) | -1 | Maximum no of items to be selected, -1 for no limits |
setSingleChoiceMode(boolean) | false | Can select only one file, overrides setMaxSelection(int) use setSelectedMediaFile(MediaFile) to set default selection |
setSelectedMediaFile(MediaFile) | null | Default file selection in singleChoiceMode |
setSelectedMediaFiles(ArrayList<MediaFile>) | null | Default files to be marked as selected |
setSingleClickSelection(boolean) | true | Start selection mode on single click else on long click |
setSkipZeroSizeFiles(boolean) | true | Whether to load zero byte sized files |
setLandscapeSpanCount(int) | 5 | Grid items in landscape mode |
setPortraitSpanCount(int) | 3 | Grid items in portrait mode |
setImageSize(int) | Screen width/portraitSpanCount | Size of height, width of image to be loaded in Px |
setRootPath(String) | External storage | Set custom directory path to load files from |
setIgnorePaths(String... ignorePaths) | null | Regex patterns of paths to ignore |
setIgnoreNoMedia(boolean) | true | Whether to ignore .nomedia file |
setIgnoreHiddenFile(boolean) | true | Whether to ignore hidden file |
MediaFile methods
Method | Description |
---|---|
long getId() | Id of the file in MediaStore database |
String getName() | Name of file without suffix |
String getPath() | Absolute path of the file |
long getSize() | Size of the file |
long getDate() | Date when file is added to MediaStore database |
String getMimeType() | Mime type of the file |
int getMediaType() | One of TYPE_FILE, TYPE_IMAGE, TYPE_AUDIO, TYPE_VIDEO |
long getDuration() | Duration of Audio, Video files in ms, else 0 |
Uri getThumbnail() | Album Art of Audio files |
long getHeight() | Height of Image, Video files in Px for API>=16, else 0 |
long getWidth() | Width of Image, Video files in Px for API>=16, else 0 |
String getBucketId() | Id of Parent Directory in MediaStore database |
String getBucketName() | Name of Parent Directory |
Contributions
Feel free to contribute to this project. Before creating issues or pull request please take a look at following templates.
Credits
- Inspired by MultiType-FilePicker
License
Copyright (c) 2018, Jaisel Rahman
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].