{"id":2123,"date":"2015-09-15T14:06:10","date_gmt":"2015-09-15T12:06:10","guid":{"rendered":"http:\/\/hasselba.ch\/blog\/?p=2123"},"modified":"2015-09-15T14:06:10","modified_gmt":"2015-09-15T12:06:10","slug":"android-development","status":"publish","type":"post","link":"https:\/\/hasselba.ch\/blog\/?p=2123","title":{"rendered":"Android Development"},"content":{"rendered":"<p>While I had a lot of work to do in my daily business, I was still able to complete five of six MOOCs about Android development during the last monthes.\u00a0The courses were very cool, especially the ones about Concurrency and Security.<\/p>\n<p>Topics covered during the MOOCs:<\/p>\n<ul>\n<li>Screen configurations and sizes<\/li>\n<li>Activity Class, Intents and Permission, Fragments<\/li>\n<li>Designing user interfaces<\/li>\n<li>Notifying users about important events<\/li>\n<li>Handling concurrency<\/li>\n<li>Acquiring data over the network<\/li>\n<li>Leveraging multimedia and graphics<\/li>\n<li>Incorporating touch and gestures<\/li>\n<li>Working with sensors<\/li>\n<li>Android Layers<\/li>\n<li>Java Threading Mechanisms<\/li>\n<li>Java Built-in Synchronization Mechanisms<\/li>\n<li>Android Concurrency Framework Classes<\/li>\n<li>Android Looper<\/li>\n<li>Android Handler and HaMeR Framework<\/li>\n<li>\u00a0The AsyncTask Framework<\/li>\n<li>Blackbox and Whitebox Frameworks with AsyncTask<\/li>\n<li>Monitor Object Pattern<\/li>\n<li>Thread-Specific Storage Pattern<\/li>\n<li>Command Processor Pattern<\/li>\n<li>Active Object Pattern<\/li>\n<li>Proxy Pattern<\/li>\n<li>Broker Pattern<\/li>\n<li>Half-Sync\/Half-Async Pattern<\/li>\n<li>Started and Bound Services<\/li>\n<li>Activity and Service Communication<\/li>\n<li>Service to Activity Communication Using Android Messenger<\/li>\n<li>Android IntentService<\/li>\n<li>Programming Bound Services with Messengers<\/li>\n<li>The Android Interface Definition Language (AIDL)<\/li>\n<li>Privilege Escalation Concepts<\/li>\n<li>Spring, Configuration Annotations, Dependency Injection and Spring Security<\/li>\n<li>OAuth<\/li>\n<li>Retrofit Client<\/li>\n<li>Android Content Providers and Content Resolvers<\/li>\n<li>SQLite<\/li>\n<li>and much more&#8230;<\/li>\n<\/ul>\n<p>Thanks to Dr. Adam Porter, Dr. Douglas C. Schmidt and Dr. Jules White. It was very interesting and I learned a lot.<\/p>\n<p><a href=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart1-2015.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2124\" src=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart1-2015.png\" alt=\"Coursera androidpart1 2015\" width=\"1048\" height=\"805\" srcset=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart1-2015.png 1048w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart1-2015-300x230.png 300w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart1-2015-1024x787.png 1024w\" sizes=\"auto, (max-width: 1048px) 100vw, 1048px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart2-2015.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2125\" src=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart2-2015.png\" alt=\"Coursera androidpart2 2015\" width=\"1046\" height=\"801\" srcset=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart2-2015.png 1046w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart2-2015-300x230.png 300w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-androidpart2-2015-1024x784.png 1024w\" sizes=\"auto, (max-width: 1046px) 100vw, 1046px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posacommunication-2015.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2126\" src=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posacommunication-2015.png\" alt=\"Coursera posacommunication 2015\" width=\"1051\" height=\"804\" srcset=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posacommunication-2015.png 1051w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posacommunication-2015-300x229.png 300w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posacommunication-2015-1024x783.png 1024w\" sizes=\"auto, (max-width: 1051px) 100vw, 1051px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posaconcurrency-2015.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2127\" src=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posaconcurrency-2015.png\" alt=\"Coursera posaconcurrency 2015\" width=\"1051\" height=\"808\" srcset=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posaconcurrency-2015.png 1051w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posaconcurrency-2015-300x231.png 300w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-posaconcurrency-2015-1024x787.png 1024w\" sizes=\"auto, (max-width: 1051px) 100vw, 1051px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-mobilecloudsecurity-2015.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2128\" src=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-mobilecloudsecurity-2015.png\" alt=\"Coursera mobilecloudsecurity 2015\" width=\"1048\" height=\"805\" srcset=\"https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-mobilecloudsecurity-2015.png 1048w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-mobilecloudsecurity-2015-300x230.png 300w, https:\/\/hasselba.ch\/blog\/wp-content\/uploads\/2015\/09\/Coursera-mobilecloudsecurity-2015-1024x787.png 1024w\" sizes=\"auto, (max-width: 1048px) 100vw, 1048px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>While I had a lot of work to do in my daily business, I was still able to complete five of six MOOCs about Android development during the last monthes.\u00a0The courses were very cool, especially the ones about Concurrency and &hellip; <a href=\"https:\/\/hasselba.ch\/blog\/?p=2123\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[103],"tags":[104,105],"class_list":["post-2123","post","type-post","status-publish","format-standard","hentry","category-android","tag-android","tag-mooc"],"_links":{"self":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2123"}],"version-history":[{"count":3,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2123\/revisions"}],"predecessor-version":[{"id":2131,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2123\/revisions\/2131"}],"wp:attachment":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}