Developing Android Applications

מק"ט: #51050 | משך קורס: 48 שעות אק'

This is a technical course that introduces programming Android applications. It is suitable for programmers starting new projects on Android, or for those maintaining existing applications.
Based on Linux, Android has rapidly emerged as the platform of choice for a wide range of mobile devices. In the short time since its first distribution in 2007, it has become one of the most widely used and prolific operating systems. Applications for Android are mostly written in the popular programming language Java, and a well-developed SDK is provided by Google, together with an emulator for development on the desktop.
This is an instructor led presentation with hands on exercises course using the Android development environment on Microsoft Windows, but is equally applicable to other platforms, such as iOS or Linux. 

לפרטים נוספים, מלא את פרטיך או התקשר 03-7100673
*שדות חובה


לקורס הסבה לתחום הקלק כאן


  • Use Android Studio with the Android emulator as a productive development environment to write and run Android applications
  • Understand Android features
  • Exploit the Android developer's SDK
  • Appreciate the differences between versions of Android
  • Design and write effective user interfaces for Android applications
  • Exploit hardware features available on a variety of devices
  • Effectively use external services and resources

תנאי קדם

  • Previous knowledge and experience of Java is assumed, and some knowledge of XML is required
  • For those without a previous knowledge of Java, the first day of the course (optional) will cover basic Java topics
  • Experience of using Android at a user level is not assumed but will be an advantage, as will previous experience of Android Studio


Java Programming (Optional)

  • Basic Syntax
  • OOP
  • Collections
  • Exceptions
  • Multitasking


Introduction to Android™

  • Copyrights and legal stuff
  • Rationale and history
  • Hardware
  • Software versions
  • Architecture
  • The Dalvik VM
  • Apps!
  • Current Android platforms
  • Telephone and tablet


The Development Environment

  • The emulator environment
  • A first project from Android Studio
  • Creating the AVD from Android Studio
  • Running our project


Use of Java in Android

  • OO concepts review
  • Java language review
  • Introduction to Android classes
  • Android components
  • Other Android classes
  • Application security
  • The Manifest File - Public API


Developer Tools

  • SDK tools
  • Android Debug bridge - adb
  • Android Device Monitor
  • Dalvik Debug Monitor Service - DDMS
  • The shell
  • logcat
  • Android lint
  • SD card
  • What about a real device?
  • Android Device Chooser


UI - Layouts and Views in XML

  • Activities
  • Views
  • Layouts
  • Use of XML for UI components
  • Widgets
  • Storing and using literal values


UI - Layouts and Views in Java

  • Layouts, Widget ids and
  • Using literal values (revisited)
  • Handling events
  • Getting and setting view values
  • ListViews


UI - Menus

  • Menus
  • Menus in XML
  • The code for option menus
  • The code for context menus


UI - Activity life-cycles

  • The 'back stack'
  • Activity life-cycles and call-backs
  • Saving state
  • Persisting state
  • Launching a new activity
  • Declaring activities in the manifest file

Services and Receivers

  • What is a Service?
  • The IntentService class
  • Declaring Services in the manifest file
  • Status Bar and notifications
  • Broadcasts and BroadcastReceivers


Content Providers

  • Standard providers
  • Querying and changing data
  • Use of URIs
  • The query() method
  • Inserting, deleting and updating data
  • Querying and retrieving data on another thread
  • Writing your own content provider

Network Access

  • Overview
  • Checking connectivity
  • Internet access
  • Bluetooth
  • Introduction to Wi-Fi Direct and NFC


Data Access

  • Internal Storage - private data
  • External Storage - public data
  • Persisting state with SharedPreferences



  • What is SQLite?
  • SQLite data-types
  • SQLite table definitions
  • SQLite data manipulation
  • Using SQLite in Android
  • Using SQLite
  • Using SQLite with a Content Provider
  • Using ADB and sqlite3


Devices and External Services

  • Telephony
  • Using a camera
  • Location, location, location: GPS (and friends)
  • Introduction to Google Maps


Further UI Topics

  • Designing for hardware variety
  • Using multiple layouts
  • Fragments
  • The Action Bar


  • What should I test?
  • Testing platforms
  • Android JUnit extensions
  • UI Application Exerciser Monkey
  • monkeyrunner
  • Other tools



  • The publishing process
  • Signing
  • The Android Studio Export Wizard
  • ProGuard
  • Versioning
  • Android Asset Packing Tool - aapt
  • Android Market / Google Play
  • The Android Developer Console


Beyond Java

  • Other development techniques
  • Native Code
  • Native Development Kit - NDK
  • Mono - C#
  • Scripting Layer for Android - SL4A