Monday, July 12, 2010

Google App Inventor tutorial/overview for beginner

OVERVIEW :
Googles app inventor is a drag and drop web(html + java webstart) based IDE(not eclipse based)- which aims to simplify  building of apps.
For techies this is(almost) like equivalent of Visual basic, while Eclipse based android  development is like equivalent of visual c++/c#.

BASIC STEPS:
The basic step is to design(buttons) screen using web(html) based IDE. Next step is to add events(click) for the components(buttons) using Blocks editor which uses  JNLP(java webstart) launcher. You may then add events to your GUI or click the connect to phone button - on block editor to test your app .

 App Inventor (unfortunately) does not generate/emit java source code - and hence it may only be good for educational purpose(or small customizations).
You can get started using : http://appinventor.googlelabs.com/about/ (though beta version is not offered to everyone). If you dont have an actual phone then you
may try build app using simulator(very very slow) using this link: http://appinventor.googlelabs.com/learn/reference/other/emulator.html.

Getting Started with Hello world example :

a)Setup your phone and computer:
You will need to have java and "app launcher extras"(google sdk+ ) installed on your machine. (for droid incredible etc you have to add USB related settings in the sdk driver inf file as mentioned in below step )

http://appinventor.googlelabs.com/learn/gettingstarted.html


b) Go to appinventor.googlelabs.com . Click on MyProjects link on RHS. I am assuming that your google user Id has
permissions to use app inventor , you will also need to accept the T&C(first time). You will see window like below.
Drag a textbox, button and label as shown below. You can click on Properties on RHS to change button/label text.
If you need to delete something then you may use the delete button below components column. You may note that
if you change labels then it may not immediately get refreshed. After making changes click on "Save" button on top.
Now click on Open blocks editor button on top and download/accept any JNLP permissions to start it.
Since this IDE is HTML(not thick client) - it will not be user friendly(or fast) as compared with the "Blocks editor"
(which uses Java web start .. However java web start is harder to install )

(Click on above picture to see full image)



b) Let us add code/events so  that if button is clicked - then we will set labels text - to whatever values was typed in textbox.

Click on Button1 and drag "when button1.click" event. Similarly as shown below click on "Label1" and "Textbox1"
events.You may click on connect to phone to test the app. After testing - you can close block editors - and click on "package
for phone" button on top rhs to permanently deploy this sample on your phone.


(Click on above picture to see full image)


ISSUES: You may have trouble(eg could not create java runtime) running the launcher - and hence you may download (save) the JNLP file , edit it (eg remove j2se tag)- and then run it(or you may need to configure java control panel for proxy server settings).
For droid Incredible you should connect the USB/phone in "charge only"(not disk mode), else you will have error like "error uploading/connecting to media"(in short avoid app or settings which will automatically mount the drive) . For other phones
you may need the mass storage options.
You can then go back to Web based ide - and click on package for your phone - to install the app.
For other issues refer to : http://appinventor.googlelabs.com/learn/troubleshooting.html

Next Steps: Try some tutorials from google :
http://appinventor.googlelabs.com/learn/tutorials/index.html

Reference manual : http://appinventor.googlelabs.com/learn/reference/

Invoking external API (or Webservice) :
Try the experimental TinyWebDB to invoke your webservice(TinyWebDB
is almost like a  hashtable over web - and supports only storeAValue and getValue
operation - and hence you may have to do some hacks or mapping -
to call external service):
http://appinventor.googlelabs.com/learn/reference/other/tinywebdb.html
http://www.appinventor.org/talking-to-an-api

In future google app inventor components can be developed using java per
http://appinventor.googlelabs.com/learn/userfaq.html
(In that case it will be similar to developing components in VC++ to make VB
lot more productive/easier to use)
Similarly - mulitple screen can be deveopled via a hack.
Online Book  :
There is a text book link(outdated) on LHS at
http://www.appinventor.org/

Developing app using java using Android SDK:
You can click here to go back - to the beginning of this blog to develop android
app using java(and eclipse).(instead of using app inventor)

Others:
If  you are confused about various android phone - then my opinion is at:
http://bestandroidphone.blogspot.com/ (though cnet.com will be better from specs perspective
But they wont tell you bugs in phone.)
My index of technical blog is at :
http://www.jroller.com/zahid eg selenium tutorial, seam etc

