file:///storage/emulated/0/Pictures/kyho/IMG_20141008_195258.jpg
Claire Keane
Today's Document

pixel skylines

shark vs the universe

#extradirty

Kaledo Art
"I'm Dorothy Gale from Kansas"
noise dept.
Show & Tell
Peter Solarz

ellievsbear

Product Placement
Not today Justin

No title available

⁂
TVSTRANGERTHINGS
Monterey Bay Aquarium

if i look back, i am lost
Mike Driver
Sweet Seals For You, Always

seen from Malaysia

seen from Türkiye

seen from Australia
seen from Australia

seen from United States

seen from Canada
seen from France
seen from Germany
seen from Romania

seen from Australia
seen from United States
seen from United States
seen from Singapore

seen from United Kingdom
seen from New Zealand

seen from Germany
seen from Ireland
seen from Netherlands
seen from United States

seen from Singapore
@androidquest
file:///storage/emulated/0/Pictures/kyho/IMG_20141008_195258.jpg
file:///storage/emulated/0/Pictures/kyho/IMG_20140922_181212.jpg
file:///storage/emulated/0/Pictures/kyho/IMG_20140922_181155.jpg
file:///storage/emulated/0/Pictures/kyho/IMG_20140922_180004.jpg
file:///storage/emulated/0/Pictures/kyho/IMG_20140922_174659.jpg
file:///storage/emulated/0/Pictures/kyho/IMG_20140920_125651.jpg
Quote from Android app
Helloworld, from android app
gestures
activity package com.kyho; import com.kyho.R; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.FrameLayout; import android.widget.Toast; import com.kyho.camera.CameraActivity; import com.kyho.gesture.ActivitySwipeDetector; import com.kyho.gesture.SwipeInterface; public class MiddleActivity extends CameraActivity implements SwipeInterface { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d(TAG, "OnCreate!"); ActivitySwipeDetector swipe = new ActivitySwipeDetector(this); FrameLayout swipe_layout = (FrameLayout) findViewById(R.id.camera_preview); swipe_layout.setOnTouchListener(swipe); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.left, menu); return true; } @Override public void bottom2top(View v) { // TODO Auto-generated method stub } @Override public void left2right(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.camera_preview: Toast.makeText(this, "left to right swipe", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(this, LeftActivity.class); startActivity(intent); break; } } @Override public void right2left(View v) { // TODO Auto-generated method stub } @Override public void top2bottom(View v) { // TODO Auto-generated method stub } } ActivitySwipeDetector package com.kyho.gesture; import android.util.Log; import android.view.MotionEvent; import android.view.View; public class ActivitySwipeDetector implements View.OnTouchListener { static final String logTag = "ActivitySwipeDetector"; private SwipeInterface activity; static final int MIN_DISTANCE = 100; private float downX, downY, upX, upY; public ActivitySwipeDetector(SwipeInterface activity){ this.activity = activity; } public void onRightToLeftSwipe(View v){ Log.i(logTag, "RightToLeftSwipe!"); activity.right2left(v); } public void onLeftToRightSwipe(View v){ Log.i(logTag, "LeftToRightSwipe!"); activity.left2right(v); } public void onTopToBottomSwipe(View v){ Log.i(logTag, "onTopToBottomSwipe!"); activity.top2bottom(v); } public void onBottomToTopSwipe(View v){ Log.i(logTag, "onBottomToTopSwipe!"); activity.bottom2top(v); } public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_DOWN: { downX = event.getX(); downY = event.getY(); return true; } case MotionEvent.ACTION_UP: { upX = event.getX(); upY = event.getY(); float deltaX = downX - upX; float deltaY = downY - upY; // swipe horizontal? if(Math.abs(deltaX) > MIN_DISTANCE){ // left or right if(deltaX < 0) { this.onLeftToRightSwipe(v); return true; } if(deltaX > 0) { this.onRightToLeftSwipe(v); return true; } } else { Log.i(logTag, "Swipe was only " + Math.abs(deltaX) + " long, need at least " + MIN_DISTANCE); } // swipe vertical? if(Math.abs(deltaY) > MIN_DISTANCE){ // top or down if(deltaY < 0) { this.onTopToBottomSwipe(v); return true; } if(deltaY > 0) { this.onBottomToTopSwipe(v); return true; } } else { Log.i(logTag, "Swipe was only " + Math.abs(deltaX) + " long, need at least " + MIN_DISTANCE); v.performClick(); } } } return false; } } SwipeInterface package com.kyho.gesture; import android.view.View; public interface SwipeInterface { public void bottom2top(View v); public void left2right(View v); public void right2left(View v); public void top2bottom(View v); }
swipe view
https://developer.android.com/training/implementing-navigation/lateral.html#horizontal-paging
camera app
https://github.com/rexstjohn/UltimateAndroidCameraGuide/blob/master/camera/src/main/java/com/ultimate/camera/fragments/NativeCameraFragment.java https://github.com/commonsguy/cwac-camera http://www.airpair.com/android/android-camera-development https://developer.android.com/guide/topics/media/camera.html
tumblr api
oAuth http://www.android-ios-tutorials.com/920/tumblr-login-using-sign-post/
Intent Usage
start an activity
start and stop a service
send a broadcast
bind to a service
You can also filter for intent in XML (<filter>) and Java (new intentFilter).
Android concept so far (2/27/2013 chat)
(5:49:05 PM) Tony Doan: hihi
(6:18:29 PM) Steve Suh: hola
(6:18:37 PM) Tony Doan: hey hey
(6:18:45 PM) Tony Doan: i want to explain an android concepts
(6:18:48 PM) Tony Doan: to see if i understand it
(6:18:51 PM) Tony Doan: can i do that with you?
(6:20:17 PM) Steve Suh: ok
(6:20:22 PM) Tony Doan: kay
(6:20:24 PM) Tony Doan: so application
(6:20:29 PM) Tony Doan: consists of activities
(6:20:35 PM) Tony Doan: each activity
(6:20:40 PM) Tony Doan: is a screen
(6:20:44 PM) Tony Doan: like a webpage
(6:20:50 PM) Tony Doan: and the link to each other activies
(6:20:53 PM) Tony Doan: is the intent
(6:20:55 PM) Tony Doan: am i right?
(6:20:59 PM) Tony Doan: intent also
(6:21:06 PM) Tony Doan: request stuff
(6:21:09 PM) Tony Doan: such as services
(6:21:16 PM) Tony Doan: but that's all i got so far
(6:21:22 PM) Steve Suh: ya that sounds good
(6:21:24 PM) Tony Doan: mmmm
(6:21:29 PM) Tony Doan: each activity have a lifecycle?
(6:21:36 PM) Tony Doan: or does the app have a life cycle?
(6:21:45 PM) Steve Suh: each activity has a lifecycle
(6:21:49 PM) Tony Doan: and
(6:22:01 PM) Tony Doan: each app is on an instant of vm?
(6:22:04 PM) Tony Doan: instance
(6:22:11 PM) Steve Suh: each app
(6:22:17 PM) Steve Suh: has it's own dalvik vm
(6:22:19 PM) Tony Doan: ah
(6:22:24 PM) Tony Doan: YEEEEES
(6:22:24 PM) Steve Suh: and uid
(6:22:27 PM) Tony Doan: ah
(6:22:31 PM) Tony Doan: oh yeah
(6:22:32 PM) Tony Doan: uid
(6:22:33 PM) Tony Doan: cause it's
(6:22:37 PM) Tony Doan: group up
(6:22:38 PM) Tony Doan: and shit
(6:23:57 PM) Tony Doan: yeah that's all i got
(6:23:59 PM) Tony Doan: thank you
(6:24:00 PM) Tony Doan: so much
(6:24:01 PM) Tony Doan: haha
(6:27:18 PM) Steve Suh: cools
service vs intentservice
service - intervally do stuff intentservice - do it once and die (manually check an update once)
async task
Most of the time you use async task to update UI
service
http://marakana.com/bookshelf/main_building_blocks_tutorial/service_overview.html