일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SSL
- 니콘
- 미놀타
- emount
- rx
- Flavor
- Nikon
- 풀프레임
- fm2
- portra400
- fullframe
- himatic7sii
- himatic7s2
- gradle
- 하이매틱
- film
- Git
- Minolta
- Exception
- variants
- 35mmf2.8
- himatic
- Sony
- Realm
- It
- Kodak
- 필름카메라
- COLORPLUS
- Android
- e마운트
- Today
- Total
목록It (10)
BloByJames
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..
이제부터 Synology에 Git Server를 설치해보려고 합니다. NAS에 Git Server를 둠으로써 평생 private을 무료로 사용할 수 있어서 아주 좋습니다. 우선 패키지 센터를 실행해서 유틸리티 탭으로 이동해보면, Git Server라는 놈이 있습니다.(뭐, 검색에서 git을 검색하는 방법도 좋습니다.) Git Server 설치를 눌러줍니다.(저는 Git Server를 이미 구축했기 때문에 열기로 표시됩니다.) 설치 끝이에요. 제가 Synology를 좋아하는 이유 중 하나입니다.뭐든지 설치가 쉬워요. 하지만 설정이 참 귀찮죠.그 귀찮은 설정을 이제부터 설명해드리도록 하겠습니다. 제어판으로 이동합시다. 제어판 > 터미널 및 SNMP > "SSH 서비스 활성화" 체크 포트를 원하는 포트로 설정..
이전에 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..