The problem was transient. I was able to Google search natively from other GenyMotion instances, then my sheets testing emulator miraculously regained its Internet access, restoring sheets block capabilities.
My current guess is that I had rushed some Genymotion network setup/teardown activity when switching emulators.
I finished the code for my sample Sheets app, a Pizza Shop.
It turned out to be more than I bargained for, in scope.
Here's the source, and some screen shots ... APizzaSheet.aia (37.7 KB)
Initial order entry requires a name, and logs the time.
A List Picker lets you pick from the Menu, without duplication.
Using the row number as a foreign key from the item level key forces us into a zero-delete scheme, where the deletion is done by a Manager at end of day or week. To limit calls to Google Sheets, the deletion is done by columns (a fixed number of calls ~15) instead of by rows, and the headings of the two emptied out tables are replaced afterwards.
The top level menu of the app has an option for a counterman to see all the items he has yet to fill. Selecting an item brings up the rest of the order that contains that item.
A Management branch of the top level menu offers a sales summary query and periodic cleanup of the data.
(I did not bother cleaning up the Sales Summary data.)
I relied on Google Sheets SQL to do my grouping and summarization.
It would have been nice to use my headers for the SQL instead of the column letters, but I could not get that to work.
Every App Inventor service provides a corresponding companion. You can get the companion for sideloading on your device by going to Help > Companion Information on the test server.
Ok. Thanks. I wish I had seen this last night - may have saved some remaining hair! Suggest put this at at the start of the thread - need to uninstall existing companion and download from the Test.
Today I updated to the new Companion version and everything is working again. This is a great tool!
I miss the ability to be able to clear a range. Something like "Clear(A3:G)" to clear all cells in columns A to G below row 2.
For instance when my table has had rows removed, I want to clear the table first before writing the updated rows. Maybe there is an easy way of doing this with the query function? It seems cumbersome having to define a range of null values and then writing that to the spreadsheet.
To kind of answer my own question: It can be done by removing individual columns and then replacing headers as in Pizza example. Still, would be nice to have more compact function for this common task.
Consider it done! I've added a method ClearRange(String sheetName, String range) and an accompanying callback event for when it finishes.
I'll wait a little bit to see if there are any more suggestions before pushing the new method to the test server to send more features at once. I'll edit the original post (and this comment) once the test server has been updated!
Great! This will save having to adjust column width after every save or when wanting to check data. Really enjoying this component! So cool that you can write functions such as =COUNT(K3:K) etc to paste in cells.