All Projects → jaiselrahman → Filepicker

jaiselrahman / Filepicker

Licence: apache-2.0
FilePicker library for Android

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Filepicker

Belvedere
An image picker library for Android
Stars: ✭ 122 (-32.6%)
Mutual labels:  media, picker
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
Shaden
🎧 A modular audio synthesizer.
Stars: ✭ 175 (-3.31%)
Mutual labels:  media
Opalimagepicker
A multiple image picker for iOS, written in Swift
Stars: ✭ 165 (-8.84%)
Mutual labels:  picker
Docker Kodi
Dockerized Kodi with audio and video
Stars: ✭ 157 (-13.26%)
Mutual labels:  media
Ngx Daterangepicker Material
Pure Angular 2+ date range picker with material design theme, a demo here:
Stars: ✭ 169 (-6.63%)
Mutual labels:  picker
Hephotopicker
自由定制支持视频,图片的相册选择器
Stars: ✭ 146 (-19.34%)
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
Ktvhttpcache
A powerful media cache framework.
Stars: ✭ 2,113 (+1067.4%)
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
Countrycode
🎯 Swift country and phone code Picker
Stars: ✭ 175 (-3.31%)
Mutual labels:  picker
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

License API jitPack Monthly Downloads Weekly Downloads Android Arsenal

A FilePicker library for Android for selecting multiple types of files and also to capture Images and Videos.

Sample Apk

Note

Screenshots

pic

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

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].