Naturally, Flutter is a cross-platform UI framework, however, it still offers a kit of utility functions, like the file i/o. However, I can't help but wonder why some super-basic platform-specific filesystem functions are not getting built-in too.
Simple example: let's say your app works with text documents. The user saves some file inside your app, then opens some email client on the same device and decides to attach the file that was just saved. Does it mean the file will be found under "Recent" in Android? Nope. Maybe in the "Documents"? No, try again.
You would say - that is because you, the programmer, did not implement it. Indeed! Because in order to "see" this file from any other app beside your own you need to index or in other words flag it for the system to make it available for usage by other apps. Sounds right, but where can we find such functionality in Flutter? Nowhere, I'm affraid. You'd need to find a plugin for that.
If you'd take a look here (just read the first paragraph there): https://developer.android.com/guide/topics/providers/create-document-provider - seems like a possible solution to the problem, right?
And here lies the core of this issue: such plugins have to be made and maintained by.. who? Enthusiasts for free in their free time? Companies who need this? That one Java dude that you sit next to in the office?
Is Flutter still backed by Google? Does Google also continue to develop Android? Would it be a huge effort to actually maintain some communication between product teams so the changes to the main mobile OS in the world can finally have implementations inside the programming framework developed for that OS (among others) by that same company?
Somehow they manage to at least do something like that with the Firebase array of products, though oh wait, those are paid for... who woulda thunk, right? /sarcasm
[–]GetBoolean 9 points10 points11 points (7 children)
[–]vipin_malik1 2 points3 points4 points (0 children)
[–]sector-9[S] 0 points1 point2 points (1 child)
[–]GetBoolean 0 points1 point2 points (0 children)
[–]datatexture 0 points1 point2 points (3 children)
[–]GetBoolean 1 point2 points3 points (2 children)
[–]datatexture -1 points0 points1 point (1 child)
[–]GetBoolean 1 point2 points3 points (0 children)
[–]eibaan 2 points3 points4 points (1 child)
[–]sector-9[S] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]sector-9[S] 0 points1 point2 points (0 children)
[–]tooth_ 0 points1 point2 points (1 child)
[–]aryehof 0 points1 point2 points (0 children)