목록전체 글 (194)
제이슨의 개발이야기
안드로이드에서 서비스는 백그라운드에서 실행되는 프로세스를 의미합니다. 액티비티와 다른 점은 화면이 없다는 것인데 화면이 없다는 것을 제외하면 사실상 애플리케이션의 구성요소로서 액티비티 처럼 동작한다고 생각할 수 있다 그리고 서비스도 애플리케이션의 구성요소이므로 새로 만든 후에는 항상 매니페스트 파일에 등록해야 하며 메인 액티비티 에서 서비스를 시작하고 싶으면 startService() 메소드를 이용해 시작할 수 있습니다 위의 이미지는 5초마다 로그를 찍는 서비스이다 즉 어플리케이션을 사용하면서 자동으로 5초 마다 로그를 찍는것이다 서비스는 Service 클래스를 상속하여 정의할 수 있습니다 그리고 Runnable 인터페이스를 구현하여 run() 메소드로 스레드가 실행되도록 하였습니다! 여기서 onCrea..
안드로이드에서는 실행되는 애플리케이션의 상태를 시스템에서 직접 관리합니다 이는 대부분의 휴대폰 os에서 사용하는 방법으로 실행된 어플의 메모리를 과도하게 점유하거나 화면을 보여주는 권한을 과도하게 가지는 것을 막기 위함입니다 예를들면 전화기의 원래 기능인 전화수신, 발신기능 자체를 사용하지 못하게 막는것을 막기 위함입니다! 그래서 어플이 실행되면 ui가 실행되고 activity 생명주기에 에 따라 os가 모니터링 하고 있습니다 위에 그림이 activity 의 생명주기 그림인대 하나씩 설명하겠습니다 onCreate() 액티비티가 처음에 만들어젔을때 호출됨 화면에 보이는 뷰들의 일반적인 상태를 설정하는 부분 이전 상태가 저장되어 있는 경우에는 번들 객체를 참조하여 이전 상태 복원 가능 이 메소드 다음에는 항..
많은 회사들의 자격 요건을 보면 요구 하는 것이 여러가지 있습니다 그중에 하나인 Restful API란 무엇일까? Rest 의 정의는 Represnetational State Transfer의 약자로 자원을 이름 혹은 표현 으로 구분하여 해당 자원의 상태를 주고 받는 것을 의미 합니다! 이렇게 만 설명 한다면 처음 Rest를 공부하는 입장에서는 이게 무슨 말이지? 라는 생각이 들 수 밖에 없습니다 저도 마찬 가지였거든요 그래서 Restful API 란 클라이언트가 서버에 통신할때 해당하는(내가 원하는 기능 혹은 서비스) Url와 파라미터 를 보내면 서버는 자신의 정의 한 HTTP Method를 통해 찾고자 하는 데이터 를 클라이언트 측으로 보내주는 방식을 REST 방식이라 하며 이러한 방식 혹은 규칙을 ..
fromFuture() Future 인터페이스 역시 자바 5에서 추가된 동시성 API로 비동기 계산의 결과를 구할 때 사용합니다 보통 Executor 인터페이스를 구현한 클래스에 Callable 객체를 인자로 넣어 Future 객체를 반환합니다 get() 메소드를 호출하면 Callable 객체에서 구현한 계산 결과가 나올 때 까지 블로킹 됩니다 Callable 인터페이스의 call() 메소드는 인자가 없으므로 ()->{} 형태로 나타냈습니다 실행 결과는 1초 쉬고 Hello Future 가 출력됩니다! 참고로 Executors 클래스는 단일 스레드 실행자(SingleThreadExecutor) 뿐만 아니라 다양한 스레드풀(FixedThreadPool, CachedThreadPool) 을 지원합니다 하지만..