본문 바로가기

내안의 작은 세상

[Android] 안드로이드6.0 권한 처리하기 ( checkSelfPermission ) Android 6.0 Marshmallow 에서 checkSelfPermission 사용하기 안드로이드가 6.0 마시멜로로 업데이트 되면서 크게 바뀐게 하나 있습니다.바로 권한인데요, 기본적인 인터넷 같은 사용권한은 기본권한에 포함되어 따로 사용자에게 동의를 구하지 않아도 됩니다.하지만 기기를 제어할 수 있는( 파일읽기,카메라,블루투스,GPS제어 등등 ) 에 대한 권한은 동의를 받아야만 사용할 수 있습니다.또한 사용자는 언제든지 그 권한 사용을 취소할 수 있습니다. 앱개발시 가령 갤러리를 만들어서 사용한다고 할때 기기의 파일을 읽는 권한인 READ_EXTERNAL_STORAGE 가 필요로 합니다.마시멜로에서는 READ_EXTERNAL_STORAGE 권한에 대한 사용동의를 받지 않을경우 별다른 처리가 없으.. 더보기
[MongoDB] Spring 4.x + MongoDB 3.x 연동하기 지난번에 Spring + MongoDB 연동을 포스팅했었는데요, 그때는 Spring 3.2.2 기준에 MongoDB 2.6 버전이였습니다.다시 구성하려고 보니 스프링4.x + 몽고디비 3.x 구성시에는 조금 달라진 부분이 있더군요제일큰게 몽고디비가 버전이 3대로 올라오면서 인증방식 변화로 예전처럼 해서는 접속이 안되는 문제가 있었습니다.[ Spring 3.2.2 + MongoDB 2.6 조합 포스팅 보기 ] 1. 개발환경- JAVA 8 - Tomcat7 - Spring Framework 4.1.7.RELEASE - Spring-data-mongodb 1.8.0.RELEASE org.springframework.data spring-data-mongodb 1.8.0.RELEASE org.mongodb mo.. 더보기
[MongoDB] 몽고디비 접속시 We suggest setting it to 'never' 경고 해결 MongoDB 3.0.6/우분투 기준으로 설치후 mongo명령어로 접속시 아래와 같은 경고를 만나실 수 있습니다. MongoDB shell version: 3.0.6connecting to: testServer has startup warnings: 2015-10-01T19:41:55.449+0900 I CONTROL [initandlisten] 2015-10-01T19:41:55.449+0900 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.2015-10-01T19:41:55.449+0900 I CONTROL [initandlisten] ** We suggest setting it .. 더보기
[Android library] ViewPager를 이용한 이미지 슬라이드 ListView 만들기 AndroidImageSlider-ImageViewPagerAndroidImageSlider ViewPagerList TutorialAdd the library to your projectcompile project(':imagersliderlib') add imagesimport com.imagersliderlib.adapter.ImageViewPagerListAdapter; ImageViewPagerListAdapter Adapter; Adapter = new ImageViewPagerListAdapter(this , ArrayList images); touch actionmylistview.setOnScrollListener(new AbsListView.OnScrollListener() { @Ove.. 더보기
[Android] 갤러리에서 랜덤으로 이미지 1장 가져오기 어쩌다보니.. 쓸일이 생겨서 사용한김에 작성해봅니다 위 코드는 갤러리에서 이미지를 랜덤으로 1장가져와서 uri 를 반환해주는 코드입니다 더보기
[Android] Google Play Service 원하는 기능만 사용하기( Android Studio 기준 ) GooglePlayService 가 현재 7.8.0 까지 나왔습니다.현재의 GooglePlayService에는 Google에서 제공하는 모든 SDK 가 들어가있습니다.그때문에 그냥 사용하시면 65k 오류가 발생하고 dex 옵션을 무조건 사용해야 하는 문제가 있습니다 하지만, 구글에서는 기능별로 사용할 수 있게 제공하고 있습니다응근 이부분을 놓치셔서 삽질을 많이 하는데요, 그에 대해 포스팅 해보도록 하겠습니다 1. 일반적으로 구글맵을 사용하려고 할때 아래처럼 구글플레이서비스 를 Gradle에 추가 할겁니다compile 'com.google.android.gms:play-services:7.8.0' 하지만 위처럼 사용하는건 올바른 방법이 아닙니다.GooglePlayService에는 20여개의 구글에서 제공하.. 더보기
[MariaDB] 마리아DB slave , 복제(Replication) 구성하기 master - slave 를 구성해야 하는 이유가 뭘까요?크게 두가지로 볼 수 있을듯 합니다.1. 나름 백업2. 분산처리( 쓰기는 마스터만, 읽기는 슬레이브에서만 )분산처리란 결국 안정성 향상이라고 볼수도 있겠죠~ 이글의 작성 기준은 아래와 같습니다 MasterUbuntu 12.04 Server ( IDC / 한국 )MariaDB 5.5.44 slaveUbuntu 14.04 Server ( AWS / 일본 )MariaDB 5.5.44 1. Master 설정 1-1. my.cnf 설정 변경# vi /etc/mysql/my.cnf[mysqld] 에 아래 내용 추가 # master sertting server_id = 1 log_bin = mysql.bin 1-2. 사용자 추가# mysql -uroot -p.. 더보기
[Baas] Android Push 서비스 구성하기 #1 - Parse를 이용한 Push(GCM) 수신하기 많은 Android 개발자 및 서버개발자분들이 고민하시는게 푸쉬서버를 구지 만들어야 할까? 어디 쓸만한 서비스 없을까? 입니다푸쉬서버 및 푸쉬발송 시스템(관리자)등을 구축하는건 어려운건 아니지만 손이 많이가죠 안드로이드/아이폰/관리자 등 만들어야하고 수많은 예외가 필요하기 때문에 쉽지는 않죠특히나 스타트업같은 경우는 시간이 금이고 개발력이 부족하기 때문에 더 어렵구요 그래서 선택한게 FaceBook 의 Parse 입니다.Parse는 Baas 서비스이구요, FaceBook이 2013년에 인수한 서비스입니다. 이글을 시작으로 당분간 Parse를 이용한 푸쉬서비스 구축에 대해 써보려고 합니다.푸쉬에 대한 부분만 이야기할거구요 Parse의 모든기능은 다루지 않을겁니다 일단 제가 푸쉬만 사용하는 이유는 아래와 같.. 더보기