软件、硬件定制开发,联系QQ:99605319
应用领域: Android
开发语言: java
数据库 : 其它
资源语言: 中文





008tQegqgy1h6ktegip75j30k00zk0ts.jpg


安卓文件管理器源码(自带FTP服务器/客户端)


一个开源的 Material Design 文件管理器,适用于 Android 5.0+。


## 特性


- 开源:轻量、简洁并且安全。

- Material Design:遵循 Material Design 规范,并且注重细节。

- 面包屑导航栏:点击导航栏所显示路径中的任一文件夹即可快速访问。

- Root 支持:使用 root 权限查看和管理文件。

- 压缩文件支持:查看、提取和创建常见的压缩文件。

- NAS 支持:查看和管理 FTP、SFTP 和 SMB 服务器上的文件。

- 主题:可定制的界面颜色,以及可选纯黑的夜间模式。

- Linux 友好:类似 [Nautilus],支持符号链接、文件权限和 SELinux 上下文。

- 健壮性:使用 Linux 系统调用实现,而不是另一个 [`ls` 解析器]。

- 实现良好:使用正确的方式打造,包括 [Java NIO2 文件 API和 [LiveData]。

## 为什么要有 Material Files?


因为喜爱 Material Design,并且是整洁、精致的 Material Design。


市面上已经有了许多强大的文件管理器,但它们中的大多数并非 Material Design。而即使在算是 Material Design 的应用之中,它们(或多或少)有着各种设计瑕疵(布局、对齐、留白、图标、字体等等)存在于应用的各个角落,让人难受;然而却又不是特别大的问题,以至于可能没人愿意特意改善。所以还是需要自己编写。


因为想要一个开源的文件管理器。


大多数流行并且可靠的文件管理器都是闭源的,并且我有时会使用它们来查看或修改需要 root 权限的文件,但我心里对于授予 root 权限给闭源应用还是有些不安。毕竟 root 权限意味着对设备的完全访问权限,而这台设备每天跟随着我并且存储着我的个人信息;这样的话,闭源应用实际上做了哪些事情就完全仅仅取决于它们的良心了。


因为想要一个正确实现的文件管理器。


- 这个应用实现了 [Java NIO2 文件 API]作为后端,而不是发明一个自定义的机制来获取文件信息和进行文件操作。后者经常变得与前端逻辑耦合起来,最终成长为一个包含各种东西的混合物([示例])。相反地,一个解耦的后端可以使得代码更加干净(更少问题),并且可以更轻松地加入新文件系统的支持。


- 这个应用没有使用 `java.io.File` 或者解析 `ls` 的输出,而是构建了 Linux 系统调用的绑定来正确地访问文件系统。`java.io.File` 是一个陈旧并且缺少许多功能的 API,并且无法正确处理符号链接,因此许多人宁愿解析 `ls` 的输出。然而解析 `ls` 的输出不仅缓慢,而且[不可靠],同时也正是 [Cabinet]在新版本 Android 上无法正确运行的原因。而通过使用 Linux 系统调用,这个应用可以做到快速流畅,并且能够处理例如 Linux 权限、符号链接以至于 SELinux 上下文等等高级特性。应用也可以正确地处理含有无效 UTF-8 编码的文件名,因为应用中的路径没有简单地使用 Java 的 `String` 存储,而大多数其他文件管理器却并非如此,因此无法正确地进行文件操作。


- 这个应用的前端是基于现代的 `ViewModel` 和 `LiveData` 实现的,使得代码结构更加清晰并且支持转屏。应用也可以正确地处理文件操作中的错误、文件冲突和前台/后台状态。


总而言之,这个应用尽力遵守 Android 上的最佳实践并且做正确的事,同时保持源代码干净和可维护。


因为事情可以被人做好。


[Nautilus]是一个设计美观并且用户友好的 Linux 桌面上的文件管理器,并且同时做到了 Linux 友好。[Phonograph]是一个开源的 Material Design 音乐播放其应用(我自己已经使用多年),而它也有着绝佳的 Material Design 设计和实现。


所以,是时候再编写一个 Android 文件管理器了。


## 在定制 ROM 中集成

如果您决定在您的定制 ROM 中集成这个应用,十分感谢!但是鉴于我曾收到过多起由不适当的集成导致的用户反馈,请允许我为了更好的用户体验提供一些关于正确集成这个应用的建议:


- 请不要使用这个应用替换 AOSP 的 [DocumentsUI]应用。这个应用没有被设计成 DocumentsUI 的替代品并且缺少许多 DocumentsUI 中的功能——实际上,这个应用需要 DocumentsUI 来授予外置 SD 卡的访问权限。


- 请确保这个应用可以被卸载或至少禁用。某些用户可能出于各种原因不想要这个应用,并且会在发现无法移除这个应用时十分恼火。


- 请避免和这个应用的 Play/F-Droid 版本冲突。应用商店无法更新使用了不同证书进行签名的应用,所以您可以预置一个由我(或 F-Droid)签名的 APK 以使用户能够在 Play 或 F-Droid 上更新这个应用;或者如果您需要使用其他的证书进行签名(并进行其他更改),请复刻本项目并重命名它的软件包名。



实用工具资源(安卓文件管理器源码(自带FTP服务器/客户端))网址:https://www.08i8.com/ttkfzy/detail83203.html;转载请注明!


提示:
1、资源共享网(www.08i8.com)实用工具java源码《安卓文件管理器源码(自带FTP服务器/客户端)》仅供研究学习请勿商用!
2、如果发现本资源违法或侵权请【报告管理员】
3、您所看到的所有资源都是网友分享,资源共享网(www.08i8.com)无法保证都能正常下载使用,
4、如果您发现资源无法下载或无法使用请【报告管理员】,管理员会联系资源发布者补充新资源!
5、如果暂时无法补充新资源,【只退积分!不退款!
6、关注微信公众号:《国资互联联盟》 不迷路!

与《安卓文件管理器源码(自带FTP服务器/客户端)》相关的《完整源码》


  • 手机定位app源码(安卓源码+PHP服务端源码)附成本和教程

    手机定位app源码(安卓源码+PHP服务端源码)附成本和教程

    如果不想研究源码,只想体验的可以只下app注:1、前端(app)源码为autojs开发,有成本apk2、后台为php+mysql开发(目前只实现了基本的功能)3、资源包含前端(app)源码、服务端php源码、adb工具、APKTool打包工具、autojs工具4、不是所有的手机都能定位功能:1、GPS定位2、地图查看轨迹和驻留时间使用方法:1、在安卓的机上安装”成品location.apk“2、打...

    50 58557  0

  • TelnetClient(安卓源码)

    TelnetClient(安卓源码)

    安卓项目开发中使用到了telnet于是乎写了个精致的小Demo完整源码可运行,简单易懂无bug

    5 21299  0

  • 微信抢红包外挂源码(Android安卓机手APP源码)

    微信抢红包外挂源码(Android安卓机手APP源码)

    只要是将整个核心抢红包的流程编写出来。是一个比较早的抢红包源码,Android原生开发

    5 39996  0


  • QT+HJ212污染物在线监控(监测)系统全套资源(源码、标准、成品、支持2005、2017协议)

    QT+HJ212污染物在线监控(监测)系统全套资源(源码、标准、成品、支持2005、2017协议)

    资源包括一、C++源码1、HJ212ClientAndServer源码2、HJ212ClientAndServerSerialPort源码二、标准1、HJ212-2017污染物环境监控系统数据传输新标准2、HJT212-2005 污染源在线自动监控(监测)系统数据传输标准.pdf_897461三、成品1、HJ212ClientAndServer.exe2、HJ212ClientAndServerS...

    5 49691  0

  • 显示器屏幕坏点测试工具(附c#源码)

    显示器屏幕坏点测试工具(附c#源码)

    切换不同颜色的背景可看显示器坏点

    5 55595  0

  • 裸眼3D图片制作工具(附NET源码)

    裸眼3D图片制作工具(附NET源码)

    注:效果一般,仅用于图片处理参考学习

    5 52073  0


  • ziyuan
    ziyuan Rank: 16

    0

    0

    0

    ( 此人很懒并没有留下什么~~ )
    img

    安卓文件管理器源码(自带FTP服务器/客户端)

    下载积分 钻石会员
    10 免费
    请您 登录后 下载 !
    说明

    您下载所消耗的积分将转交上传作者。上传资源,免费获取积分!


    首页

    栏目

    搜索

    会员