행복한 가족, 패밀리그램

개발 49

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #3

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #1안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #2 이전 포스팅에서 IOIO와 고장난 RC 장난감 자동차를 연결하는 작업을 진행 했었습니다. 이번 포스팅에선 본격적으로 간단한 코딩과 동작완료!우선 IOIO 관련 Android Java Library가 있습니다. 정확한 레퍼런스는 아래 링크에서 확인 할 수 있습니다.https://github.com/ytai/ioio/wiki/Building-IOIO-Applications-With-Gradle 개발에 앞서 개발환경은 아래와 같습니다.조정 단말기 Nexus5 N (Nougat 7.1) compile SDK version 25 (2017, 01-22 기준 최신) min S..

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #2

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #1안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #3 이전 포스팅에서 고장난 RC 장난감 자동차에 L293D가 삽입된 PCB를 장착하는 것 까지 완료 하였었다. 이번에는 L293D와 안드로이드 IOIO를 연결하는 작업을 하였다.( 퇴근 후 아이랑 놀아주다가 아이가 잠든 후 작업을 해야하기 때문에 시간이 충분하지 않다 ㅠㅠ) 지난 번 업로드 하였던 PCB가 장착된 RC 장난감 자동차의 마지막 모습. L293D와 IOIO의 연결은 오랫 동안 사용하지 않은 연습용 PCB에 삽입된 일부 소켓을 재활용 하였다. 오랫동안 사용하지 않은 연습용 기판에 장착된 소켓 중 하나를 때어 내었다. 해당 소켓의 Pin이 IOIO 소켓에 딱 ..

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #1

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #2안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #3 얼마 전 아들이 무선조정 미니카를 본 뒤로 굴러다니는 장난감 자동차만 보면 조정하는 척을 한다.( 무선 조정 미니카를 사주지 못 해 미안해 ㅠㅠㅠㅠ)그러던 중 오래 전 어머니가 가져온 무선조정 미니카가 생각났다. 무선조정 미니카를 몇 년전 구매한 IOIO를 연결하기로 마음을 먹었다. 안드로이드 IOIO 안드로이드 IOIO는 아두이노가 폭발적인 인기를 끌 때 구글에서 발표한 OTG Deivce 이다. 실제로 2011, 2012 Google IO 에서 ADK (Accessory Development Kit) 를 공개하고 배포하였다. ADK 레퍼런스 : Google De..

FirebaseMessaging 적용, App Background 상태 이슈

기존에 GCM을 Firebase로 마이그레이션 하면서 포스팅 해야지 계속 미루다 이제서야 포스팅한다.Firebase에서 CloudMessage 기능이 추가 되었다. 기존에 Push 서버 없이도 Push를 보낼 수 있을 수 있게 된 것이다. 아래 내용을 확인하기 전에 참고하기 전에 알아할 점은 FirebaseMessaging은 Client App에서 Push서비스를 구현만 하면 Notification은 Firebase 관련 SDK에서 노출시켜 준다는 것이다.그리고 기존에 GCM Json과 크게 변함이 없는 구조로 데이터가 Service로 수신된다는 것 이다. Google Document FCM Migration 기존 GCM에서 Migration 은 Google 가이드만 따라해도 충분히 할 수 있다. 1. ..

ScrollView안에 RecyclerView를 넣었을 때 RecyclerView의 Scrolling 무시하기.

NestedScrollView 내에 RecyclerView를 넣어 좀 더 다양한 UI를 구현하려고 할 때 NestedScrollView와 RecyclerView의 Scrolling 방향이 동일 할 경우 발생하는 문제가 있다.뭐 당연한 문제지만, 두개의 View 모두 Vertical scrolling이라고 할 때 ScrollView 영역에서는 스크롤이 자연스럽지만, RecyclerView에서는 부 자연스러운 동작을 보여준다. 그리고 SupportToolBar의 layoutScrollingFlag가 아래와 같을 때 RecyclerView영역에서는 정상동작 하지 않는 모습을 보여준다. 1 app:layout_scrollFlags="scroll|enterAlways"cs 이런 경우 RecyclerView의 Sc..

