일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- himatic7s2
- film
- variants
- Exception
- 하이매틱
- fm2
- COLORPLUS
- fullframe
- 니콘
- Nikon
- himatic
- Flavor
- SSL
- Android
- It
- Realm
- 풀프레임
- 미놀타
- 필름카메라
- e마운트
- himatic7sii
- Kodak
- 35mmf2.8
- Sony
- rx
- emount
- gradle
- Minolta
- Git
- portra400
- Today
- Total
목록프로그래밍/안드로이드 (9)
BloByJames
지속적 통합(Continuous Integration, CI)이란, wikidepia에서 아래와 같이 설명하고 있습니다. 소프트웨어 공학에서, 지속적 통합(continuous integration, CI)은 지속적으로 퀄리티 컨트롤을 적용하는 프로세스를 실행하는 것이다. — 작은 단위의 작업, 빈번한 적용. 지속적인 통합은 모든 개발을 완료한 뒤에 퀄리티 컨트롤을 적용하는 고전적인 방법을 대체하는 방법으로서 소프트웨어의 질적 향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점이 맞추어져 있다. 대표적인 CI 툴에는 젠킨스(Jenkins)가 있다. Jenkins 는 서버 환경에 따라서, 많은 삽질을 하게 될 것이므로 개인적으로는 추천하지 않습니다. 우리는 대신 Travis CI 를 사용할 것입니다...
X카X톡을 사용하시는 분들은 자주 보았을,Notification icon에 http로 불러 온 image를원형으로 만들어 봅시다. 우선, image loading을 위해 사용되는 library는 Glide 입니다. 사실, network로 불러 온 image를 Notification icon에넣는 과정을 위한 posting이므로,Glide도 좋지만, AUIL(Android Universal Image Loader), Fresco, Volley 등 뭐든 상관이 없고,취향에 맞는 library를 사용하시면 됩니다. 먼저 NotificationCompat.Builder를 생성하겠습니다. Builder pattern을 제공하니 원하는 option을 사용합니다. into()의 parameter로 SimpleTarg..
파편화가 심한 Android에서는 예상치 못한 오류가 참 많습니다.다양한 제조사와 셀 수 없이 많은 기종들... 특정 OS와 특정 단말기에서DatePicker를 사용하면 발생하게 되는 Exception 입니다. java.util.IllegalFormatConversionException: %d can't format java.lang.String arguments 이 골치아픈 error는 어떠한 조건에서 발생하는 것도 아닌, 특정 version의 OS를 장착 한 특정 단말기에서 재현됨을 말씀드립니다. 특정 version 5.0.1 특정 단말기 Samsung Galaxy S4Galaxy S5Galaxy Note 3 해결책은 아래와 같습니다. Context context = getActivity(); if ..
Fatal Exception: io.realm.exceptions.RealmError: Unrecoverable error. /data/data//files/: Encrypted interprocess sharing is currently unsupported.SharedGroup has been opened by pid: xxxx. Current pid is xxxx. in /Users/cm/Realm/realm-java/realm/realm- library/src/main/cpp/io_realm_internal_SharedRealm.cpp line 81 at io.realm.internal.SharedRealm.nativeGetSharedRealm(SharedRealm.java) at io.realm..
이전에 Gradle Flavor 그리고 apk build에서 여러 version의 apk를 build하는 방법을 소개해드렸는데요, 이번에는 Flavor와 Google API를 동시에 사용하면서 발생하는 문제점과,문제점을 해결하는 방법에 관하여 글을 작성해보려 합니다. google-services.json file, Google API를 사용하시는 분들에겐 익숙한 file이죠. 하지만 flavor를 잘 사용하고 있다가, google-services.json file을 추가하는 순간, package를 찾을 수 없다는 error가 발생하여,flavor를 방치해둔 채로 사용하지 못하는 분들이 있을거라고 생각합니다.있어야해요... 제 blog가 조금이나마 도움이 되었으면 합니다. 위와 같은 error가 발생하는 ..
아직 Android를 개발하면서 Eclipse를 놓지 못하고 있는 분이 계신가요?아직도 Test server와 운영 server의 주석을 번갈아 가면서 build하고 계신가요? Android Studio로 넘어오면서 Gradle을 사용하게 되고,필요에 따라 다양한 version의 apk를 build를 할 수 있게 되어 아주 편하게 개발중이랍니다. version을 나눌 수 있는 기준은 여러가지가 있을 수 있습니다. 개발과 배포무료와 유료다양한 market 별국가 별등등Gradle의 Flavor를 이용한다면,다양한 version별로 apk를 build 할 수 있습니다. 우선, app의 build.gradle을 준비합니다. android block 안에 나누고자 하는 version을 추가해줍시다. 저는 dev..
제일 많이 듣게 되는 질문 중 하나인,ViewPager와 Fragment를 이용한 구조에서특정 Fragment의 함수를 호출하는 방법을 소개하려 합니다. (source 이해를 돕기 위해 아무런 library를 사용하지 않았습니다.) 사실 추상화(abstract)와 상속(extend)을 이용한다면 크게 어렵지 않습니다.물론, 추상화와 상속 없이도, 각 Fragment에 접근할 수 있는 방법은 많습니다. 저는 추상화를 좋아하기 때문에, 추상화를 이용한 방법으로 진행하도록 하겠습니다. 우선 ViewPager를 사용 할 Activity를 만들어보겠습니다. 자, Java와 Android에 익숙한 분들은 벌써 눈치 채셨죠? Fragment를 상속받은 BaseFragment라는 추상(abstract) Class를 만..
새로운 패러다임으로 상승세를 달리고 있는 ReactiveX(Rx) Rx에 익숙해진다면 코드가 간결해지므로 가독성은 물론이고,제공하는 기능이 무수히 많기 때문에, 기존 언어의 문법을 대신해서 많이 사용하게 될 것 입니다. 하지만 처음부터 익숙해지기란 어려우니, Rx로 대체할 수 있는 것들을 차츰 바꿔가는 것을 추천해드립니다. 여기서 소개할 Rx event는 RxJava와 RetroLambda를 사용하여 설명해드리는 점 미리 말씀드립니다. 저도 EventBus 참 좋아하는데요,Android event 관련 대표적 라이브러리인 EventBus, Otto 등을 RxJava로 대체할 수 있다는 점. 우선 event Class를 singleton으로 생성합니다. 여기서 주의해야 할 점은private PublishS..
Android에서 SQLite를 대신하여,간편하고 사용하기 쉬운 Mobile Database.Realm. 많이들 사용하고 계신가요? 이 포스팅은 Realm을 소개하기 위한 목적이 아니고,장점은 익히 파악하여 사용중인걸로 알고 Realm에 대한 긴 설명은 하지 않겠습니다. 하지만 사용하기 쉬운 만큼이나 까다로운 error가 있습니다. java.lang.IllegalArgumentException: Illegal Argument: Invalid format of Realm file. 아래는 제가 참여하여 개발 및 서비스 운영 중인 그랩(Grap)의 해당 issue 관련 report입니다. 마지막 배포 후 8일 동안 수집된 자료인데, 35명의 사용자에게 216번의 crash가 발생했습니다. Realm GitH..