I am trying to create a Flutter app that can open a specific file format. I expect people to use Drop Box (and other similar apps, in the future) to download/sync the files... so I need to be able to access such files from Flutter.
From all I've read so far, mobile apps don't normally have access to the file system except in their own Documents directories, so it seems it's not possible to open a file downloaded via another app.
Is that correct? There must be at least some workarounds, after all, you need to be able to open files in your Drop Box folder using other apps!?
If no Flutter solution exists, can someone point out how to implement such functionality on iOS and Android (I could then write a Flutter plugin that abstracts that away)?
If I understand it correctly, it's not possible to access files managed by DropBox (or any mobile app) from another app without actually integrating with DropBox directly (rather than via the file system).
DropBox has various tools that can be used for this.
The simplest one seems to be to integrate DropBox Chooser into your app, in which case a button is added to the app which allows the user to select the file from a DropBox view (screenshot).
Other options include authenticating DropBox users via OAuth then using the DropBox REST API, or including the DropBox SDK, which makes doing that easier (but you have to implement it for both iOS and Android, maybe as a Flutter plugin, as there seems to be no Flutter support).
There's also a Dart DropBox REST client project on GitHub but it seems to be abandoned.
Related
I am getting started with mobile apps development, but there are so many tools available to develop cross-platform apps, so I am really curious as to what was used to build certain apps.
Basically I would like to know if there is something like PEiD, but for mobile apps, or if there is an easy way to find out what was used to create a certain app I've downloaded from Google's/Apple's App Store (i.e. some sort of file or information inside the apk file).
EDIT
After searching a bit more I found this, which may work in a few cases: decompiling DEX into Java sourcecode
For instance, I decompiled one game that I had on my Android smartphone (and on my iPad) and found Cocos2d framework inside it.
Some cross platform tools let the programmer use web technologies (HTML, CSS and JavaScript) so then they can load these files into a WebView. If you were to dump the View hierarchy using DDMS you will see a WebView on it.
Having said that, the point of these frameworks is to generate the same end result as a native app, so I doubt there will be metadata somewhere in the .apk.
I want to write a small Android App and also a small Google Chrome App, which should keep their data synchronized. I decided to use Google Drive to synchronize the data.
Like Google Keep seems to do it :
Google Keep saves all your notes to your Google Drive, so everything is backed up and available, should anything happen to the original device or computer on which the notes were made.
Currently I am only working on the Android App. After searching for a way to create a hidden folder to store the data I found the Application Folder.
While this seems to be perfect for my Android App my question is: can I also access this app folder from a google chrome app?
If not is there a good way to synchronize data between an Android App and a Chrome App using Google Drive?
Thanks for your help
"question is: can I also access this app folder from a google chrome app?"
yes
"If not is there a good way to synchronize data between an Android App and a Chrome App using Google Drive?"
There are numerous sync strategies you can employ, eg ...
Full refresh
Poll changes feed
Set up a push notification
Which is right for you depends on your specific preferences
Chrome Apps for Mobile (using the cca tool) have an implementation of chrome.syncFileSystem that will use Drive storage to sync data between a chrome desktop and hybrid android app automatically for you!
The downside is that chrome.syncFileSystem does not currently use Drive Application Data folder (it wasn't available when we implemented the API).
The upside is, if you only care about syncing data, and not necessarily how it is synced, and you already want to implement a chrome app anyway, using the cca tool should really be an awesome solution for you.
I have a simple one page web application. Due to some reasons, my client wants to package this as a native app for iOS and Andriod. This application does not intend to use any of the device's capability (such as camera etc.). It just needs to be packaged so that it runs on the mobile device as a native app rather than the browser.
My question is if I use PhoneGap to package this app, can I simply upload the zip file as is on phonegap and download the packages for these devices? Or I would need to go through the process of creating phonegap app?
You have to follow some process for it. You have to add config.xml and make some changes in it as per your requirement. And nothing else.
Make zip file of your HTML, CSS, Config.xml.
Refer Phonegap Build Documents
I need to create an application that does the following:
Is available for Android and iOS devices primarily, Windows phone support would be nice
Allows the user to use the app offline
Allows the user to download files (PNGs and HTMLs) from a webserver to be displayed later within the webapp (needs to be able to be viewed offline)
Doesn't require user to redownload all the PNGs and HTMLs if they clear their browser cache (would be nice if there was a way to keep them from clearing the web app cache too, but I understand if this is not possible)
What tools do I use for this? So far, I'm at HTML5 web app and I understand how to cache the site, but how do I get the files (PNGs and HTMLs) to be saved locally and not subject to being cleared should the user clear the browser cache? Is native for iOS, Android, and Windows the only way to go here?
Any help is appreciated...
If you want your app to work on multiple platforms and be available offline, your best bet would be to wrap your app in something like PhoneGap and package it up for the various platforms.
This allows for one common "HTML-based web app" code base but will require compiling for the different platforms respectively.
I am trying to build a cross mobile platform app to sync files and photos between devices, something like dropbox but for mobile or like sugarsync.
I want it to run on iphone/ipad , android, windows phone.
So for example the user can put a file on his iphone and can see it on his windows phone automatically.
Is that possible using phonegap apis or should i search for another solution?
Yes.
You retrieve the file from the local device and upload to your server.
You can then download the file from the server on the other device.
You can do this using the FileTransfer functionality in PhoneGap (supported on Android, iOS, BlackBerry & WP7) without the need to write any plugins or native code.
You'd just have to write the permissions side of things, the ability to return a list of files stored on the server and manage the syncing of changes.
BEWARE: There a legal, privacy and security issues with accessing and storing other peoples files.
Do you mean P2P or using a server?
In both cases I guess your best chance is using Sockets.
http://remysharp.com/2010/10/04/websockets-in-phonegap-projects/
You will need to natively write a Sync service for each platform, and then expose that Sync service via a PhoneGap plugin. PhoneGap is still the way to go due to its cross platform support