본문 바로가기

개발

[Android] 안드로이드 페이스북 로그인 10초만에 구현하기 ( Facebook Login ) 바로 직전에 카카오톡 로그인 구현을 다루었습니다.그렇다면 가장 많이 사용하는 페이스북은 어떨까요?? 권한 관련 이슈가 있긴하지만 카카오톡보다 훠~~얼씬더 간단합니다.하지만 페이스북 조금다른게 토큰요청후 그토큰을 이용하여 graph api 로 사용자 정보를 다시 조회해야합니다.물론 모든건 페이스북 개발자센터에 다~ 나와있습니다. 본 예제는 따로 샘플없이 다룹니다.본 예제는 로그인요청 버튼을 페이스북에서 제공하는게 아닌 커스텀하여 사용할 수 있도록 구현합니다. 카카오톡을 연동하고 싶으시면 아래 게시물을 참조하세요[Android] 안드로이드 카카오톡 로그인 10초만에 구현하기 ( Kakao Login ) 1. AndroidManifest.xml 2. 로그인요청 버튼 구현 * Arrays.asList 를 이용하.. 더보기
"다이어리 메모장!(+그리기 메모)" 오픈소스로 공개합니다. 2011년도 처음 안드로이드 개발을 시작하면서 2012년 첫서비스된 다이어리 메모장!(+그리기 메모) 를 이제는 오픈소스로 공개하고자 합니다.벌써 출시한지 4년이란 시간이 지나버려서 코드가 지저분하긴 하지만, 그래도 참고하실께 한개라도 있다면 도움이 됬으면 좋겠네요 소스코드는 Github 에 공개해두었습니다.현재 마켓에도 올라가 있으니 설치해 보실 수도 있습니다. 구글플레이(GooglePlay)티스토어 DiaryMemo* 본 프로젝트는 2011년 ~ 2012년 까지 개발되던 프로젝트입니다. * 2016년 1월 부터 공식적인 개발중단으로 인하여 소스코드를 오픈소스화 합니다. * 초창기에 두서없이 만든 프로젝트이기 때문에 코드정리는 안되어있고 엉성할 수 있으니 참고용으로만 사용해주세요. * 본 프로젝트는 이.. 더보기
[Spring] 스프링에서 sitemap.xml 및 robots.txt 처리하기 스프링 프레임워크로 사이트를 개발하여 sitemap 및 robots.txt 를 처리해야할 필요가 있을때 아래처럼 구성하면 유기적으로 관리가 가능합니다.sitemap.xml 에 신규 컨텐츠를 지속적으로 추가해주어야 구글검색등에 반영이 될 수 있습니다 SitemapController.java@Controller public class SitemapController { @RequestMapping(value = "/sitemap.xml", method = RequestMethod.GET) @ResponseBody public XmlUrlSet main() { XmlUrlSet xmlUrlSet = new XmlUrlSet(); create(xmlUrlSet, "", XmlUrl.Priority.HIGH); .. 더보기
HttpURLConnection 사용시 참고사항 // HttpURLConnection 객체 생성.HttpURLConnection conn = null; // URL 연결 (웹페이지 URL 연결.)conn = (HttpURLConnection)url.openConnection(); // TimeOut 시간 (서버 접속시 연결 시간)conn.setConnectTimeout(CONN_TIMEOUT * 1000); // TimeOut 시간 (Read시 연결 시간)conn.setReadTimeout(READ_TIMEOUT * 1000); // 요청 방식 선택 (GET, POST)conn.setRequestMethod(GET); // Request Header값 셋팅 setRequestProperty(String key, String value)conn.setR.. 더보기
[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.. 더보기