Good day. I am trying out my first venture into Kodular. I connect to Google Sheets with Metricrat’s GS Connected. In my first screen i have some text fields to test the connection as you’ll see from the screenshots. What I can’t get right is to fetch some data from a sheet and display it in a screen.I cannot find a way to hook the returned data to a listview.
See screenshots below.
Use cases: Select a client’s name from a column in the Users table; Select filtered records e.g. for a certain date or client in the Trips table.
Hi Herman,
Have you taken a look at Tim’s example in the AppInventor community? https://community.appinventor.mit.edu/t/free-gs-connected-a-swiss-army-knife-for-google-sheets/54527
In this case, you just need to get the column using the GetColumnData
block, as you correctly did, and with the GetFunctionOutput
block, you’ll obtain the list of elements in that column.
To do this, you could do a query with the QuerySheet
block.
Hi Gianluca
Thanks very much for the feedback. I completely forgot about the examples in GS Connected
A lot to learn from there.
It’s a pleasure to help you,
In addition to the various Kodular and App Inventor communities, TimAI2’s website (below) is truly a bank of knowledge, i recommend taking a look at it.
For any other problem don’t hesitate to ask,
have a great day!
Good day again @RaYzZz . I am now following the examples in Tim’s post for GS Connected and it has been very insightful.
A problem, or shortcoming, with every single app I’ve ever used is the difficulty for complete noobs to get to grips with it. I did not know, for example, where to find the “get event” and “get output” blocks until someone mentioned "get event variable in a post far down in the post from Tim mentioned above. To find an answer in community posts means hours of searching on keywords and scrolling through unrelated posts.
And finding one answer often leads to encountering new challenges. Though I now get a response back from Sheets with GetFunctionOutput, it is completely unusable (See last screenshot). From the posts I can see references to jsonDecode, list of lists, ListPicker, GetValue and GetDisplayValue and so on. What to use where?
I would really love a downloadable and printable manual or series of manuals that give examples or at least an explanation of what each code block does, what the parameters do, when /where/how to use it. Extracting and manipulating data is probably what every developer does. And then you have 2 Firebase db options, Tinydb, SQL, Sheets… how does a noob decide which will fit their particular needs? Google sheets? There’s Sheets, Workspace, Google Cloud… what to use that’s necessary and affordable?
Sorry to waste so much of your time but I feel so lost. It is frustrating to (think you) see the light only to fall down a deeper hole and then spend hours and hours looking for a use case you can make fit - if you can understand at all what the poster is referring to.
But I will get there… Have a wonderful day.
Result of get Output
Got Range Data from Sheet
<iframe id=“sandboxFrame” title=“Got Range Data from Sheet” allow="accelerometer *; ambient-light-sensor *; autoplay *; camera *; clipboard-read *; etc. etc. |
Usually, every extension should come with documentation or a project to understand how it works (like Tim’s “BLOCKS & USAGE” extension, which includes all the blocks with an example of usage).
You will always encounter this problem experience and the desire to learn are your only allies.
These are all topics that should be analyzed individually to understand them thoroughly.
I imagine that for someone who has just started, diving into all of them at once could be confusing, but we have a community full of guides that explain everything in detail!
AppInventor has a beginner’s manual that provides a lot of information on how to get started, and for the more complex components, the community here is also very helpful.
To summarize (very briefly):
- Firebase: the fastest online database in terms of latency.
- TinyDB: only for local storage (otherwise TinyWebDB can be used online, but you need your own server).
- SQL: has all the functions of a full-fledged database, making it the best choice in theory, but it requires extensive experience and a private server (ideal for an expert developer, not recommended for beginners).
- Google Sheets: along with Firebase, one of the most used solutions.
GS provides all the functions of an Excel sheet and the ability to have data in tabular format (much slower than Firebase but very easy to integrate with AppScript in Kodular).
You don’t have to, we are here for that .
As you rightly did, just open a topic! (check the community first to see if your question has already been answered)
If you provide all the necessary information for someone to help you, I’m sure you’ll always find someone willing to assist.
<iframe id=“sandboxFrame” title=“Got Range Data from Sheet” allow="accelerometer *; ambient-light-sensor *; autoplay *; camera *; clipboard-read *;
**etc. etc.**
If you’re getting this as a response, something is wrong.
As I explained before, you should be getting a list containing the items (rows) of the requested column.
To be sure, I ran a test by connecting one of my sheets to GSConnected, requested a column, and in GetFunctionOutput I received the correct data.
I’d recommend checking carefully and following all the steps in the topic thoroughly.
Thank you Gianluca, you motivated me to continue. You and this community is amazing. I realize I will have to keep better notes, there is just so much to learn that I will need a way to quickly find the relevant notes. Rome wasn’t built in a day…
I looked at Firebase at the beginning and decided against it because there are so many factors involved that I know nothing of, like buckets and identity platforms etc. Because I need to authenticate my users in some way so that they do not need to enter a username and password every time they log in, I need to understand what autehntication to use (if it is not built-in) BEFORE I even start koding. Also: Can the app/db handle the many-to-many relationships between clients and their children? Can a client book more that 1 child on the same form/screen, and for both directions? How easy will it be for a client to edit or delete their booking afterwards? This is where I fall short on my knowledge about Firebase. Should I use the Realtime Database or Cloud Firestore? So… will spend today investigating
I’ve spent about 3 months over the last year trying out different apps. I really liked one for its ease of use and cost, but it has no internal database and couldn’t read my dates form a SQL db in ISO format instead of the silly US format. I only needed to edit the connection string between the app and the db but numerous inquiries could not tell me where to find it. That’s why I need to understand how the builder will handle the critical needs of my app before I start, not to waste another 3 months on something that just will not work.
Thanks again for everyone’s willingness to share their knowledge. Much appreciated!
and you motivate me too, thank you so much!
Know that in the various Kodular, Appinventor, Niotron, and similar communities there are really many guides.
For many-to-many relationships, you need Firebase Data Connect, but I’d have to study it a bit because I’ve never used it .
Kodular has a native SQLite database, but only for local databases.
Supabase? Have you tried taking a look at it?