From 61e0307a88a013140f9db823718e9b17fb726515 Mon Sep 17 00:00:00 2001 From: Brian Buller Date: Wed, 24 Feb 2016 13:43:02 -0600 Subject: [PATCH] Added Android Lightning Talk for DevICT --- 2016/02/android.slide | 153 ++++++++++++ app.yaml | 15 ++ appengine.go | 22 ++ dir.go | 213 +++++++++++++++++ doc.go | 56 +++++ local.go | 129 ++++++++++ play.go | 43 ++++ play_http.go | 23 ++ play_socket.go | 36 +++ static/article.css | 136 +++++++++++ static/dir.css | 186 +++++++++++++++ static/dir.js | 41 ++++ static/favicon.ico | Bin 0 -> 318 bytes static/go-favicon.ico | Bin 0 -> 785 bytes static/jquery-ui.js | 6 + static/slides.js | 526 +++++++++++++++++++++++++++++++++++++++++ static/styles.css | 523 ++++++++++++++++++++++++++++++++++++++++ templates/action.tmpl | 48 ++++ templates/article.tmpl | 89 +++++++ templates/dir.tmpl | 108 +++++++++ templates/slides.tmpl | 94 ++++++++ 21 files changed, 2447 insertions(+) create mode 100644 2016/02/android.slide create mode 100644 app.yaml create mode 100644 appengine.go create mode 100644 dir.go create mode 100644 doc.go create mode 100644 local.go create mode 100644 play.go create mode 100644 play_http.go create mode 100644 play_socket.go create mode 100644 static/article.css create mode 100644 static/dir.css create mode 100644 static/dir.js create mode 100755 static/favicon.ico create mode 100644 static/go-favicon.ico create mode 100644 static/jquery-ui.js create mode 100644 static/slides.js create mode 100644 static/styles.css create mode 100644 templates/action.tmpl create mode 100644 templates/article.tmpl create mode 100644 templates/dir.tmpl create mode 100644 templates/slides.tmpl diff --git a/2016/02/android.slide b/2016/02/android.slide new file mode 100644 index 0000000..d3337d1 --- /dev/null +++ b/2016/02/android.slide @@ -0,0 +1,153 @@ +Android + +February 25, 2016 +Brian Buller +Buller Codeworks, LLC + +* Generally + +Native Android is Java... + +* Generally + +Native Android is Java... + +but I'm not talking about that + +* Android Manifest + + + + + + + + + + + ... + + + +* Permissions +- Sandboxed Applications +- Normal Permissions + The permission must be declared, but the system automatically grants access +- Dangerous Permissions + The user must grant permission +- Changes in Android 6 +- List of permissions and severity at [[http://developer.android.com/guide/topics/security/permissions.html]] + +* Permissions Example +- Declared in manifest + + + + +- Request at run time + + ActivityCompat.requestPermissions(thisActivity, + new String[]{Manifest.permission.READ_CONTACTS}, + MY_PERMISSIONS_REQUEST_READ_CONTACTS); + +* Intents +- Declare in manifest + + + + + + +- Call in code + + Intent shareIntent = new Intent(); + shareIntent.setAction(Intent.ACTION_SEND); + shareIntent.putExtra(Intent.EXTRA_TEXT, alert_message); + shareIntent.setType("text/plain"); + startActivity(shareIntent); + +* Activities +Main Activity (icon in launcher) + + + + + + + + +Other Activities + + + + + +* Application Lifecycle +General Lifecycle + +- Resumed + + The activity has the user focus (aka - Running) + +- Paused + + Another activity is in the foreground, but this one is still visisble. + A Paused activity is fully alive but can be killed by the system in extremely + low-memory situations. + +- Stopped + + The activity is completely obscured by another activity. The activity is still alive, + but no longer visible and can be killed if memory is needed elsewhere. + +* Application Lifecycle +Functions +- onCreate - The activity is being created +- onStart - The activity is about to become visible +- onResume - The activity has become visible +- onPause - Another activity is taking focus +- onStop - The activity is no longer visible +- onDestroy - The activity is about to be destroyed + + Those are all overrides and you *must* hit the overridden function before doing any work in them. + +* Layout Files + + + +