소스는 타블로그에서 가져왔다.post 메소드를 여러방식으로 쓰는데각 방식을 구분하는 방법을 아래 소스로 참고하자. 123mHandler.post(mRunnable); // Runnable 객체 실행mHandler.postAtFrontOfQueue(mRunnable); // Runnable 객체를 Queue 맨앞에 할당mHandler.postDelayed(mRunnable, 1000); // Runnable 객체를 1초 뒤에 실행cs 그리고 아래 링크는 핸들러를 학습하기너무 좋은 자료라 가져왔다. (강추 링크) Handler로 메시지를 전달하는 Looper를 간단하게 구현하는 방법이 있다.바로 HanderThread. 아래는 돼지왕왕돼지님의 블로그에서 가져온 소스이다. 12345// HandlerThrea..
포커스 메서드를 이용할 때 다음 두가지를 가장 많이 쓴다. setFocusable : 뷰의 포커스를 가질 수 있는지를 변경할 수 있다.터치 포커스 혹은 키보드 포커스로 변경하기 위해서 쓰인다. setFocusableInTouchMode : 터치 모드에서도 모든 키입력을 받기 위해 쓰인다.터치와 키보드 모드 모두 수용할 때 쓰인다 [관련 자료]http://blog.hansoolabs.com/262https://goo.gl/csOK8Ehttp://namsieon.com/324http://rockdrumy.tistory.com/919
그러고보니 다룰만한 것을 그냥 넘어가서찝찝해서 다시 다뤄보고자 글을 쓴다. 1String authorization = "Token "+ Networking.getToken();cs AddGroupPresenterImpl.java에서 토큰을 받아옴으로로그인 체크를 하게 된다.아래는 Networking.java이다. 123456789101112131415private static SharedPreferences loginCheck; public Networking(Context context){ this.context = context; // getSharedPreferences : 해당 프로세스(어플리케이션)내에 File 형태로 Data를 저장 // 로그인한뒤 받은 Response에서 쿠키정보를 안드로이드..
아래는 스터디를 하면서 직관적으로 기록한 것이다.차후 생각이 날 때, 혹은 기분이 좋을 때 정리를 새로 하도록 하겠다. 1. IO stream vs NIO streamIO : 단방향 2개의 통로나에게 오는 것 input / 내가 보내는 것이 output통로 = stream : 예시) 01000100110NIO : 통로를 channel버퍼 : 마치 캐쉬처럼. 입출력을 용이하게 - 클러스터 - 버퍼 방식버퍼의 존재가 왜 빠른 처리가 가능한가???? - 양동이필터 : 클락수. 처리속도.NIO : 버퍼가 필요 없다.강제 비동기(동기는 기본적으로 블로킹)IO stream 때문에 try-catch를 쓰라고 요청함 >> try-with : stream, db 등의 close를 할 필요가 없다 2. Stringcomp..
자. 앞 얘기를 계속해보자. 12final Call response = ListRestAdapter.getInstance().createGroupData(authorization, imgMap);cs 하나씩 살펴보자. ( AddGroupPresenterImpl.java ) 위 소스에서 네트워크를 연결한다. 그렇다면 createGroupData를 이해해야한다. 아래는 ListRestAdapter 소스이다. 123456789101112131415161718192021222324252627282930313233343536public class ListRestAdapter { /** 생략 **/ private static OkHttpClient client; private static IServerData se..
ㅇㅋ. Rest API를 왜 쓰는지는 알겠다 이거야. 그렇다면 난 지난 프로젝트에서 어떻게 썼을까? 많은 기능 중 하나을 예를 들어서 설명을 해 보도록 하겠다. Glue라는 서비스는 친구들끼리 사진을 공유하는 SNS형 사진첩이다. 이때 SNS 기능이 있어서 그룹을 만들 수 있는데 그 그룹을 만드는 기능을 기준으로 설명해 보겠다. 아래는 MVP 모델을 적용한 소스 중 AddGroupPresenter이다. 각 소스별로 중요한 부분은 노란색으로 표시하였다. 1234567891011121314import android.graphics.Bitmap; public interface AddGroupPresenter { void setView(AddGroupPresenter.View view); Bitmap imgAd..
일반적으로 안드로이드의 로컬 DB는 SQLite를 사용하는 것으로 알고 있다.그 외 저장 방식을 좀 이해해 볼까 한다.우선 개발자 문서에 있는 내용을 좀 가져와 볼까나. 123456789101112131415161718192021222324252627공유 기본 설정 - 전용 원시 데이터를 키-값 쌍으로 저장합니다. - SharedPreferences 사용 - getSharedPreferences() // 첫 번째 매개변수로 지정하는, 이름으로 식별하는 // 여러 기본 설정 파일이 필요한 경우 이 메서드를 사용합니다. - getPreferences() // 액티비티에 대한 단일 기본 설정 파일이 필요한 경우 // 이 메서드를 사용합니다. // 이는 액티비티에 대한 기본 설정 파일일 뿐이므로 이름을 제공하지..
지난 프로젝트에서 제대로 이해하고 싶었던 것이 Rest API였다. 그래. 유행하는 것은 안다. 문제는 쓸줄은 아는데 내가 얼마나 이해하고 쓰고 있느냐는 것. 개인 학습 중 이게 신경이 쓰여서 오늘 정리해 본다. 그러고보니 API를 먼저 이해하는 것이 먼저인 것 같다. 한때 난 API와 라이브러리를 동일시 했었다. (허허허허) 많은 선배 개발자들 중 정말 예쁘게 말씀하시는 분께서는웹 API는 웹 애플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세를 일컫는다....라고 하셨다. (감사) 위에서 '웹'이라는 단어만 빼면 쉽게 API를 이해할 수 있을 것이다. 그렇다면 Rest API가 가지는 특징은 무엇일까? (선배님, 도와주세요.)Stateless : Statelessness이..
1.구스 아일랜드 캐치프레이즈와 비슷하게"나는 당신이 이용할 코드는 필요하지 않다.나는 단지 당신이 이용할 최고의 코드를 원한다." 2.위 말처럼 하려면 실력이 올라야 한다.난 아는 척을 잘하는 개발자가 되고 싶다.내 실력을, 내가 만든 선비스를 자랑하는 개발자. 3.Hack으로부터 안전하고주변 카페에서 노트북 없이도 개발 관련 커뮤니케이션이 원활한그리고 컨퍼런스의 발표자가 될 수 있는그런 멋진 개발자.
쓰레드안드로이드 기반인 리눅스가 본질적으로 멀티스레드 운영체제자바가 가상머신 차원에서 멀티스레드를 잘 지원한다.프로세스는 운영체제로부터 자원을 할당받는 작업의 단위이고 스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위입니다 (출저)멀티 프로세스로 실행되는 작업을 멀티 스레드로 실행할 경우, 프로세스를 생성하여 자원을 할당하는 시스템 콜이 줄어들어 자원을 효율적으로 관리할 수 있습니다. 뿐만 아니라 프로세스 간의 통신보다 스레드 간의 통신의 비용이 적으므로 작업들 간의 통신의 부담이 줄어들게 됩니다. (위와 같은 출저)안드로이드에서는 UI 업데이트는 메인쓰레드에서만 할 수 있고 , 다른쓰레드 에서는 UI 업데이트 외의 필요한 작업을 할 수 있습니다. 그리고 다른쓰레드에서 UI 업데이트를 해야 할 경..
Comment