본문 바로가기

프로그래밍/DB/JAVA/안드로이드/GAE180

[안드로이드] 어플의 홈 위젯을 만들어 보자. 안드로이드 개발을 하다보면 홈 화면의 위젯을 만들어야 할 경우가 있다. 사실 네이버쪽은 관련 자료가 많지는 않은거 같고... 역시 레퍼런스는 안드로이드 개발자 센터쪽을 이용 하거나 구글 검색으로 검색 해보는게 좋겠다. 이전에도 LOL 배심원단 앱을 만들면서 작업을 해 보았지만 오래된 나머지 다 잊어서 다시 찾아보면서 만들고 있다. 다른 분들과 저를 위해 링크를 남겨 봅니다. 어차피 또 잊어먹고 찾을 시기가 올 테니.. !! 1. 남에게 전수 할 수준이 아니니 오직 링크!! - Homescreen App Widgets Example in Android - Android App widget을 만들어 보자 - 위젯의 TextView BackgroundColor 바꾸기 - 인텐트를 이용한 클릭 이벤트 주는 방법.. 2015. 4. 14.
[안드로이드] APK 배포시 Database 넘겨주기. 사용자가 APK를 다운로드 할 경우 기초데이터 DB를 세팅해야 할 경우가 있을 것이다. 대체적으로 작은 데이터라면 앱이 실행 됨과 동시에 테이블을 생성하고 INSERT문으로 데이터를 넣어주면 될 것이다. 하지만 데이터가 많다면 어떻게 해야 할까. ASSETS에 DB를 만들어 놓고 앱에서 사용하는 방법이 있을 것이고, 앱이 시자 됨과 동시에 서버와의 통신을 통하여 동기화 하는 방법이 있을 것이다. 두가지 어떤것이든 편한 방법으로 만들면 기능상의 문제는 없으리라 생각이 된다. ASSETS의 경우는 앱이 시작됨과 동시에 안드로이드폰 내부로 DB를 복사해줘야 하는 것을 잊지 말아야 한다. 자세한 것은 아래 링크들을 참고하여 만들면 되겠다. 아래 내용은 모두 ASSETS를 이용과 관련된 내용이다. 1. 링크 링크.. 2015. 3. 18.
[안드로이드] 안드로이드 레이아웃(액션바, 런처아이콘)등 만들어보자. 안드로이드의 액션바와 런처아이콘을 만드려고 할 때 좀 난해 한 경우가 많다. 아래 사이트에 가보면 약간의 도움이 될 수 있는 부분들이 있다. 참고 하자. 기본 스타일을 정하고 아래의 사이트를 이용하여 완성해 나가면 어느정도 괜찮은 레이아웃과 아이콘이 나오는거 같다. 1. 링크링크 사이트! - 아이콘 만들기 - 액션바 스타일 만들기 - 간단하게 나인패치 만들기 - 모음 사이트 2015. 2. 25.
[안드로이드] ExpandableListView에 대해 알아 보자 리스트뷰랑 같다고 보면 된다. 단지 리스트뷰의 각 로우에 또 다른 리스트뷰가 하나 더 존재 한다고 생각하면 된다. 리스트뷰의 로우를 클릭 하면 새로운 리스트가 나오면서 작업을 할 수 있는 환경을 만들 수 있겠다. 네이버나 구글에 ExpandableListView라고 치면 많은 예제가 나오니 참고 하기 바라며 저 또한 한 링크 위주로 포스팅을 해두겠습니다. 1. 백문이 불여일타이핑!? - 예제1 : 예제를 보고 따라 만들자! - 예제2 : 예제를 보고 따라 만들자! - 모두 펼치려면!? - 부모그룹의 로우 별 다른 레이아웃을 적용 하려면?! - 부모리스트의 인디케이터 관련1 - 부모리스트의 인디케이터를 오른쪽으로 옮기자 - 좋은 라이브러리가 많다1 - 좋은 라이브러리가 많다2 - 좋은 라이브러리가 많다3 2015. 2. 21.
[안드로이드] 죽지 않는 서비스(Service) 관련 사실 강력한 테스크 킬러 앞에서 죽지 않는 서비스나 forground 노티피케이션은 없는거 같다. 나의 베가 LTE의 테스크 킬러 또한 그러하다 너무나 강력하다. 그렇다고 하더라도 기본적으로 죽지 않도록 구성은 해놔야 할 것 아닌가?! 관련 내용을 정리 해 둔다. 1. 링크로 확인하자. - http://blog.naver.com/dlsdnd345/220256012140 - http://ccdev.tistory.com/22 2015. 2. 20.
[안드로이드] 네비게이션 드로우의 아이콘 변화 관련 지금 구글 플레이를 가보면 왼쪽 상단 아이콘이 리스트 아이콘으로 되어 있고 누르면 형태가 변하면서 왼쪽에서 네비게이션 리스트뷰가 나타나게 되어 있다. 이 부분이 무척 궁금하여 조금 찾아보고 포스팅을 남겨 둔다. 1. 관련 링크를 참조하자 - https://developer.android.com/training/implementing-navigation/nav-drawer.html - http://androidhuman.tistory.com/559 - http://chrisrenke.com/drawerarrowdrawable/ 2015. 2. 20.
[안드로이드] PopupMenu 이미지 클릭시 작은 팝업 메뉴. 구글 플레이에 들어가보면 리스트 중에 점이 3개 있으면서 클릭하면 작은 팝업메뉴가 뜨는것을 볼 수 있다. 처음에는 어떻게 구현하나 막연하게 생각 했는데 알고보니 어렵지 않게 구현이 가능하다. PopupMenu라는 위젯 클래스가 지원되어 편하게 사용 할 수 있다. 구글에 많은 예제가 있으니 몇 가지 올려 놓도록 하겠다. 1. 참고 및 참고 할 만한 사이트 - http://stackoverflow.com/questions/22294691/android-list-view-layout-similar-to-google-play - http://stackoverflow.com/questions/18588781/android-popup-menu-when-list-item-view-pressed - http://sta.. 2015. 2. 11.
[안드로이드] QRCODE Zxing 라이브러리 사용 많은 앱들이 이 라이브러리를 사용하여 QRCODE 관련 프로젝트를 진행 하는거 같다. 조만간 필요하게 될 거 같아 미리 포스팅을 해본다. 먼저 중요한 것은 세로모드의 QRCODE 스캔의 인식률이 좋아야 한다. 관련해서는 네이버와 구글을 참고하여 완성하였다. 먼저 최신 버전은 3.1.0 버전인것 같지만 2.3버전으로 하게 되었다. 이유는 3.1.0 버전은 세로모드로의 변환이 잘 되지 않는다는 글을 보았기 때문이다. 2.3 버전으로도 충분하기에... 윗 버전은 어떤 점이 더 추가 되었고 개선 되었는지 모르겠지만.. 나중에 필요하게 되면 그 때 버전업을 해도 상관없다고 생각이 된다. 1. 필요한 자료 및 다운로드 - core-2.3.0.jar 다운로드 하기 : http://repo1.maven.org/mave.. 2015. 1. 30.
[안드로이드] 프로가드 앱 난독화. 프로가드를 이용한 앱 난독화의 기본 설정은 어렵지 않다. 단 몇가지 주의 사항은 조심해야 한다. JavascriptInterface를 사용 하였을 경우와 외부 라이브러리를 사용 했을 경우 문제가 발생 하므로 이러한 부분은 관련된 자료를 찾아서 난독화가 진행되지 않도록 하는 작업을 해주어야 한다. 구글에 가서 프로가드를 검색해보면 많은 예제가 나오고 스택오버플로우도 많으니 조금만 찾아보면 쉽게 적용 할 수 있을 것이다. 난독화 한다고 리버싱을 방지 할 수 없지만 어느정도 짜증(?) 나게 할 수는 있다는거에 의미를 찾아보자 ^^ 1. 난독화 관련 블로그 - http://stackoverflow.com/questions/13641540/javascriptinterface-not-working-with-prog.. 2015. 1. 22.
[안드로이드] 와이파이와 핫스팟을 껏다 켜보자. 간혹 이런 기능들이 필요 할 때가 있다. 어떤일을 수행 할 때 와이파이를 사용 하지 않도록 해달라든지... 또는 핫스팟을 이용한 프로그램 제작을 요청 할 경우가 있다. 이미 처리를 하였지만 나중을 위해 포스팅 해둔다. 1. 핫스팟 On/Off 예제링크 - http://omtlab.com/android-enable-disable-wifi-programmatically/ 2. 와이파이 On/Off 예제 링크 - http://omtlab.com/android-enable-disable-hotspot-programmatically/ 3. 와이파이 특정 SSID에 자동 접속하기 - http://blog.daum.net/_blog/ArticleCateList.do?blogid=0QsJw&CATEGORYID=7 - .. 2015. 1. 6.
[안드로이드] 액션바 백그라운드 이미지로 설정하기 액션바에 백그라운드 부분을 이미지 처리 해보자.http://spacetech.dk/android-actionbar-background-image.htmlfinal ActionBar actionBar = getActionBar(); BitmapDrawable background = new BitmapDrawable(BitmapFactory.decodeResource(getResources(), R.raw.actionbar_background)); actionBar.setBackgroundDrawable(background); 2014. 11. 28.
[안드로이드] TextView의 각 글자크기나 색을 다르게 해보자. 본인도 이런 소소한 것들을 몰라서 레이아웃에 여러개의 TextView를 이용해서 표현 했었다. 그런데! 이런 기능들이 있을 줄이야 역시 배우려면 제대로 배우는게 중요한거 같다. ㅠㅠ 중요한 것은 SpannableString sText = new SpannableString(textString) 와 같이 SpannableString를 사용 하는 것이다. 1. 예제 링크 - http://stackoverflow.com/questions/19639272/set-text-of-a-textview-with-different-sizes - http://stackoverflow.com/questions/19238780/set-a-string-array-into-bold-in-android 이 2개의 예제만 봐도 아마.. 2014. 11. 28.
[안드로이드] ListView의 ROW의 하위 뷰 읽어 오기. ListView가 10줄이 있다고 가정하고. ListView안의 특정 TextVeiw의 총 합을 구하려면 어떻게 해야 할까?? ListView의 GetCount()를 사용하면 전체 row의 개수를 알 수 있다. getChildCount()를 사용하면 현재 보이는 화면의 +2 된 로우만을 구해 올 수 있다. 쉽게 생각 할 수 있지만 조심해야 한다. 스택오버플로우에 좋은 예제가 있어 링크한다. 아래 메서드를 만들고 GetCount() 만큼 for문을 돌리면 되지 않을까 싶다. http://stackoverflow.com/questions/24811536/android-listview-get-item-view-by-position public View getViewByPosition(int pos, ListV.. 2014. 11. 18.
[안드로이드] UDP BROADCAST에 대해 알아보자. 이번 프로젝트를 하면서 필요했던 UDP BROADCAST에 대해서 간단히 남겨 놓는다. TCP는 서로의 위치를 알고 통신을 하지만 UDP BROADCAST의 경우는 내가 속해 있는 네트워크단에 무작위 메세지를 보내서 어떤 값이 돌아오는지 또는 꾸준히 청취 할 수도 있다. 예를들자면 네트워크단에 9977포트로 "프린터 있니??" 라는 신호를 보냈을 경우 9977포트에서 이 소리를 듣고 있던 프린터가 "어 나야" 해서 보내 올 수 있다는 거다. 더 많은 이해를 하려면 역시 네이버나 구글을 검색해보는게 좋겠다. 1. 여러가지 BROADCAST 모아놓은 블로그2. 브로드캐스트 예제 이것만 보고 만들었다 아주 좋은 예제다.3. 브로드캐스트 못 받을 경우 퍼미션 설정 해주자. 2014. 11. 7.
[안드로이드] 쓰레드 Runnable, Thread에 대해 알아보자. 쓰레드 구현 방법에는 Runnable 인터페이스와 Thread 클래스 사용하는 방법이 있다. 또 쓰레드의 시작을 알리는 run()과 start()의 차이점을 알아두는게 좋을 것 같다. 아래 그 예시 사이트를 기재해 놓도록 하겠다. 1. 예제 12. 예제 2 2014. 11. 7.
[안드로이드] 안드로이드 개발시 FTP 연결 관련 일단 안드로이드에서 FTP 개발관련 검색해보면 많은 자료가 나오므로 큰 개발 방향에 문제는 없을 거라 생각 된다. 하지만 가장 중요한것은 한글 인코딩이라는 것이다. 서버의 인코딩 형태가 "ISO-8859-1" 라면 기본 연결을 했을 경우 한글이 깨져서 보일 것이다. 이런 경우는 setControlEncoding("euc-kr"); 설정으로 한글을 제대로 볼 수있다. 문제는 서버쪽으로 output 할 경우 인데 new String(folderName.getBytes("EUC-KR"), "ISO-8859-1"); 와 같이 분명하게 "ISO-8859-1"로 인코딩을 해서 보내줘야 알아 먹는다. 이것 때문에 몇 시간을 고생 했으나 해결해서 올려 놓는다. 물론 사용 하는 서버가 XX같아서 일수도 있으나 혹시나 하.. 2014. 11. 3.
[안드로이드] 폴더리스트 가져오기, 모든 폴더에서 파일 가져오기 이번 작업에 필요했던 기능은 첫째는 이미지가 있는 폴더들을 리스트를 보여주고 가장 최근의 이미지를 썸네일을 보여준다.둘째는 위의 풀더 리스트를 클릭 했을 경우 그 폴더 안에 있는 이미지 들을 보여주도록 한다.전체적인 틀은 이정도이고 고려해봐야 할 것은 많은 이미지를 보여 줄 경우 메모리 관리에 신경을 써야 한다.아래 링크들은 위의 프로그램을 만드는데 도움을 받았던 사이트들이 필요한 분들은 참고 하길 바랍니다. 1. 폴더리스트 가져오기 - 링크 1 - 링크 2 - 링크 3 - 링크 4 - 링크 5 : MediaStore를 통한 썸네일을 가져올 경우 메모리 해제가 되지 않는 문제가 있는듯 하니 참고 바랍니다. 전 파일 Path를 통해 직접 리사이즈해서 보여줬습니다. - 링크 6 - 링크 7 : MediaSt.. 2014. 10. 26.
[안드로이드] 알림 팝업 창 만들기. 알림 팝업 창을 만드는 방법은 여러가지가 있다. 액티비티를 이용한 방법, AlertDialog를 이용하는 방법. AlertDialog를 이용하는 방법도 여러가지가 있을 수 있다. 1. 액티비티를 이용해보자. - 링크 1 2. AlertDialog를 이용해보자. - 링크 1 - inflater를 이해하자. 3. 도움 될만한 Dialog 속성들. - 링크 1 2014. 10. 12.
[안드로이드] DatePickerDialog 사용시 주의 및 체크 사항. 이 DatePicker의 작동 방식이 특정 안드로이드 버전에서 최근버전과 약간 다른 방식으로 작동을 하는 부분을 조심해야 한다. 일반적으로 DatePickerDialog를 띄우고 설정을 누르면 onDataSet 메소드가 호출되고 끝나야 정상이라 생각 할 것이다. 특정 안드로이드 버전에서 여러번 실행되는 오류 또는 취소해도 onDataSet이 실행되는 문제점이 보고 되고 있다. 이를 방지 하기 위해 그냥 DatePickerDialog를 쓸것이 아니라 취소 버튼과 캔슬에 대한 리스너를 등록 해주고 boolean이나 int 변수로 체크를 해주어야 하위 버전들에서 문제가 없다. 1. 처리방법 사이트 링크 - 여기 해결 방법의 답이 있는 곳을 링크한다. 01 - 여기 해결 방법의 답이 있는 곳을 링크한다. 02 2014. 9. 17.
[안드로이드] 다른 App에 데이터전달, Share(공유) 기능을 사용을 해보자. 공유(Share) 기능이란 내 앱에서 파일이나 이미지, 텍스트 등을 다른 앱으로 전달 할 수 있는 기능이라 생각하면 되겠다. 예를들어 내 앱에서 백업한 DB파일을 간단하게 GMAIL을 이용해서 첨부해서 메일을 보낼 수도 있다. 그 밖에 구글 드라이브나 다른 클라우드 서비스를 이용 할 수도 있을 것이다. 1. 처리방법 사이트 링크 - Intent를 사용한 첨부파일 이메일 보내기 - 안드로이드 공유기능 쓰기 - 컨텐츠를 다른 앱들에게 보내기 - 액션바를 통한 공유 예제 - 공유(Share) 기능 추가하기 - How to customize share intent in Android? 2014. 9. 12.
[안드로이드] SQLITE DB 백업 및 복원 방법 SQLITE DB는 DB자체가 파일 형식으로 존재하므로 파일을 복사하는 것으로 간단히 백업을 받을 수 있다. 1. 참고사항 - DB가 존재하는 위치 : /data/data//databases/ 2. 처리방법 사이트 링크 - StackOverFlow 01 - StackOverFlow 02 - StackOverFlow 03 2014. 9. 12.
[안드로이드] ListView의 List Selector가 작동이 안될 때. 여러가지 문제로 작동이 안될 수 있겠지만... 개인적으로 발생했던 것은 소스 내부에서 row의 LinearLayout에 setBackgroundColor를 세팅했을 경우 작동이 되지 않는 현상이 발생 했다. 이런 경우 drawSelectorOnTop를 true로 주면 잘 작동이 된다. 2014. 8. 15.
[안드로이드] LOL 배심원단 어플 개발 완료[전적조회, 모바일 트리뷰날] 반갑습니다. 얼마간의 시간이 들여 "LOL 배심원단"( LOL 트리뷰날 ) 어플을 개발 했습니다. 기존에 나와 있는 시스템은 제가 설치를 안해봐서 얼마나 좋은지 모르겠습니다. 제것보다 완성도나 보여주는 정보 등 더 좋을 수 도 있을거라 생각 합니다. 만약 그렇다면 제 어플을 많이 사용을 안하게 되면서 자연스레 도태되어 가겠지요. 반대의 경우라면 사용자가 꽤 있으리리 믿습니다. 아직 많이 부족한 어플인 만큼 개선사항과 추가기능 등 건의해주시면 많은 도움이 될 거 같습니다. 많은 이야기를 해주시면 감사하겠습니다. 댓글로 해주세요. !! LOL 비밀번호 유출이 걱정되시는 분은 한번 읽어 보세요비밀번호가 유출 되는 경우를 생각해보면 아래와 같습니다. 1. 사용자 본인이 아이디를 대여 할 경우--> 이건 사용자 .. 2014. 7. 19.
[안드로이드] 웹서버에서 이미지 로딩시 여러가지 방법들 아직 이부분쪽으로 개발을 하고 있지 않지만 선행학습을 목적으로 찾아 놓은 글들을 링크 해놓고자 한다. 1. Android Universal Image Loader 사용하기 - 라이브러리 링크 - 설명 링크 2. 그 밖에 이미지 로딩 관련 도움 될 사항 - 큰이지미를 효율적으로, 이미지캐싱, 멀티쓰레드에 대한 설명 - 이미지 리사이즈 방법 - 안드로이드 내장 라이브러리 이미지 모음 - 기본 카메라 앱으로 사진 찍어 불러오기 - SDCARD에서 이미지 불러오기 2014. 7. 19.