Android app development?

Discussion in 'Programming' started by K_fenix, Nov 10, 2013.

  1. K_fenix

    K_fenix New Member

    Joined:
    Jul 1, 2012
    Messages:
    36
    Likes Received:
    0
    Trophy Points:
    0
    what programming languages used for android app development?

    As a beginner,what are the stuff needed to get in it?

    Online websites which help to learn easy and effective way..
     
  2. krishnandu.sarkar

    krishnandu.sarkar Simply a DIGITian Staff Member

    Joined:
    Nov 13, 2007
    Messages:
    4,701
    Likes Received:
    15
    Trophy Points:
    38
    Location:
    Kolkata
    Android App are developed in Java generally. Though you may use C, C++ too.

    Start you Android App Development journey @ Android Developers
     
  3. ispyder

    ispyder God of Geek's Heaven

    Joined:
    Sep 20, 2013
    Messages:
    57
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Your Heart
    I was also looking to learn JAVA, and i googled this ...but I got so many pages and all said different things! ...Tell me, is there any starting point for learning JAVA or could you recommend me any book for beginners (I do know coding of PHP, HTML)
    BTW can you also tell me that what SDK is?
     
  4. krishnandu.sarkar

    krishnandu.sarkar Simply a DIGITian Staff Member

    Joined:
    Nov 13, 2007
    Messages:
    4,701
    Likes Received:
    15
    Trophy Points:
    38
    Location:
    Kolkata
    To get started with Java check http://www.thinkdigit.com/forum/programming/176157-ultimate-guide-java-programming-reference.html

    And anytime you face any problem you can always use http://www.thinkdigit.com/forum/programming/94845-java-queries-here.html

    SDK = Software Development Kit. Have a look at Software development kit - Wikipedia, the free encyclopedia

    In short and simple words, SDK is a set of tools which is generally provided by the manufacturers to help others create application for that platform without going into detail of that platform and understanding core level things of how it works internally. This helps developers focus on their own code / business logic instead of getting flowed to understand the core level things.
     
  5. ankush28

    ankush28 Bazinga

    Joined:
    Apr 17, 2013
    Messages:
    2,235
    Likes Received:
    2
    Trophy Points:
    38
    Location:
    Mumbai
    hey search for ebook(I wont post link here) Hello android third edition though its old but best for newbies
    ps:- I've learned android developement from this ebook.
    {good_luck}

    keep this as reference Getting Started | Android Developers
     
  6. sainath

    sainath Android Addicted

    Joined:
    Jan 12, 2012
    Messages:
    110
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    Aamchi Mumbai
    From my point of view you should at least know basic about C and C++. It will help you a lot. Get Java The Complete Reference by Herbert Schildt book. Start from basic then move to android development because you cannot design a good app through incomplete knowledge of Java.
     
  7. vickybat

    vickybat I am the night...I am...

    Joined:
    Aug 16, 2008
    Messages:
    5,652
    Likes Received:
    31
    Trophy Points:
    0
    Location:
    Gotham City
    I'll try and answer your queries in the best way possible.

    First of all, you have got two choices to develop for android.

    1. Develop native applications. To do that, Java and XML(UI design) knowledge are a must.

    2. If you don't want to develop natively, you can use web technologies like html5 and javascript/jquery and build web apps. Then convert that to a native application using opensource frameworks like PhoneGap.

    Now the 2nd approach is really gaining a lot of ground these days due to more demand in developing cross platform apps. For Java approach, you are restricted with android. If you want to port the same application to lets say IOS, you have to rewrite that in Objective-C. Different platforms uses different native languages.

    What frameworks like PhoneGap do is that they convert the web app written in web standard technologies into a native app that behaves as if it was written in java with no performance differences.
    By native app, what i mean is that the application can harness the device(phone) specific features of a platform, like accelerometer, Geolocation, Vibration functionality etc. PhoneGap does all that for your app.

    PhoneGap supports all platforms including IOS, Android, Windows Phone 8, Symbian, Ubuntu etc.

    So if you are going for option 1, Java knowledge is a must. Learn Java properly and then buy this book:

    Beginning Android 4 Application Development - Buy Beginning Android 4 Application Development by Wei-Meng Lee Online at Best Prices in India - Flipkart.com

    If going for option 2, and have decent idea on web technologies, then buy this and start your development:

    Building Android Apps with HTML, CSS, and JavaScript, 2nd Edition - OFPS - O'Reilly Media

    Building Android Apps with HTML, CSS and JavaScript 2nd Edition - Buy Building Android Apps with HTML, CSS and JavaScript 2nd Edition by STARK Online at Best Prices in India - Flipkart.com
     
  8. krishnandu.sarkar

    krishnandu.sarkar Simply a DIGITian Staff Member

    Joined:
    Nov 13, 2007
    Messages:
    4,701
    Likes Received:
    15
    Trophy Points:
    38
    Location:
    Kolkata
    I don't recommend Phonegap. I personally used it to create an App at my previous firm and the performance is no where close to native app.

    Then I discarded it and moved to Native app.
     
  9. ankush28

    ankush28 Bazinga

    Joined:
    Apr 17, 2013
    Messages:
    2,235
    Likes Received:
    2
    Trophy Points:
    38
    Location:
    Mumbai
    use this MIT App Inventor
    this will help you to design a app without practicle knowlege of java or any lang.
     
  10. vickybat

    vickybat I am the night...I am...

    Joined:
    Aug 16, 2008
    Messages:
    5,652
    Likes Received:
    31
    Trophy Points:
    0
    Location:
    Gotham City
    Did you use HTML5? Which platform do you develop on?

    PhoneGap is now a distribution of Apache Cordova. It has evolved big time and very fast now.

    Mobile development is more focused on web based technologies these days.
    HTML5 is very very popular in this regard and quite powerful as well. Javascript api's like canvas, geolocation ,web storage,video are all integrated with HTML5.
    No longer its a simple markup language to develop web pages. It has become way more powerful since HTML4. Even html 5 has become a boon for mobile game development.

    The following is written in html5 and uses unreal engine 3. The c++ codes are compiled into javascript :

    http://www.unrealengine.com/en/news/epic_games_releases_epic_citadel_on_the_web/


    I would suggest OP to take up this course when its available:

    https://www.udacity.com/course/cs256

    Everybody are embracing HTML5.
     
    Last edited: Nov 11, 2013
  11. sandeep410

    sandeep410 New Member

    Joined:
    Oct 11, 2008
    Messages:
    182
    Likes Received:
    0
    Trophy Points:
    0
    No HTML5 aint that great. Theres lot of problems. Audio is one of the problems on html5. Performance of an HTML5 game is no where near to a native app. Theres huge performance difference across various browsers in HTML5. HTML5 will be great but it would take atleast 3 years from now.
     
  12. krishnandu.sarkar

    krishnandu.sarkar Simply a DIGITian Staff Member

    Joined:
    Nov 13, 2007
    Messages:
    4,701
    Likes Received:
    15
    Trophy Points:
    38
    Location:
    Kolkata
    Yes I know it's Apache Cordova now. And I used that only. Yes I used HTML5 with Javascript.

    And I'm aware about the API's and everything. As I said, I developed an app using it but it's now worth the effort.

    I'll try to explain what I did and what was the problem...

    I developed an app for my previous firm, which would start with a login page and on successfull login it'll go to a dashboard. Leave the dashboard things for now. Once a user logs in it'll be stored and from next time he doesn't needs to logs in. Next time he opens the app it'll automatically check from it's local database and fetch the UserID from DB, which will be stored on successfull login first time. Simple, isn't it?

    The problem was, once a user logs in the procedure for next time was too slow that a user can notice white screen for a long time. Then I moved to native app and it was blazingly fast.

    Also the UI was not smooth. Moving through the forms, tapping on textbox'es used to take ages. User can notice the sluggishness. And I didn't test this app on a single mobile, I used 3 mobile, Samsung Galaxy S Duos, Galaxy S4 and LG E400.

    First I thought E400 is the problem, but when I used S4 and S Duos, I was sure it was problem with Phonegap.

    I'm also aware of peoples who are working in Phonegap in IBM using Sencha, KendoUI and all. But I don't know what they do to make it feel like native app. May be they do something different.

    But storing the data and all, I don't think it uses SQLite that way. May be it uses HTML5 Storage. IDK. But all I know is app was not upto the mark and UI also not that smooth.

    And may be you already noticed, that all great apps be it for Android, iPhone, WP8 or Blackberry are made natively. You see if Phonegap or things like these would really have given that much performance and can replace development of native apps, companies would have hired those people. But you see, all companies, prefer different developers for different platform.

    There's a reason behind it.
     
  13. vickybat

    vickybat I am the night...I am...

    Joined:
    Aug 16, 2008
    Messages:
    5,652
    Likes Received:
    31
    Trophy Points:
    0
    Location:
    Gotham City
    Hmmm i see. So Krishnandu, you developed for Android platform. You used XML and Java right?

    I did a small search on the web and found some small performance hits on PhoneGap. But its absolutely fine for a beginner to learn a thing or two.
    Yes, HTML5 has web storage API harnessed by java script. That does all the local storage.

    Yeah native app development hasn't been replaced , but these are really gaining ground. The reason being maintaining a single version of code for multiple platforms.
    You don't have to write the same thing again and again in different technologies for multiple platforms like Blackberry, Symbian and the likes. I guess all leading corporate MNC's are developing using
    PhoneGap and although it doesn't threaten native app development, one cannot deny its growing popularity.

    Thanks for your important feedback buddy. I think op should give it a try if he wants to develop something fast using his existing knowledge base.

    What audio problems did you face?

    Except IE, all other browsers support HTML5 really really well. Chrome uses -webkit- and firefox uses -moz-. The end result is more or less same.
    I guess IE9 has improved a lot in html5 support.
     
  14. sandeep410

    sandeep410 New Member

    Joined:
    Oct 11, 2008
    Messages:
    182
    Likes Received:
    0
    Trophy Points:
    0
    Did you tried on mobile browsers. Audio problem is massive on mobile browsers. And theres a lot of peformance hit on mobile browsers. It works fine on desktop browsers but whole point of html5 is to run on all devices which is where it fails on mobile.
    Try making a game with physics on html5 browser and you can then notice a massive frame rate issues.
    And no, none of MNCs use so called phone gap they prefer native apps. And there are 3 OS that matters that is windows,android and IOS no one gives a sh*t about blackberry or symbian or even windows phone.
     
  15. masterkd

    masterkd Member

    Joined:
    Feb 9, 2011
    Messages:
    962
    Likes Received:
    2
    Trophy Points:
    18
    Location:
    Kolkata
    Totally disagree. I have been making enterprise apps for nearly 2.5 years now. Most of the MNCs prefer cross platform over native apps (exception UK). They suffer in an illusion that cross platform will give them the same functionality and performance of native with less expense and with less maintainability issue with multiple platforms.
     
  16. krishnandu.sarkar

    krishnandu.sarkar Simply a DIGITian Staff Member

    Joined:
    Nov 13, 2007
    Messages:
    4,701
    Likes Received:
    15
    Trophy Points:
    38
    Location:
    Kolkata
    This I disagree too. Because I have few friends over IBM and they work with Phonegap + Sencha. Yes they don't use Phonegap only, but mix up Sencha, KendoUI etc. But I don't know how do they overcome that sluggishness.
     
  17. masterkd

    masterkd Member

    Joined:
    Feb 9, 2011
    Messages:
    962
    Likes Received:
    2
    Trophy Points:
    18
    Location:
    Kolkata
    The sluggishness will be always there. You cannot beat native with phonegap. But with good design you can make the user feel there is no lag. But in some specific scenarios it will be visible clearly.
     
  18. vickybat

    vickybat I am the night...I am...

    Joined:
    Aug 16, 2008
    Messages:
    5,652
    Likes Received:
    31
    Trophy Points:
    0
    Location:
    Gotham City
    Buddy nobody here is discussing about developing mobile web pages to be interpreted by a browser. What's the point of PhoneGap then?
    You create a standalone application using PhoneGap. It opens just like a native application. I guess there is something like an in-app browser and chrome is default for android.

    About MNC's using PhoneGap or not, i guess you've got your answer from other members.

    Here's a small list of firms that use PhoneGap/Apache Cordova. Also see the list of apps.

    http://www.tricedesigns.com/2012/03/27/who-uses-phonegapapache-cordova/

    http://phonegap.com/app/

    Its far more widely accepted than you think. Like krishnandu said, people are overcoming the sluggishness factor by using 3rd party frameworks.

    I read a bit about Sencha and found its purpose. Its a Javascript library to design UI's for HTML5 and also optimize touch performance.

    This is from wikipedia:


    So you were right buddy. This is how guys at IBM overcome the sluggishness issues.

    HTML5 App Development for Desktop and Mobile. JavaScript Frameworks and Dev Tools from Sencha. | Home | Sencha


    Btw krishnandu,you use C# for android development or java?
     
    Last edited: Nov 12, 2013
  19. krishnandu.sarkar

    krishnandu.sarkar Simply a DIGITian Staff Member

    Joined:
    Nov 13, 2007
    Messages:
    4,701
    Likes Received:
    15
    Trophy Points:
    38
    Location:
    Kolkata
    Yeah Sencha is widely accepted thing, specially Sencha Touch. It's widely used at various places and applications.

    Actually, Sencha, jQuery Mobile, KendoUI is what mix with HTML5.

    Well I'm a C# developer professionally..!! But I love open source, so I know PHP, Python, use Linux everyday, and yes I hate Java, but love Android. So end up creating the app using Phonegap, but didn't used sencha. Then due to the problems moved to native app. I know J2SE.

    Actually I know many things but it's like all the basics (like a college passout) and master of none :p

    I mean on side notes, I do many other things which are not related to my Job. Due to being a techie, they always ask for my comments and as I love to RnD, they ask to participate on those things too, like developing Android Apps, participating in installing and configuring Linux for their servers. sometimes basic networking..!!

    I have basic knowledge on those things, as I love to know how things happen :)

    And yes regarding C#, I tried Xamarin once. But couldn't afford to buy, neither I found any other way out :p
     
  20. masterkd

    masterkd Member

    Joined:
    Feb 9, 2011
    Messages:
    962
    Likes Received:
    2
    Trophy Points:
    18
    Location:
    Kolkata
    How come you hate Java. Its a wonderful thing. Its true it has its disadvantages, but its really awesome as well.
    BTW how is xamarin? Microsoft trying to promote it a lot, created a bit of buzz in my company.
     

Share This Page