SlideShare a Scribd company logo
Made Simple
Who am I?


  Gabriel Dogaru

     –   Ex software developer at Synygy

     –   Ex software engineer at Amazon

     –   Co-founder TAGonSoft
Agenda

   ●   Why Android
   ●   Small Android overview
   ●   Leverage the power of java frameworks with Android
What is Android?



 “Android is a software stack for mobile devices
 that includes an operating system, middleware
 and key applications”
Why Android?
Why Android?




               ●
               ●   http://www.guardian.co.uk/technology/appsblog/2012/aug/16/android-winning-apps-china-smartphone is Android?
                   http://www.guardian.co.uk/technology/appsblog/2012/aug/16/android-winning-apps-china-smartphone is Android?
Why Android?




               ●
               ●   http://www.guardian.co.uk/technology/appsblog/2012/aug/16/android-winning-apps-china-smartphone is Android?
                   http://www.guardian.co.uk/technology/appsblog/2012/aug/16/android-winning-apps-china-smartphone is Android?
Why write native Android?
Why Native Android?




                      Indeed job trends 28.10.2012
Why Native Android?




                      Indeed job trends 28.10.2012
Why Native Android?




                  Respect your user
Who is Android?
Who is Android?
Who is Android?
Who is Android?
Android Architecture
Android Architecture
Android Kernel
Native libraries
Android Runtime
Application Framework
Applications
Building Blocks

   ●   Activity
   ●   Intent Receiver
   ●   Service
   ●   ContentProvider
Activity

    ●   A single, focused thing that the user can do
    ●   Provides a screen with which users can interact in order
        to do something
Intent Receiver
●




    ●   Handle the broadcast intents
Service

   ●   Can perform long-running operations in the background
       and does not provide a user interface
   ●   A component can bind to a service to interact with it
Content provider

   ●   Enable applications to share data
Intent

   ●   Passive data structure holding an abstract description of
       an operation to be performed
   ●   Used to start your activities
   ●   Used to start external applications
That's just old stuff from 2008

   ●   http://developer.android.com
   ●   http://www.youtube.com/results?search_query=androidology
   ●   blogs++