AsyncTask 에 대하여 #2. 스케쥴링 ThreadPool

AsyncTask 에 대하여 #1. 간단한 설명 위 포스팅에서 설명했던 간단한 AsyncTask에 대한 동작외에 실제로 AsyncTask가 동작되는 ThreadPool에 대해간단하게 알아보려고 한다. AsyncTask.java 소스를 살펴보면 클래스 변수 중에 아래와 같은 변수를 볼 수 있다. private static volatile Executor sDefaultExecutor = SERIAL_EXECUTOR; Colored by Color Scriptercs 224 라인에 위와 같이 선언되어 있다.(Android SDK 버전에 따라 코드라인이 다를 수 있다.) SERIAL_EXECUTOR 가 기본 ThreadExecutor 이다 . 여기서 Executor는 AsyncTask Thread를 관리해 주..

AsyncTask 에 대하여 #1. 간단한 설명

안드로이드 App개발에서 빼 놓을 수 없는 AsyncTask에 대한 포스팅을 이번에 해보려고한다. AsyncTask에 대해서는 워낙 많이 사용되고 비동기 처리에서 모르면 안돼는 것이니 자세한 설명은 생략하겠다. AsyncTask에 대하여 1. AsyncTask의 소속 패키지 안드로이드 Framework 소스를 볼 때 패키지에 대해서도 한번 관심을 갖어주어야한다. - android.os.AsyncTask AsyncTask 의 패키지는 android.os 이다. 패키지가 직관적이지 않은가?android 의 os와 관련있는 패키지라는 것이다. 그렇다면 왜 OS와 관련이있을까 ? 답변은 간단하다, AsyncTask의 스케쥴링을 OS에서 해주기 때문이다.Thread를 사용하면 Thread Pool을 만들어 관리가..

Windows echo date 문자 정리

Windows Command line 에서 날짜를 출력하기 위해 Echo를 사용하면 LineFeed와 Newline 을 정리해야 하는 경우가 생긴다. Perl 이나 기타 스크립트를 이용해서 문자열을 붙여서 사용해야 할 경우에 위와 같은 문제에 부딪 힌다. LINUX의 경우는 정말 간단하지만 Windows는 간단하지 않다... 방법을 찾지 못 해 Cygwin을 설치하여 Cygwin GNU util중 하나인 tr을 사용 하였다.. echo %date:~0%_%time:~0,2%%time:~3,2% | tr -d "\\r\\n[:space:] TR에 대한 help를 첨부 한다 사용법: tr []... []Translate, squeeze, and/or delete characters from standard ..

리눅스 more & less

리눅스 more 명령어| (파이프라인) 을 이용하여 긴 문장을 읽어 올 때페이지 단위로 읽을 수도 있고 라인으로 읽을 수 있게도 해준다.cat 명령어와 혼용하여 cat filename | more 를 사용하는 사람들도 있지만more filename 으로도 텍스트 파일을 읽어 올 수 있다.more을 이용해 텍스트 파일을 읽는 도중 v를 입력하면 vi 편집기로 바로 이동한다. 리눅스 lessless를 이용하여 파일을 읽으면 more이나 cat 과 다르게 좌우 상하 이동하면서 파일을 볼 수 있다.기본적으로 사용하는 bash Shell 에서는 안정적이지만 기타 shell 에서는 불 안정한 동작을 보인다.

Window 10 에 기본으로 설치된 앱 삭제 방법

Window 10 에 기본으로 설치된 Preload Application을 삭제하는 명령어가 돌아다니고 있네요.제어판에서 기본 어플리케이션을 삭제 할 수 없기때문에 Window PowerShell 을 이용하여 삭제하는 명령어입니다. 앱 이름 : 3D 빌더명령어 : Get-AppxPackage *3dbuilder* | Remove-AppxPackage 앱 이름 : 알람 및 시계Get-AppxPackage *windowsalarms* | Remove-AppxPackage 앱 이름 : 계산기Get-AppxPackage *windowscalculator* | Remove-AppxPackage 앱 이름 : 캘린더 & 메일Get-AppxPackage *windowscommunicationsapps* | Remove..