Thank you so much for this reading and the writing tutorials. I've built an App to read in a student class list and name the buttons on the app with their names. Then when I see a student distracted, I press their name button and pick a distraction from a list picker and then write out the record to a separate spreadsheet. Great for communicating with parents. Best wishes, Gord
@ObsidianSoftEducation3 ай бұрын
Glad it was helpful!
@lifeisthrillingyt7991 Жыл бұрын
App development programs are getting more interesting day by day with the help of your tutorials. Thank you!
@adyamys5110 Жыл бұрын
It seems so hard when one hear all these terms but ur video makes it easy to understand
@shaimakiyani3206 Жыл бұрын
With the help of your tutorials I have learned so much. I can only comment on how good your teaching skills are.
@mfalme25429 күн бұрын
Thank you Obsidian for the tutorial. The reason why I think the variable is local and not global is 2 fold: 1. Scope We would want the variable to be active only in the context of pulling data from gsheet. Unless the variable is used in multiple instances there's no reason for it to be global. 2. Memory The variable being local means it's only "alive" at that part of the code. Global variables are always alive. When I started appinventor I had many global variables declared at the start. It can get confusing/cumbersome to have so many variables declared globally. I ended up asking myself, "what was this for again?" after I hadn't seen the blocks after some time. Thoughts?
@ObsidianSoftEducation28 күн бұрын
Good answer 👍
@uzmashahzad9061 Жыл бұрын
Tremendous job! This video has all clear details in simplest way. Thanks for all the easy tutorials.
@shaimakiyani9096 Жыл бұрын
Loving the consistency of your content... thank you for bringing amazing tutorial almost every week...
@ObsidianSoftEducation Жыл бұрын
My pleasure!
@simrakhursheed1205 Жыл бұрын
Your explanation make it easy to understand. Keep up the good work
@humairasadaf3019 Жыл бұрын
Wow, you make this so easy , before these things look so difficult for me but now Thanks to you 😊
@tiffanyjohnson7427 Жыл бұрын
This is really sooo easy!!! Wonderful explanation as always
@janjua245 Жыл бұрын
Amazing tutorial You are master of your field
@NowridHasninvlogzz Жыл бұрын
You are doing a great job of making this tutorial easy.
@rajarani00182 Жыл бұрын
You make it so easy to understand thanks for sharing
@nubainzafar1578 Жыл бұрын
You have make it so easy to understand 👌
@binteidrees8277 Жыл бұрын
Tremendous job, thanks for teaching this, it seems so easy now.
@ObsidianSoftEducation Жыл бұрын
You are welcome!
@rubinakhq643 Жыл бұрын
Amazing job dear!thnks for sharing informative tutorials
@ObsidianSoftEducation Жыл бұрын
My pleasure 😊
@ayedanasim5713 Жыл бұрын
Another cool video! Explained really well
@ObsidianSoftEducation Жыл бұрын
Glad you liked it!
@sammislearning11 ай бұрын
Thanks for bringing these amazing tutorials
@ObsidianSoftEducation7 ай бұрын
Most welcome 😊
@sammislearning Жыл бұрын
Amazing tutorial by amazing teacher
@user-ch3px8iu4g29 күн бұрын
Great content thanks! How we can populate Detailed view section of the ListView item as well with this method?
@ObsidianSoftEducation29 күн бұрын
Instead of the join in the Web's gotText event, use Listview's createelement block. You can provide an empty text block instead of image name. Make sure that you have changed listview's properties in the designer view. Set the ListViewLayout property to MainText,Detailed Text (Horizontal) option. If this doesn't make sense, check out this link for correct usage of createelement block: community.appinventor.mit.edu/t/listview-createelement-method-use/40968/6
@athulican10 ай бұрын
Excellent! Thank you!
@ObsidianSoftEducation10 ай бұрын
Glad it was helpful!
@binteidrees8277 Жыл бұрын
You're doing a great job
@vipu00910 ай бұрын
Nicely explained. Could you please let us know why you used local variable in for each loop ?
@ObsidianSoftEducation10 ай бұрын
It is because it is a temporary list that we need to reconstruct every time we load data. if we use a global variable instead, we will have to empty it manually every time before constructing it with sheet data otherwise it will contain double entries.
@jinsonlearning6 ай бұрын
Hello Madam, I'm trying to create a call directory app for a community using MIT App Inventor. After watching your video, I found it very helpful and appreciate your effort. I would like to know how to retrieve only the values at index 3. In my case, index 2 contains names and index 3 contains phone numbers. When I click on a particular name in the list view, I want to navigate to my phone dial-up screen with the phone number associated with that name from index 3. Could you please explain how to implement this feature?
@ObsidianSoftEducation6 ай бұрын
Is it necessary to have all the data in Google Sheets? If yes, then you will have to explore web apps for private Google sheets: ai2.metricrat.co.uk/guides/query-any-google-sheet-with-a-web-app and if the Google sheet is public then you can get specific data from it using this approach: developers.google.com/chart/interactive/docs/querylanguage?hl=en#setting-the-query-in-the-data-source-url You will need to use Activity Starter to open up the dial-up screen once you get the phone number. You have an interesting problem about getting specific data from Google Sheets so I have added it to my list of prospective tutorials and will try to publish a video soon. Good luck with your app!
@jinsonlearning6 ай бұрын
Ok, thank you
@ObsidianSoftEducation6 ай бұрын
Most welcome 😊
@lifewithmood Жыл бұрын
Veryy helpful tutorial💫
@ayyanadam3889 Жыл бұрын
Amazing tutorial
@ObsidianSoftEducation Жыл бұрын
Glad you think so!
@panmaneecnc Жыл бұрын
Excellent, you are a person who really understands the essence of programming. I have an idea. I would like to hire you to teach my son online. Is there any way to contact you ?, thank you.
@sammislearning11 ай бұрын
Tremendous job
@ObsidianSoftEducation7 ай бұрын
Thanks 😊
@kongshiewchee3299 Жыл бұрын
Thanks! The tutorial is helpful to my project!! May I know how should I export and analyze the data from the spreadsheet in graph form?
@ObsidianSoftEducation Жыл бұрын
Most welcome 😊 I will publish tutorial for graphs soon but if you are in a hurry , try exploring the chart component.
@adyamy4052 Жыл бұрын
Really it's easy
@souvikkumarbarua55578 ай бұрын
How to make send and recive in different screens in same app for send and recive
@ObsidianSoftEducation8 ай бұрын
You can have a menu screen with two buttons for sending and receiving. Pressing those buttons will further open up their own screens. And you can follow both my tutorials for sending and receiving. Another idea is to toggle between two screens without having a separate menu screen. I have done something like this in my alarm clock + timer tutorial. You can check that one out for guidance.
@ObsidianSoftEducation8 ай бұрын
Send Data tutorial: kzbin.info/www/bejne/gILddX6rr96IpbM
Thank you for the tutorial! I'm trying to download your app for mental math, but it's showing that it's not available for my device as it was made for an older anroid versions. Can you please update it as your mental math content is really helping my kids
@ObsidianSoftEducation Жыл бұрын
Most welcome 😊. Kindly tell me the Android version of your device so that I make sure that the mental maths app is correctly updated.
@Lydia-kf2wj Жыл бұрын
@ObsidianSoftEducation my anroid version is 13
@ObsidianSoftEducation Жыл бұрын
@@Lydia-kf2wj working on it :)
@Lydia-kf2wj Жыл бұрын
@ObsidianSoftEducation Thank youu!!!
@ObsidianSoftEducation Жыл бұрын
@@Lydia-kf2wj Should be available now: play.google.com/store/apps/details?id=com.obsidiansoft.android.mentalmaths Do tell me how it performs on Android 13
@dleej132 ай бұрын
Hey, How would I delete an entry? I have it all showing in a list, my plan is to delete the items in the selected row from the google sheets with a button in ai2. I used to have a script with webscript but it no longer works and I hope you have an easy way. Thanks!
@ObsidianSoftEducation2 ай бұрын
you need a web script for this kind of editing in google sheet. check out this link community.appinventor.mit.edu/t/simple-crud-with-google-sheets-and-apps-script-fixes-hay-kel-flaws/65799 as this might help you. I will try to make a tutorial on it too.
@dleej132 ай бұрын
@@ObsidianSoftEducation thank you for your reply. I will look into it, thank you!!!
@mfalme25429 күн бұрын
Question: How do I hide a row from being shown in the app (listview) after a click event?
@ObsidianSoftEducation28 күн бұрын
For hiding /deleting from listview, call listview.removeitematindex(listview.selectionindex).
@mfalme25428 күн бұрын
@@ObsidianSoftEducation thanks let me try. Im working on an app that distinguishes listview items that have been clicked and those not. I had tried to change text color after click but that changed color for ALL elements in the listview
@ObsidianSoftEducation28 күн бұрын
Multiple selection isn't possible in Listview. However, you can explore extensions (community.appinventor.mit.edu/t/multiple-selection-via-listview-possible/120584/4). Without an extension, the text color can't be changed for the selected item but you can change the selection color in designer view. So, your selected item will be highlighted with the selection color. But once you tap on another item, the previous item will be deselected and will lose the selection color.
@mfalme25424 күн бұрын
@@ObsidianSoftEducation This works! Thank You
@ObsidianSoftEducation24 күн бұрын
@@mfalme254 most welcome :)
@MoezRekik Жыл бұрын
❤❤ Great job. Please how to read image and date from googlesheet. Thanks
@ObsidianSoftEducation Жыл бұрын
Will do soon.. I am assuming that there will be image url with the image too for example a google drive link
@MoezRekik Жыл бұрын
I am preparing a school application. I prepared a screen to record student data (ID, Matricule, First and last name, Date of birth, Useful info, Photo). I want to call this info using "RecyclerView" (Photo and First & Last Name) and when I click on a student's photo it shows me all of their already saved data. Thank you for your cooperation and help. N.B: I used Cloudinary to save the photos.@@ObsidianSoftEducation
@MoezRekik Жыл бұрын
Thanks ❤❤❤
@ObsidianSoftEducation Жыл бұрын
You're welcome 😊
@huyenizzi7 ай бұрын
Thank you so much.
@ObsidianSoftEducation7 ай бұрын
Most welcome 😊
@LEARNANDEARN2003 Жыл бұрын
If the button click more than one time the data will again load.. how to refresh the data again..?
@ObsidianSoftEducation Жыл бұрын
Yes...it will refresh when button is clicked.
@ObsidianSoftEducation Жыл бұрын
Do you want an auto refresh feature?...we can use a clock with timer to refresh data automatically so that when data is added in google sheet, it is shown to user too in app
@LEARNANDEARN2003 Жыл бұрын
@@ObsidianSoftEducation please make html view in webview video tutorial
@ObsidianSoftEducation Жыл бұрын
@@LEARNANDEARN2003 sure :)
@yuhani123Күн бұрын
sir, how if we want to get data from difference sheet number, ist still posible?
@ObsidianSoftEducationКүн бұрын
not possible with this way as this is the easy way so it only reads from sheet #1. If you want more control then you will have to use a web app and use scripts.
@yuhani123Күн бұрын
@@ObsidianSoftEducation thank you sir, do you have link video tutorial about that (web app and use scirpts)
@mfalme25424 күн бұрын
Hello, am not sure why am getting the "Cannot parse text argument to "list from csv table" as a CSV-formatted table" error. Am grabbing data from two columns (Timestamp and another) of data from one gsheet and transferring same data to another. The weird part is that the transfer works as I want. Just getting the error message at the end
@ObsidianSoftEducation24 күн бұрын
Have you edited the link correctly and added export?format=csv at the end. Are you getting the error when you get the data from google sheet or when you write to another google sheet?
@mfalme25423 күн бұрын
The export?format=csv is in place for web component url. The error pops up after I write the data to the new gsheet. I've tried to setup the data output block similar to the input data block i.e initialized a local empty list then assigned the output data using 'select list item, list, index' 'get response'. Funny enough no error message but data not transferred to new gsheet😅
@mfalme25423 күн бұрын
Are you on app inventor community? I could send you my blocks and gsheet
@ObsidianSoftEducation23 күн бұрын
Aren't you writing to the Google sheet using my send data to Google sheet tutorial? I have used google forms there.
@misduhsaja11 ай бұрын
What is defferent between MIT app & kodular. Please! I am newbie.
@ObsidianSoftEducation11 ай бұрын
Both are block-based programming languages for making apps. MIT App Inventor is. supported by MIT. The apps made through MIT App Inventor can also work on iPhones through a companion app although, at the moment, they can't be installed on iPhones as standalone apps. MIT App Inventor is 100% free. Kodular is built on MIT App Inventor and is more powerful than MIT App Inventor as you can make more complex apps in it but last I checked, the apps can't be tested on iPhones (the situation might have changed now). Also, recently Kodular has started charging a monthly fee for making apps bigger than 5 MB.
@MoezRekik11 ай бұрын
Great job. Hi, is there a method to upload a document (word, pdf, image...) to Google Drive with kodular? THANKS.
@ObsidianSoftEducation11 ай бұрын
Remember that making a file explorer function in App Inventor is very difficult now due to storage access constraints of the latest Android versions. Hence, the document to be uploaded should already be inside your media. Then, I think it should be possible. Will try to make a tutorial soon.
@MoezRekik11 ай бұрын
@@ObsidianSoftEducation Thanks a lot..
@irfandaudpota7408 Жыл бұрын
can not parse text argument to "list from csv table" as csv-formatted table
@ObsidianSoftEducation Жыл бұрын
Make sure that you have provided responseContent as input and that you are connected to the internet. Otherwise use a notifier to see in an alert what is being sent back as the responseContent.
@bonitoflakes80453 ай бұрын
it says "list index too large".. what do i dooo
@ObsidianSoftEducation3 ай бұрын
Please compare the code of your Web1.GotText even with the code shown in the video or you can have a look at the written tutorial: obsidiansofteducation.blogspot.com/p/get-or-read-data-from-google-sheet-in.html
@LEARNANDEARN2003 Жыл бұрын
Make html view in mit app inventor
@brcimo7364 ай бұрын
is this doable with firebase ?
@ObsidianSoftEducation4 ай бұрын
Do you mean reading data from firebase DB?
@MoezRekik Жыл бұрын
Hi and thank you very much for the tutorials. I created two applications one for the teacher and the other for the student. The two applications have the same database but each time I need specific columns. I encountered a problem (Runtime Error: Select list item: Attempt to get item number 19 of a list of length 18:...) I use Kodular. How to solve this problem ? Can I send you an email? Thanks
@ObsidianSoftEducation Жыл бұрын
Sure. Send email at obsidiansoftc@gmail.com. This is a classic index out of bounds error. Make sure that you are accessing the correct index. Add error checks and alerts to see exactly where the problem is happening.