92 comments:

  1. How do you even begin to draw a parallel between App Inventor and VB (or even gwbasic)? Can you even write code with App Inventor? Were there gui-based logic blocks available in VB? Despite 10+ years coding in it, I guess I've missed them. OR perhaps this author knows nothing about VB (or development in general) and likes to discredit themselves by pulling articles out of ........

    ReplyDelete
  2. I never equated VB with App Inventor. However just like VB (compared with VC++)- App Inventor is limited(oops) - but at the same time its quicker to do certain tasks.
    Google seems to be following the same model that was used by VC++/VB ie develop components/blocks(in future) using "java" (like VC++ for OLE components)- and let app inventor (like VB) automate (or simplify) key stuffs.

    To me blocks vs language is a matter of implementation details(its painful to use blocks - but its easier to use for non programmers)

    PS: I am a former VC++ developer and wrote OLE components to be used by VB etc.. But maybe after so many years - I see many stuff being recycled(which many new people get excited as being new )

    ReplyDelete
  3. Respected ,
    i am android devloper . i am working on the android application . can you tell me how can i write code in the appinventor and create my application easily

    ReplyDelete
  4. Its hard to develop certain apps using app inventor - for java developer. You have to use their drag and drop blocks (or do some tricks using TinyWebDB )

    So if you are java developer - I would wait
    till they give facility to develop your own block(just like jsp taglibs). Alternatively
    I was hoping for facility to export it to java.

    ReplyDelete
  5. Hire Android app developer services offered by many outsourcing companies because outsourcing companies adequate resources to offer such hiring. Outsourcing companies are located in developing countries like India where skilled manpower available at cheaper rate.

    Android Game Development

    ReplyDelete
  6. hi guyz do u no how to install teknologik on ipod touch?

    ReplyDelete
  7. This comment has been removed by the author.

    ReplyDelete
  8. Nice contents, Get more android sample example, solution, tutorial and basic examples of the android programs, like gridview, progressdialog, readwrite sdcard, download data, simple buttonclick, etc on

    http://android-solution-sample.blogspot.com

    Thanks

    ReplyDelete
  9. Hi great very well done very nice information for android development.

    The Internet is under attack by the Obama Administration through executive powers. This does not bode well for the Internet entrepreneurs or for political speech. The following is an analysis of how the Internet and specifically Google has created a free world-wide social environment.

    ReplyDelete
  10. I made a blog with tips, making shooter etc. ...

    http://dicasappinventor.blogspot.com/

    ReplyDelete
  11. Android is one of the good and fast moving mobile operating system.This is one of the good application,you can get very advance features from this.Nice post.Android app developers

    ReplyDelete
  12. I liked the way your post as come out as an asset for the people..
    Buy domain names

    ReplyDelete
  13. Thanks for mentioning this great post,really its very informative to all.
    Forum hosting

    ReplyDelete
  14. This is one of the straight forward website which providing the information about Android mobile application.This is one of the suitable post.
    Android app developers

    ReplyDelete
  15. Officials have said the lack of smoke detectors may have contributed to the incident.
    alarm systems

    ReplyDelete
  16. hey check this new website www.countcode.com. It's a social network made for programmers, where you can download,share or upload source codes, where you can count your own code lines for free. You have access to the web forum and the web chatroom. we are happy to have you joined to our community!

    ReplyDelete
  17. This is really very informative post for android developers. Is app inventor compatible with other languages also other than java?

    ReplyDelete
  18. hey check this new website www.countcode.com. It's a social network made for programmers, where you can download,share or upload source codes, where you can count your own code lines for free. You have access to the web forum and the web chatroom. we are happy to have you joined to our community!

    ReplyDelete
  19. This tutorial is awesome and nice information, I am newly learning the Android Apps Development, Thanks for sharing.

    ReplyDelete
  20. I would never want to miss out any opportunity to read out your contents.
    one click root

    ReplyDelete
  21. i liked the concept, i will try it.

    http://www.awrtechnologies.com

    ReplyDelete
  22. Appers – We have the super iOS Development team in world! Offering iPhone App Development Service in Melbourne & Brisbane.

    iPhone App Development Brisbane

    ReplyDelete
  23. Awesome article I really glad to read this article it’s really nice Thanks.

    Android App Development in Lucknow

    ReplyDelete
  24. This comment has been removed by the author.

    ReplyDelete
  25. I really glad to read this article it’s really nice Thanks.

    Cross-Platform Mobile Development

    ReplyDelete
  26. A mobile app can with a website in tow can help your brand reach to more audiences and thus escalate your sales. You must be living under a rock if you still lack a mobile app for promoting your brand. Get a compelling app from the best mobile app development services in the USA.

    ReplyDelete
  27. Your website is very good and nice information was provided in your site, thanks for sharing.
    Android Application Development Training in Ameerpet, Hyderabad

    ReplyDelete
  28. Thanks for sharing most valuable information with us.
    UI Development Online Training



    ReplyDelete
  29. I wish to show thanks to you just for bailing me out of this particular trouble.As a result of checking through the net and meeting techniques that were not productive, I thought my life was done.
    Digital Marketing Training in Chennai

    Digital Marketing Training in Bangalore
    Digital Marketing Training in Pune

    ReplyDelete
  30. I am sure this post has helped me save many hours of browsing other related posts just to find what I was looking for. Many thanks!
    AWS Training in chennai

    AWS Training in bangalore

    ReplyDelete
  31. I know you feel more happy when you get things done and best of all those things are your most precious treasure.
    AWS Training in chennai

    AWS Training in bangalore

    ReplyDelete
  32. You made such an interesting piece to read, giving every subject enlightenment for us to gain knowledge. Thanks for sharing the such information with us
    java training in annanagar | java training in chennai


    java training in marathahalli | java training in btm layout

    ReplyDelete
  33. When I initially commented, I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get several emails with the same comment. Is there any way you can remove people from that service? Thanks.

    AWS Interview Questions And Answers



    Amazon Web Services Training in Pune | Best AWS Training in Pune


    AWS Training in Pune | Best Amazon Web Services Training in Pune

    ReplyDelete
  34. emails with the same comment. Is there any way you can remove people from that service? Thanks.
    iosh course in chennai

    ReplyDelete
  35. I am a regular reader of your blog and being students it is great to read that your responsibilities have not prevented you from continuing your study and other activities. Love
    Microsoft Azure online training
    Selenium online training
    Java online training
    Java Script online training
    Share Point online training

    ReplyDelete
  36. This comment has been removed by the author.

    ReplyDelete
  37. I have read this really impressive content. You provided another great article. I hope this information can change my business operator.
    www.digiorbite.com

    ReplyDelete
  38. You might comment on the order system of the blog. You should chat it's splendid. Your blog audit would swell up your visitors. I was very pleased to find this site.I wanted to thank you for this great read!!
    www.excelr.com/digital-marketing-training
    digital marketing course

    ReplyDelete
  39. Good Post. I like your blog. Thanks for Sharing..................!
    Android Course in Noida

    ReplyDelete
  40. outsourcingall.com "Usually I never comment on blogs but your article is so convincing that I never stop myself to say something about it.
    This paragraph gives clear idea for the new viewers of blogging, Thanks you. You’re doing a great job Man, Keep it up.
    Seo training in bangladash
    outsourcing training in dhaka
    Best Website Development and Design Company in Bangladesh
    free outsourcing training
    graphic design training
    digital marketing training
    affiliate marketing training
    outsourcing training

    ReplyDelete
  41. It is very useful information at my studies time, i really very impressed very well articles and worth information, i can remember more days that articles.
    Mobile App Development Company In Chennai
    Android App Development Company In Chennai
    Android Application Development Company In Chennai

    ReplyDelete
  42. This comment has been removed by the author.

    ReplyDelete
  43. App inventor implies that it is about inventing something (Application Specifically). This tutorial definitely helpful for beginners who want to learn about Google App Inventor.

    Anyone interested in developing Android Apps, Get connected with Way2Smile - trusted Android App Development Company in Chennai

    ReplyDelete
  44. This blog offers novice app developer the least of information that can be quickly learned to develop Android Apps over a Web based IDE environment. Thanks for the blog post.

    Best Regrads - VigneshWaran P ( Android App Development Companies)

    ReplyDelete
  45. I absolutely love that it looks so beautiful on you This is a great post it was very informative. I look forward in reading more of your work. Also I made sure to bookmark your website. I enjoyed every moment of reading it. More info please visit
    Mobile Apps Development Company in Gurgaon
    IOS Apps Development Company in Gurgaon
    Android Apps Development Company in Gurgaon

    ReplyDelete
  46. This comment has been removed by the author.

    ReplyDelete
  47. Great info! I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have.

    digital marketing course in chennai
    digital marketing training in chennai

    ReplyDelete
  48. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.

    AWS training in chennai | AWS training in anna nagar | AWS training in omr | AWS training in porur | AWS training in tambaram | AWS training in velachery

    ReplyDelete
  49. This is really a very good article about Java.Thanks for taking the time to discuss with us , I feel happy about learning this topic.
    AWS training in chennai | AWS training in annanagar | AWS training in omr | AWS training in porur | AWS training in tambaram | AWS training in velachery

    ReplyDelete


  50. It is a decent blog for the fledgling working in Android programming since it contains the portable applications coding style that is followed in changing over sites into android app development services. Much obliged to You for the blog.

    ReplyDelete
  51. Android is one of the good and fast moving mobile operating system.This is one of the good application,you can get very advance features from this.Great site and a great topic as well I really get amazed to read this.keep posting such useful information.
    oracle training in chennai

    oracle training institute in chennai

    oracle training in bangalore

    oracle training in hyderabad

    oracle training

    hadoop training in chennai

    hadoop training in bangalore

    ReplyDelete
  52. Thank you for your informative post!!!
    Village Talkies a top-quality professional corporate video production company in Bangalore and also best explainer video company in Bangalore & animation video makers in Bangalore, Chennai, India & Maryland, Baltimore, USA provides Corporate & Brand films, Promotional, Marketing videos & Training videos, Product demo videos, Employee videos, Product video explainers, eLearning videos, 2d Animation, 3d Animation, Motion Graphics, Whiteboard Explainer videos Client Testimonial Videos, Video Presentation and more for all start-ups, industries, and corporate companies. From scripting to corporate video production services, explainer & 3d, 2d animation video production , our solutions are customized to your budget, timeline, and to meet the company goals and objectives.
    As a best video production company in Bangalore, we produce quality and creative videos to our clients.

    ReplyDelete
  53. thanks for sharing this useful article.its very interesting to read.Angular training in Chennai

    ReplyDelete
  54. Are you having problem in learning new skills or confused to choose between right Passion . So don't worry we are here because our institution is offering CS executive classes and a free of cost CSEET classes. So what are you waiting for contact us or visit our website at https://uniqueacademyforcommerce.com/

    ReplyDelete
  55. Think This Is Owsm Post, But If You Check This BITFINEX

    ReplyDelete
  56. Pleasant data, important and incredible structure, as offer great stuff with smart thoughts and ideas, loads of extraordinary data and motivation, the two of which I need, because of offer such an accommodating data here.
    data analytics training in hyderabad

    ReplyDelete
  57. selenium automation testing salary in India ranges between ₹ 3.9 Lakhs to ₹ 14.5 Lakhs with an average annual salary of ₹ 7.0 Lakhs. Salary estimates are based on 99 salaries received from Selenium Automation Testers. High Confidence means the data is based on a large number of responses.

    ReplyDelete
  58. Good article, thanks for your great content. this is really nice

    photoshoot at andaman




    ReplyDelete
  59. This was really one of my favorite website. Please keep on posting. business analytics course in surat

    ReplyDelete
  60. Your amazing insightful information entails much to me and especially to my peers. Thanks a ton; from all of us. data science course in mysore

    ReplyDelete

  61. Do you believe in long term investement . One of the option of doing investement is by investing in Crypto currencies. You can invest in Fudxcoin company that deals in the selling and purchasing of Crypto Currency. It is a reliable company. One need not doubt in investing in it as i have also bought crypto currency from it and feeling very satisfied with their services.
    crypto currency block chain technology

    ReplyDelete