This one probably has a multitude of uses, many of which I have not thought of yet, but use for passwords, creating secret data for exchange with a php server, lock down your app if it contains sensitive data… this list will go on.
I found the code on stack overflow whilst looking for something completely different – so all credits must go there. I initially looked to replicate the scriipt with blocks, but came up against the vastness of the UTF-16 character set, and decided it would be better / easier to use an html page and webviewstring.
This demo shows how to create a simple image slideshow using either buttons or swiping images. The demo works as a carousel, i.e. when you get to the last image, clicking Next or swiping will return you to the first image.
Many people on the forum are looking to handle long lists of data, usually with code information, e.g. AB-1025, and wanting to select from a list. A single column list can become unwieldy, therefore I decided to have a look at using multiple listviews to display the data, Continue reading “Tabulate with listviews (demo)”
I have been working on doing this for quite some time within AppInventor, but the tools required on board are just not quite there to do it yet. However, I have come up with a “slingshot” solution using a combination of web technologies that will get a file from your device up to google drive.
In order to achieve this, you will require the following:
A google web app
An https web server with php and ftp access
A couple of php scripts / pages
Ai2 developed app
Credits to Scott Ferguson for the postfile howto, Digital Inspiration for the bones of the apps script, and to Taifun for the File extension 🙂
Again I assume that you have a good grip of AI2, writing and publishing google app script web apps, and the ability to ftp to your web space on an https server (Google Drive will NOT accept urls from non https servers)
This works remarkably well, both for images on file and those taken with the device’s camera. A shot of a somewhat crumpled petrol receipt returned all the text on the original.
You are going to have to do some layout and formatting with the returned text, but very little word editing.
For this I used two google apps script web apps, one for the image upload to google drive, the second to carry out the OCR. I attempted to combine them into one, but couldn’t get my “blob” to play nicely. Google Docs will OCR jpg, png, gif and pdf files, but sadly no pdf functionality in this version, yet to resolve base64 encoding of pdf files on AI2, this only seems viable with images at present.
I used two extensions, ghostfox’s base64 Encoder extension, and Taifun’s Image extension. And a nod also to Digital Inspiration and Tanaike for some of the code. Gratitudes to all of you 🙂
That is create / read / update / delete to the uninitiated and the base requirement for the management of the data in a database. There are many solutions on AI2 already that access remote data and database systems, and I have already explored some of the possibilities for connecting with Google Sheets, but never really put it all together. This effort aims to address that and to provide a single web app, built from google apps script as an interface between AI2 and a Google Sheet. This means you can keep your google sheet private yet provide access to the data via the mobile app.
I was partially driven to this by the lack of usable / functional / (free) online data storage solutions that everyone can easily use, the upcoming demise of fusion tables and loss of firebase access from Ai2, and as said above, the need to pull various previous efforts together in one place.
This is one of those questions asked on the forum that you think, that should be easy enough to figure out, but when it comes down to it, there was a fair bit of thinking involved. The developer wanted to set a start date for a treatment plan (which had to be a weekday), then enter the number of days required for the treatment, and to then work out the end date for the treatment, which could only take place on weekdays…
From our lists in Appinventor we create suitably formatted strings for each “column” (e.g. ID or NAME) and send the entire string to the webapp as a single parameter. You can of course pull in a csv file using the file component.