How about my handy Java frameworks?
The Best Programmers Are Lazy and Dumb ?!?!?
Android annotations
Helps with activities


 @NoTitle
 @Fullscreen
 @EActivity(R.layout.bookmarks)
 public class BookmarksToClipboardActivity extends Activity {

   @ViewById
   ListView bookmarkList;
   @ViewById
   EditText search;

   @AfterViews
   void initBookmarkList() {
     search.setText(??);//.....
   }
Helps with events

 //.....


 @Click( {R.id.button1, R.id.button2})
 void updateBookmarksClicked() {
     searchAsync(search.getText().toString(),userid);
 }


 @ItemClick
 void bookmarkListItemClicked(Bookmark selectedBookmark) {
     clipboardManager.setText(selectedBookmark.getUrl());
 }
 //.....
Helps with preferences
 @SharedPref
 public interface MyPrefs {
  @DefaultString("John")
     String name();


    @DefaultInt(42)
    int age();

    long lastUpdated();
 }
 …...............................
 @EActivity
 public class MyActivity extends Activity {
     @Pref
     MyPrefs_ myPrefs;
 }
Helps with Rest Services

 @Rest("http://tagonsoft.ro/")
 public interface CodecampClient {


     @Get("codecamp.php")
     @Accept(MediaType.APPLICATION_JSON)
     Codecamp getEventData();

     @Post("feedback.php")
     void sendFeedback(Feedback feedback);


     RestTemplate getRestTemplate();
 }
Got ORM? OrmLite
 @DatabaseTable(tableName = "sessions")
 public class Session {
     @DatabaseField(id = true, columnName = "_id")
     long id;
 //....
 }

 //....
 TableUtils.createTable(connectionSource, Session.class);



 //....
 dbHelper.getSessionDao().create(session);
 dbHelper.getSessionDao().queryForId(sessionID);
And it all builds up
So?
      ●   Android is the world's most popular mobile platform
      ●   Writing Android code can be fun and easy
      ●   developer.android.com is your friend
      ●   You can download example Codecamp app source code from
             https://bitbucket.org/gdogaru/codecamp_android
Android Made Simple
Thank You!




                                                 gdogaru@gmail.com
                                                 gabrieldogaru.com
tagonsoft.ro

               Please fill in the evaluation forms

More Related Content

PDF
Building at a glance
PPTX
React JS Belgium Touch Base - React, Flux, React Native
PDF
React native-meetup-talk
PDF
Experiences building apps with React Native @DomCode 2016
PPTX
Introduction to git & WordPress
PDF
Making websites with WordPress
ODP
Jakarta js meetup kudo
PPTX
Creating books app with react native
Building at a glance
React JS Belgium Touch Base - React, Flux, React Native
React native-meetup-talk
Experiences building apps with React Native @DomCode 2016
Introduction to git & WordPress
Making websites with WordPress
Jakarta js meetup kudo
Creating books app with react native

What's hot (20)

PDF
Алексей Волков "Введение в React Native"
PDF
Survival of the Continuist
PPTX
React Native
PDF
Nicholas Gustilo "Clean Android: building great mobile apps"
PPTX
How do we test nodejs apps?
PDF
Let’s be productive with spring boot
PDF
Introduction to Django
PPTX
Agile coding dojo session #3 (2014 09-20)
PDF
“Practical DevOps by a small team of devs” by Ilgvars Jēcis from FinoTech  at...
PDF
Automate your WordPress Workflow with Grunt.js
PDF
My experience as Eclipse Contributor - ECE 2015
PPTX
React Native for ReactJS Devs
PDF
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
PPTX
React Native
PDF
Reuse features in Android applications
PPT
JavaScript Tools and Implementation
PDF
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
PDF
How We Use GitHub
PDF
Flutter Workshop 2021 @ ARU
PPTX
Angular2.0@Shanghai0319
Алексей Волков "Введение в React Native"
Survival of the Continuist
React Native
Nicholas Gustilo "Clean Android: building great mobile apps"
How do we test nodejs apps?
Let’s be productive with spring boot
Introduction to Django
Agile coding dojo session #3 (2014 09-20)
“Practical DevOps by a small team of devs” by Ilgvars Jēcis from FinoTech  at...
Automate your WordPress Workflow with Grunt.js
My experience as Eclipse Contributor - ECE 2015
React Native for ReactJS Devs
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
React Native
Reuse features in Android applications
JavaScript Tools and Implementation
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
How We Use GitHub
Flutter Workshop 2021 @ ARU
Angular2.0@Shanghai0319
Ad

Similar to Android Made Simple (20)

PPTX
01. Introduction to Android_lecture1.pptx
PPTX
Android 1-intro n architecture
PPT
Mobile appliaction w android week 1 by osama
PPTX
Android quick talk
PDF
Android Introduction by Kajal
DOCX
Android tutorial
PDF
Android fundamentals and tutorial for beginners
PPTX
Aptech Apps
PPTX
Basics of Android
PPTX
Basic of Android App Development
PDF
Workshop 04 android-development
PPT
Synapseindia android apps overview
PDF
20IT601PE - Mobile Application Development PPT.pdf
PPTX
Android development
PPTX
Android Programming made easy
PDF
Android Workshop Part 1
PPTX
Android Applications Development: A Quick Start Guide
PPTX
architecture of android.pptx
PDF
android app development training report
PPTX
Best Android training in Chandigarh - 34
01. Introduction to Android_lecture1.pptx
Android 1-intro n architecture
Mobile appliaction w android week 1 by osama
Android quick talk
Android Introduction by Kajal
Android tutorial
Android fundamentals and tutorial for beginners
Aptech Apps
Basics of Android
Basic of Android App Development
Workshop 04 android-development
Synapseindia android apps overview
20IT601PE - Mobile Application Development PPT.pdf
Android development
Android Programming made easy
Android Workshop Part 1
Android Applications Development: A Quick Start Guide
architecture of android.pptx
android app development training report
Best Android training in Chandigarh - 34
Ad

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Machine Learning_overview_presentation.pptx
PPTX
1. Introduction to Computer Programming.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Approach and Philosophy of On baking technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
Machine Learning_overview_presentation.pptx
1. Introduction to Computer Programming.pptx
A Presentation on Artificial Intelligence
Reach Out and Touch Someone: Haptics and Empathic Computing
Programs and apps: productivity, graphics, security and other tools
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Approach and Philosophy of On baking technology
Digital-Transformation-Roadmap-for-Companies.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Advanced methodologies resolving dimensionality complications for autism neur...
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Per capita expenditure prediction using model stacking based on satellite ima...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Unlocking AI with Model Context Protocol (MCP)

Android Made Simple

  • 2. Who am I? Gabriel Dogaru – Ex software developer at Synygy – Ex software engineer at Amazon – Co-founder TAGonSoft
  • 3. Agenda ● Why Android ● Small Android overview ● Leverage the power of java frameworks with Android
  • 4. What is Android? “Android is a software stack for mobile devices that includes an operating system, middleware and key applications”
  • 6. Why Android? ● ● http://www.guardian.co.uk/technology/appsblog/2012/aug/16/android-winning-apps-china-smartphone is Android? http://www.guardian.co.uk/technology/appsblog/2012/aug/16/android-winning-apps-china-smartphone is Android?
  • 7. Why Android? ● ● http://www.guardian.co.uk/technology/appsblog/2012/aug/16/android-winning-apps-china-smartphone is Android? http://www.guardian.co.uk/technology/appsblog/2012/aug/16/android-winning-apps-china-smartphone is Android?
  • 8. Why write native Android?
  • 9. Why Native Android? Indeed job trends 28.10.2012
  • 10. Why Native Android? Indeed job trends 28.10.2012
  • 11. Why Native Android? Respect your user
  • 23. Building Blocks ● Activity ● Intent Receiver ● Service ● ContentProvider
  • 24. Activity ● A single, focused thing that the user can do ● Provides a screen with which users can interact in order to do something
  • 25. Intent Receiver ● ● Handle the broadcast intents
  • 26. Service ● Can perform long-running operations in the background and does not provide a user interface ● A component can bind to a service to interact with it
  • 27. Content provider ● Enable applications to share data
  • 28. Intent ● Passive data structure holding an abstract description of an operation to be performed ● Used to start your activities ● Used to start external applications
  • 29. That's just old stuff from 2008 ● http://developer.android.com ● http://www.youtube.com/results?search_query=androidology ● blogs++
  • 30. How about my handy Java frameworks?
  • 31. The Best Programmers Are Lazy and Dumb ?!?!?
  • 33. Helps with activities @NoTitle @Fullscreen @EActivity(R.layout.bookmarks) public class BookmarksToClipboardActivity extends Activity { @ViewById ListView bookmarkList; @ViewById EditText search; @AfterViews void initBookmarkList() { search.setText(??);//..... }
  • 34. Helps with events //..... @Click( {R.id.button1, R.id.button2}) void updateBookmarksClicked() { searchAsync(search.getText().toString(),userid); } @ItemClick void bookmarkListItemClicked(Bookmark selectedBookmark) { clipboardManager.setText(selectedBookmark.getUrl()); } //.....
  • 35. Helps with preferences @SharedPref public interface MyPrefs { @DefaultString("John") String name(); @DefaultInt(42) int age(); long lastUpdated(); } …............................... @EActivity public class MyActivity extends Activity { @Pref MyPrefs_ myPrefs; }
  • 36. Helps with Rest Services @Rest("http://tagonsoft.ro/") public interface CodecampClient { @Get("codecamp.php") @Accept(MediaType.APPLICATION_JSON) Codecamp getEventData(); @Post("feedback.php") void sendFeedback(Feedback feedback); RestTemplate getRestTemplate(); }
  • 37. Got ORM? OrmLite @DatabaseTable(tableName = "sessions") public class Session { @DatabaseField(id = true, columnName = "_id") long id; //.... } //.... TableUtils.createTable(connectionSource, Session.class); //.... dbHelper.getSessionDao().create(session); dbHelper.getSessionDao().queryForId(sessionID);
  • 38. And it all builds up
  • 39. So? ● Android is the world's most popular mobile platform ● Writing Android code can be fun and easy ● developer.android.com is your friend ● You can download example Codecamp app source code from https://bitbucket.org/gdogaru/codecamp_android
  • 41. Thank You! gdogaru@gmail.com gabrieldogaru.com tagonsoft.ro Please fill in the evaluation forms