일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 검사
- workmanager
- PHP
- epmty
- Service
- jobdispatcher
- Background
- schedule
- Library
- Job
- alarmanager
- firebase
- Android
- 빈
- livedatam
- shceduler
- jobschduler
- Today
- Total
목록분류 전체보기 (163)
에몽이
intent 포함 실행 adb shell am start -a "android.intent.action.VIEW" -c "android.intent.category.BROWSABLE" -d "ablog://main/airbirdge" URL 실행 $ adb shell am start "http://www.example.com?param1=1\¶m2=2" [Usage]- am start -a android.intent.action.MAIN -n 패키지명/액티비티 경로명- am startservice -n 패키지명/서비스경로명- adb shell am broadcast -a "브로드캐스트명" 쉘에서 액티비티나 서비스를 실행하는 방법입니다.쉘의 AM 명령어를 사용합니다. 1. 액티비스 실행하는 방법*명..
Post Index1 ubuntu 16.04 에서 Redis 를 설치2 Redis 접속3 Redis 기본조작4 저장된 리스트 출력4.1 데이터 저장4.2 데이터 읽기4.3 저장되어있는 데이터를 수정4.4 데이터 삭제4.5 리스트형태 데이터 저장4.6 리스트 데이터에 값추가4.7 리스트데이터 불러오기4.8 데이터에 유효기간 설정4.9 전체 데이터 삭제5 참고ubuntu 16.04 에서 Redis 를 설치 Redis에 대해 조금 알아보기도 했고, 한번 깔아봐야겠다고 해서일단 개발서버에 깔기로 결정 1$ sudo apt-get install redis-server 현재 개발서버는 ubuntu 16.04 이다.뭐 14.04 도 똑같이 저렇게 패키지 깔면 문제없이 잘돌아갔던걸로 기억 * centOS 도 깔았지만 ..
redis에는 수많은 기능이 존재한다. 그 중 set한 데이터에 대하여 expire를 설정할 수 있다. 다음은 redis에서 expire를 설정하는 command 예제이다. TTL은 남은 expire시간을 나타낸다.이미지 출처 : http://redis.io/commands/expireredis에서는 expire를 처리하기 위해 어떠한 방식의 로직을 구현하고 있을까? 하나의 쓰레드를 타이머로 이용해서? 아니면 signal을 이용해서? 이제부터 expire를 처리하는 로직에 대하여 살펴보도록 하겠다.첫번쨰 가장 단순한 방법 이다. 사용자가 저장한 키값에 대하여 get을 요청할 때 expire처리한다. 즉 get할때 expire시간이 초과했다면 데이터를 삭제하고 사용자에게는 널값을 보낸다. get 명령어를 ..
안드로이드 인텐트 관련해서, 두 가지 신기한 클래스가 제공됩니다. 이름만 들어서는 그 쓸모가 무엇인지 애매한, PendingIntent 와 IntentSender 가 바로 그 주인공입니다. 개발자 사이트에 서술된 내용을 살펴보아도 두 가지가 하는일이 정확히 무엇인지, 그리고 특히, 둘 사이의 차이점이 무엇인지 좀 헷갈립니다. 두 가지 클래스는 어떤 역할을 수행하고, 어떤 차이점이 있으며, 안드로이드 어플리케이션을 개발할 때, 어떻게 유용하게 사용될 수 있는지 간단하게 정리해 보았습니다. 1.PendingIntent PendingIntent 은 비교적 이해하기 쉽습니다. 커뮤니케이션에는 세 가지 기본 요소가 있습니다. 메세지, 송신자, 수신자. 인텐트는 메세지 입니다. 수신자는 해당 인텐트를 수신하기 위한..
Ever since Material design inception Floating Action Button is one of the most important component of this awesome design language. Also Google made it easier to implement FAB in our Android app with the help of the Design Support Library which was released following Google I/O 2015. Adding FAB is very simple which is similar to Button or other widgets. In this article we are going to see how to..
* DB로 직접 접근하기 vs ContentProvider 사용하기?: 안드로이드에서는 기본적으로 SQLite를 사용할 수 있도록 API를 다양하게 편리하게 제공해주고 있다. 하지만, 이러한 SQLite는 기본적으로 해당 DB를 생성한 앱에서만 접근이 가능한 제약 사항이 있기 때문에, 앱간의 공유가 어려웠었다. 하지만, 이제는 안드로이드에서 기본적으로 주소록이나 콜로그 등에 대해서 ContentProvider를 통해서 데이터를 제공해주고 있고, Android SDK에서도 해당하는 내용을 사용할 것을 권하고 있다. 만약 앱에서 데이터를 내부적으로만 사용한다면, 굳이 ContentProvider를 사용하지 않아도 되고, 사실 ContentProvider를 처음에 접하게 되면 익숙하지 않기도 하고 제대로 된 ..
작년에 했던 프로젝트에서 Spring Annotation과 JAXB Annotation을 사용한 경험이 있습니다. Annotation을 이용해서 객체의 속성을 매핑하는데 유용하게 사용했던 기억이 나네요. 하지만 최근에 Annotation에 대해 공부하면서, Java에서 제공하는 Annotation만으로도 효율적으로 사용할 수 있다는 점이 흥미로웠습니다. 그래서 지금부터 제가 공부한 Java Annotation을 효율적으로 활용할 수 있는 한 가지 예를 공유합니다.1. 어노테이션(@, Annotation)이란?그 예를 살펴보기에 앞서, 먼저 어노테이션이란 무엇인지부터 정리하겠습니다. 어노테이션(Annotation)은 Java 5부터 등장한 기능입니다. Annotation은 사전을 찾아보면 "주석"이라고 나..
Java Reflection 정의 리플렉션이란 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법을 말한다. 투영, 반사 라는 사전적인 의미를 지니고 있다. 스프링을 공부하다가 보면 BeanFactory 라는 Spring Container 개념을 학습하게 된다.이 BeanFactory는 어플리케이션이 실행한 후 객체가 호출 될 당시 객체의 인스턴스를 생성하게 되는데 그 때 필요한 기술이 Reflection이다.자바는 스크립트 언어가 아닌 컴파일 언어이다. 물론 .java -> .class -> 실행이라는 2단계의 메커니즘을 가지고 있지만 컴파일 언어로 분리하는 게 옳다. 원래 자바에서는 동적으로 객체를 생성하는 기술이 없었다. 그리고 동적으로 인스턴스를 생성하는 Reflection으로 그 역활을 대신..
저는 안드로이드 개발하면서 디버깅보다는 곳곳에 로그를 남겨두고 예상되는대로 실행이되는지 확인합니다.혹은 변수값이나 클래스등의 값을 확인하기도 합니다. 로그를 찍을때는 Log.d(TAG,로그내용) 과 같이 쓰고 계실겁니다. Log.d("TedPark","로그 내용"); Log.i("TedPark","로그 내용");Log.e("TedPark","에러 내용"); 하지만 이렇게 남긴 로그들은 실제 배포버전으로 배포해서 플레이스토어에 배포한뒤에도 로그캣에 계속 찍히게됩니다.제가 몇개의 앱을 받아서 Logcat을 연결해보면 해당 앱의 개발자가 남겨둔 로그들을 저도 확인할 수 있는 경우가 더러 있습니다.다른사람이 알아도 문제없는 로그라면 상관없겠지만 특정 정보가 있거나 URL정보 등 기타 민감한 정보들을 개발자가 아..