All Projects → zhanghai → Materialfiles

zhanghai / Materialfiles

Licence: gpl-3.0
Material Design file manager for Android

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Materialfiles

Packagetracker
Track your package simply on Android.
Stars: ✭ 339 (-68.96%)
Mutual labels:  material-design, android-application
Blueprint
Free, feature-rich, easily customizable Android dashboard for icon packs
Stars: ✭ 389 (-64.38%)
Mutual labels:  material-design, android-application
Rcx
Rclone for Android
Stars: ✭ 338 (-69.05%)
Mutual labels:  file-manager, android-application
Nytimes App
🗽 A Simple Demonstration of the New York Times App 📱 using Jsoup web crawler with MVVM Architecture 🔥
Stars: ✭ 246 (-77.47%)
Mutual labels:  material-design, android-application
Quill
👻 [MOVED TO https://github.com/TryGhost/Ghost-Android] The beautiful Android app for your Ghost blog.
Stars: ✭ 552 (-49.45%)
Mutual labels:  material-design, android-application
Angular Filemanager
JavaScript File Manager Material Design Folder Explorer Navigator Browser Manager in AngularJS with CSS3 Responsive (with FTP in PHP / Java / Node)
Stars: ✭ 1,693 (+55.04%)
Mutual labels:  file-manager, material-design
Android Extensions
An Android library with modules to quickly bootstrap an Android application.
Stars: ✭ 356 (-67.4%)
Mutual labels:  material-design, android-application
Maoni
Lightweight library for collecting and handling user feedback from within Android applications.
Stars: ✭ 142 (-87%)
Mutual labels:  material-design, android-application
Douya
开源的 Material Design 豆瓣客户端(A Material Design app for douban.com)
Stars: ✭ 4,502 (+312.27%)
Mutual labels:  material-design, android-application
Ecommerce App Android
E-Commerce App for Android with Material Design Pattern
Stars: ✭ 470 (-56.96%)
Mutual labels:  material-design, android-application
Bottomsheet
BottomSheet dialog library for Android
Stars: ✭ 219 (-79.95%)
Mutual labels:  material-design, android-application
Music Player Go
🎶🎼 Very slim music player 👨‍🎤 100% made in Italy 🍕🌳🌞🍝🌄
Stars: ✭ 654 (-40.11%)
Mutual labels:  material-design, android-application
Listenermusicplayer
A Grace Material Design Music Player
Stars: ✭ 2,360 (+116.12%)
Mutual labels:  material-design, android-application
Popular Movies App
A simple Android app, that helps user to discover movies. Project 1 & 2 of Udacity Android Developer Nanodegree.
Stars: ✭ 293 (-73.17%)
Mutual labels:  material-design, android-application
Iconshowcase Dashboard
A full-of-features, easy-to-customize, free and open source, Material Design dashboard for icon packs.
Stars: ✭ 197 (-81.96%)
Mutual labels:  material-design, android-application
Geeknews
📚A pure reading App based on Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide
Stars: ✭ 3,496 (+220.15%)
Mutual labels:  material-design, android-application
Ibackdrop
A library to simply use Backdrop in your project (make it easy). Read more ->
Stars: ✭ 137 (-87.45%)
Mutual labels:  material-design, android-application
Android Multi Theme Ui
Android multi theme UI implementation with day night mode. This repository cover theme changes at runtime, user can select theme from pre-defined multiple themes and changes reflect dynamically on the go.
Stars: ✭ 142 (-87%)
Mutual labels:  material-design, android-application
Frames
Free, feature-rich, easily customizable Android dashboard for wallpapers apps
Stars: ✭ 396 (-63.74%)
Mutual labels:  material-design, android-application
Changedetection
Automatically track websites changes on Android in background.
Stars: ✭ 563 (-48.44%)
Mutual labels:  material-design, android-application

Material Files

本文中文版

Android CI status GitHub release License

An open source Material Design file manager, for Android 5.0+.

Get it on Google Play Get it on F-Droid

Get it on Coolapk Get the APK

Help translation on Transifex

Preview

Features

  • Open source: Lightweight, clean and secure.
  • Material Design: Follows Material Design guidelines, with attention into details.
  • Breadcrumbs: Navigate in the filesystem with ease.
  • Root support: View and manage files with root access.
  • Archive support: View, extract and create common compressed files.
  • SMB support: View and manage files on SMB servers.
  • Themes: Customizable UI colors, plus night mode with optional true black.
  • Linux-aware: Like Nautilus, knows symbolic links, file permissions and SELinux context.
  • Robust: Uses Linux system calls under the hood, not yet another ls parser.
  • Well-implemented: Built upon the right things, including Java NIO2 File API and LiveData.

Why Material Files?

Because I like Material Design, and clean Material Design.

There are already a handful of powerful file managers, but most of them just isn't Material Design. And even among the ones with Material Design, they usually have various minor design flaws (layout, alignment, padding, icon, font, etc) across the app which makes me uncomfortable, while still being minor enough so that not everybody would care to fix it. So I had to create my own.

Because I want an open source file manager.

Most of the popular and reliable file managers are just closed source, and I sometimes use them to view and modify files that require root access. But deep down inside, I just feel uneasy with giving any closed source app the root access to my device. After all, that means giving literally full access to my device, which stays with me every day and stores my own information, and what apps do with such access merely depends on their good intent.

Because I want a file manager that is implemented the right way.

  • This app implemented Java NIO2 File API as its backend, instead of inventing a custom model for file information/operations, which often gets coupled with UI logic and grows into a mixture of everything (example). On the contrary, a decoupled backend allows cleaner code (which means less bugs), and easier addition of support for other file systems.

  • This app doesn't use java.io.File or parse the output of ls, but built bindings to Linux syscalls to properly access the file system. java.io.File is an old API missing many features, and just can't handle things like symbolic links correctly, which is the reason why many people rather parse ls instead. However parsing the output ls is not only slow, but also unreliable, which made Cabinet broken on newer Android versions. By virtue of using Linux syscalls, this app is able to be fast and smooth, and handle advanced things like Linux permissions, symbolic links and even SELinux context. It can also handle file names with invalid UTF-8 encoding because paths are not naively stored as Java Strings, which most file managers does and fails during file operation.

  • This app built its frontend upon modern ViewModel and LiveData which enables a clear code structure and support for rotation. It also properly handles things like errors during file operation, file conflicts and foreground/background state.

In a word, this app tries to follow the best practices on Android and do the right thing, while keeping its source code clean and maintainable.

Because I know people can do it right.

Nautilus is a beautifully-designed and user-friendly file manager on Linux desktop, and it's fully Linux-aware. Phonograph is an open source Material Design music player app (which I've been using for years), and it has just the right Material Design and implementation.

So, it's time for yet another Android file manager.

License

Copyright (C) 2018 Hai Zhang

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
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].