rosuH/AndroidFilePicker
rosuH/AndroidFilePicker has 1,071 GitHub stars and 94 forks. Star changes are not measured yet. Last checked 2026-11-09 10:42 UTC. Last push 2024-04-10.
FilePicker is a small and fast file selector library that is constantly evolving with the goal of rapid integration, high customization, and configurability~
Measured star growth
- in 24h
- Update delayed
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
Android File Picker🛩️
If you're using 0.x version, checkout the README_0.x file.
Well, it doesn't have a name like Rocky, Cosmos or Fish. Android File Picker, like its name, is a local file selector framework. Some of his characteristics are described below:
- Launcher in Activity or Fragment
- Start with a single line of code
- Browse and select all files in local storage
- Custom Root path to start
- Built-in default file type and file discriminator
- Or you can implement the file type yourself
- Built in Single Choice mode and Multiple Choice mode.
- Custom list filter
- Just want to show pictures(Or videos, audio...)? No problem!
- Of course, you can just display the folder
- Custom item click event: only need to implement the listener
- Apply different themes, including four built-in themes and custom themes
- More to find out yourself
| Rail | Reply | Crane | Shrine |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Version Compatibility
It depends on your targetAPI.
targetAPI > 33, may be you are finding photo pickertargetAPI == 33- Handle media permissions by your onw
- This lib will only show media files which your app has permission to access
targetAPI <= 33- Set
android:requestLegacyExternalStorage="true"in yourAndroidManifest.xmlfile - Handler
android.permission.READ_EXTERNAL_STORAGEpermission by your own - This lib will show all files in your storage
- Set
Download
In your project build.gradle:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
In your module build.gradle:
dependencies {
implementation 'me.rosuh:AndroidFilePicker:$latest_version'
}
This lib now support AndroidX, check the version below.
Check out releases page to see more versions.
Usage 📑
Permission
You should request permission by yourself, this lib will not request permission for you. See Version Compatibility for more details.
Launch 🚀
FilePickerManager
.from(context)
.forResult(FilePickerManager.REQUEST_CODE)
Receive Result
In onActivityResult() callback of the starting Activity or Fragment:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
when (requestCode) {
FilePickerManager.instance.REQUEST_CODE -> {
if (resultCode == Activity.RESULT_OK) {
val list = FilePickerManager.instance.obtainData()
// do your work
} else {
Toast.makeText(this@SampleActivity, "You didn't choose anything~", Toast.LENGTH_SHORT).show()
}
}
}
}
The result is a path list of the selected file (ArrayList<String>()).
Docs
Special Thanks To:
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,576 starspublic-apis/public-apis
A collective list of free APIs
497,894 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
449,513 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,300 stars


