본문 바로가기 메뉴 바로가기

Dev.re.kr

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Dev.re.kr

검색하기 폼
  • 분류 전체보기 (78)
    • 개발 관련 (62)
      • 개인 자료/lib (5)
      • Java (9)
      • Android (21)
      • iOS (0)
      • C++ (0)
      • 기타/연구 (4)
      • 문서번역(비공개) (0)
      • 기초 (2)
      • 아두이노 (19)
    • 기타 공부 (0)
    • 잡담 (0)
    • 기타 취미 (13)
      • DIY (7)
      • 자전거 (0)
      • 스노보드 (4)
      • 이곳저곳 (1)
  • 방명록

개발 관련/Android (21)
[Tip] View 으로로부터 Bitmap 가져오기 :: getDrawingCache 를 호출했을 때 발생하는 문제 해결.

// SDK 22 기준.view.setDrawingCacheEnabled(true);// 임의로 measure 와 layout 을 호출한다.//view.measure(View.MeasureSpec.makeMeasureSpec(parent.getWidth(), View.MeasureSpec.EXACTLY),// View.MeasureSpec.makeMeasureSpec(parent.getHeight(), View.Measur..

개발 관련/Android 2015.05.08 19:31
ActivityLifecycleCallbacks 를 이용하여 실행중인 Activity 상태와 객체 가져오기.

  Application 클래스 내부 메소드인 registerActivityLifecycleCallbacks(ActivityLifecycleCallbacks)  를 이용해야 한다.  이 메소드의 인자값으로 ActivityLifecycleCallbacks 를 상속받아 구현한 클래스의 인스턴스를 넣어준다.  또는 다른 Activity 나 Service 내부에서getApplication().&..

개발 관련/Android 2015.04.09 05:24
NDK 를 이용하여 Signaiture (서명) 값 가져오기.

앱의 위변조를 방지하기 위하여 서명 값을 가져와서 서버에 미리 등록된 값과 비교하는 과정이 필요하다.하지만, 안드로이드 Java 코드상으로 제공되는 API 를 활용하는 것은 안전하지 못하다.(안드로이드 자바 코드상에서 서명 값 가져오기 : http://www.dev.re.kr/70)그렇기 때문에 JNI 를 활용해야 한다. context 를 인자값으로 받아서 jni 에서 제공되는 리플렉션을 사용하여 SHA1 으로 변환된 서명..

개발 관련/Android 2015.04.08 18:40
안드로이드 APK 서명에 대하여 + java 코드상에서 APK 파일로부터 인증서 정보 가져오기.

  우선 안드로이드 APK 파일은 JAR 와 호환되는 형태로 되어있다. 즉, 코드를 빌드를 하여 나오는 APK  파일은 zip 포맷과 유사한 jar 와도 비슷하다. 특히 서명에 대한 방식은 JAR 와 APK 와 매우 비슷하다. 실제로 서명을 사용해 빌드된 APK 파일 확장명을  zip 으로 변경하고 압축을 풀어보면 META-INF 디렉토리 내부에 이와 관련한 파일이 생성된 것을 볼 수 있다.&nb..

개발 관련/Android 2015.03.25 06:20
안드로이드 바이너리 XML 의 구조.

  APK 파일의 압축을 풀면 classes.dex 파일과 그리고 String 과 drawable 과 같은 리소스 맵핑 정보를 담고 있는 resources.arsc 파일등과 AndroidManifest.xml 파일 외에 res 폴더 내에 여러 XML 파일등이 존재한다. 하지만 이 XML 파일은 우리가 흔히 아는 형식으로 되어있지 않다.   왜 APK 파일 내부에 있는 AndroidManifast.xml 을..

개발 관련/Android 2015.03.23 00:12
Android NDK, JNI 내부에서 HTTP 통신 사용하기.

지난 포스팅 :    - 안드로이드 스튜디오에서 NDK 로 C++ 빌드하기 (Hello World 예제)이번시간에는 NDK 를 이용하여 HTTP 통신하는 법을 알아보겠다. C/C++ 에서 HTTP 를 통신하기 위한 가장 흔한(?) 방법은 curl 을 사용하는 것이다.    그러기 위해서 curl 라이브러리를 android 에서 동작 하도록 컴파일 해야 하는데, 이는 삽질을 동반한 작업들을..

개발 관련/Android 2015.03.20 01:11
안드로이드 스튜디오에서 NDK 로 C++ 빌드하기 (Hello World 예제)

아래 내용은 mac 기준으로 작성 되었습니다. 1. 안드로이드 개발자 사이트에서 NDK 를 받아야 하지만, STL 과 Boost 를 사용하기 위해서 별도의 작업을 더 해야한다.     하지만, CrystaX 를 사용하면 쉽게 적용할 수 있다. 아래 사이트에서 최신 버전의 CrystaX 를 다운받고 압축을 푼다.     용량이 큰 것으로 받는다. 압축을 풀면 5GB 가 넘..

개발 관련/Android 2015.03.19 11:30
[API] 안드로이드 디렉토리와 파일 모니터링(감시) 를 위한 FileObserver.

FileObserver   안드로이드에서 제공하는 파일 모니터링을 위한 API 인 FileObserver 에 대하여 알아보겠다.   FileObserver 는 안드로이드 내부에 접근할 수 있는 각각의 파일과 디렉토리의 접근이나 변경에 대한 이벤트를 비동기적으로 받아올 수 있다.   이 클래스는 리눅스 커널에서 제공하는 파일 감시 모듈인 inotify (클릭시 위키로 이동..

개발 관련/Android 2014.10.29 19:21
[TIP] Activity 활성화 및 비활성화.

  우선 AndroidManifest.xml 에서 액티비티를 설정할 때, 속성값으로 액티비티 활성화/비활성화 값을 줄 수 있다. 만약 액티비티 비활성화를 한다면, Context 내의 startActivity 메소드를 이용하여 비활성화 된 액티비티를 호출시 앱은 ActivityNotFoundException 을 발생시키고 크래쉬가 발생하게 된다.  또 런처에서 실행시키기 위하여 <activity> 내부의 ..

개발 관련/Android 2014.09.15 16:06
[Tip] 항상 아래로 스크롤되는 TextView

(android.text.Layout 에 대한 참고 페이지 : http://sudarnimalan.blogspot.kr/2012/06/android-understating-text-drawing.html )우선 항상 아래롤 스크롤되는 TextView 를 만들기 위해 다음과 같은 방법으로 스크롤을 가능하게 만들어줘야 한다.::스크롤 가능한 TextView 만들기mTextView.setMovementMethod(new ScrollingMovem..

개발 관련/Android 2014.06.30 16:14
[Tip] 액션바 오버플로우 메뉴 버튼이 보이지 않고, 하드웨어 메뉴 버튼을 눌렀을 때 메뉴가 아래 위치에 출력되는 것을 해결.

무슨 이야기냐 하면은...우선 아래 두 개의 스샷을 보자.왼쪽은 넥서스S , 오른쪽은 갤럭시 S2 다. (모두 4.1.1 버전이다. )  이 두 녀석처럼 하드웨어 버튼을 갖고 있을 경우 액션바(Actionbar) 상의 오른쪽에 오버플로우(Overflow) 메뉴 버튼을 띄워주지 않고, 하드웨어 버튼을 누를 경우 우측 사진처럼 아래에 메뉴창을 띄워준다. 전형적인 메뉴 버튼 달린 기기 스타일이다. (요즘 기기들..

개발 관련/Android 2014.06.22 02:30
안드로이드 테마를 이용한 진짜 인트로 화면 만들기.

  앱을 실행하자마자 아래와 같은 이미지를 띄우고 대략 2~3초 뒤에 메인 화면으로 넘어가는 동작을 구현해 보겠습니다.   우선 가장 무난한 페이스북 인트로 화면을 예제로 잡아보겠습니다.   우선 아래와 같이 인트로로 사용할 이미지를 준비합니다.   저는 가장 무난한 페이스북 이미지에 나인패치를 입혀서 적용했습니다. 화면을 다 덮는 이미지를 사용해도 되지만 intro 화면에 사용될 Dr..

개발 관련/Android 2014.05.16 23:29
AcitonBar 의 View 가져오기.

ActionBar 의 View 를 가져올 수 있으며 아래 코드는 Activity 내부에서 사용한 예. private View getActionBarView() { Window window = getWindow(); View v = window.getDecorView(); int resId = getResources().getIdentifier("action_bar_container", "id", "android"); ..

개발 관련/Android 2014.05.15 18:14
Android 의 Activity 시작 관련 Intent 플래그값에 대하여 1.

  안드로이드의 Task 내부에는 여러 액티비티들을 갖고 있으며 이 것들은 동일한Affinity 값을 갖고 있고 하나의 스택위에 유지되고 있다. 우선 첫 번째로 동일한 Task 내에서 액티비티를 시작할 때, 자주 쓰이는 플래그값에 대하여 알아보겠다.  아래 설명되는 옵션들은 아래와 같이 사용할 수 있다.   Intent intent = new Intent(thi..

개발 관련/Android 2013.12.23 01:57
[Tip] 구글 플레이 API 사용시 com.google.android.gms 액티비티를 찾을 수 없다는 에러가 나올때. - 수정

구글 플레이 서비스가 설치되어 있지 않은 안드로이드 디바이스에서 구글 API (구글 플러스, GCM, 구글 맵, 구글 드라이브등) 를 사용하려고 하면 아래와 비슷한 Exception 을 발생시키며 죽는다.android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://play.google.com..

개발 관련/Android 2013.11.19 13:56
맥에서 Genymotion 을 이용하여 보다 빠른 안드로이드 에뮬레이터로 개발하기.

(2015년 3월 추가. 지금은 안드로이드 SDK 에서 x86 에뮬레이터를 제공하기 때문에 Genymotion 이 필요 없습니다. )  Genymotion 을 이용하면 Android SDK 에 포함된 느려터진 기본 에뮬레이터 대신 VirtualBox 위에서 돌아가는 x86 기반의 빠른 안드로이드를 이용하여 편하게 개발할 수 있다. 또, GPS와 같은 센서에서 받아오는 값등을 임의로 입력할 수 있고..

개발 관련/Android 2013.11.02 23:28
[tip] 안드로이드 단위 변환 dp <-> px

안드로이드 내에서 픽셀에서 DP 로또, DP  에서 픽셀로 변환하는 메소드다.  출처 :  http://stackoverflow.com/questions/8309354/formula-px-to-dp-dp-to-px-android /** * 픽셀을 DP 로 변환하는 메소드. * @param px 픽셀 * @return 픽셀에서 dp 로 변환된 값. */ private int pxToDp(..

개발 관련/Android 2013.08.29 18:20
[Tip] TextView 에 취소선 긋기.

  TextView 는 HTML 태그를 사용할 수 있지만 일부 지원하지 않는 태그들이 있다. 그 중에 대표적인 것이 이렇게 취소선을 긋는 <strike> 태그인데, 이는 직접 PaintFlag 라는 속성값을 줘서 해결할 수 있다.    단 TextView 내부의 모든 텍스트들에 취소선이 생긴다.textView.setText("취소선"); textView.setPaintFlags(someLabel.getPaintF..

개발 관련/Android 2013.07.19 18:46
[Tip] 안드로이드 CPU 코어 갯수 가져오기.

안드로이드 디바이스의 CPU 코어 개수를 가져오는 코드이다. 이 코드의 출처는 : http://stackoverflow.com/questions/7962155/how-can-you-detect-a-dual-core-cpu-on-an-android-device-from-code  원리를 설명하자면 우선 /sys/devices/system/cpu/ 디렉토리를 찾고 이 내부에 cpu[0-9] 의 이름 규칙을 갖는 디렉토리를 찾는..

개발 관련/Android 2013.06.14 01:45
[Tip] 항상 흐르는 텍스트 뷰 만들기 (무한 marquee)

안드로이드에서 흐르는 텍스트를 만드는 방법은 무척 간단하다. Layout 리소스 XML 의 TextView (또는 TextView 가 들어간 위젯) 속성에 다음과 같이 세 줄만 추가해 주면 된다. <TextViewandroid:ellipsize="marquee"android:singleLine="true"android:marqueeRepeatLimit="marquee_forever"<!--&nb..

개발 관련/Android 2013.06.14 01:43
[Tip] 안드로이드 코드상에서 스크린 사이즈 구분하기. (폰 타블릿 구분)

다음과같은코드를이용하여코드상에서폰과태블릿을구분할수있다.(코드상에서폰인지태블릿인지를가져올수있다.)int screenSizeType = (/*context.*/getResources().getConfiguration().screenLayout &Configuration.SCREENLAYOUT_SIZE_MASK);if(screenSizeType == Configuration.SCREENLAYOUT_SIZE_XLARGE) {//&n..

개발 관련/Android 2013.06.14 01:36
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
  • 카자흐스탄 침블락 스노보..
  • 카자흐스탄 침블락 스노보..
  • 펠트지 가습기 만들기
  • HTTP 주소를 URL 인코딩하기.
최근에 달린 댓글
  • 요 근래 발견한 심각한 것 .....
  • 안드로이드 스튜디오에서 boos..
  • 혹시 boost library 빌드하는..
  • 짭두이노에서 빵터졌습니다...
Total
261,440
Today
189
Yesterday
245
링크
TAG
  • oled
  • json
  • 아두이노
  • 안드로이드
  • 개발
  • Cheapduino
  • 침블락
  • Iot
  • Android
  • 가습기
  • 안드로이드 개발
  • NeoPixel
  • 알리익스프레스
  • arduino
  • 원정보드
  • Symbulak
  • ndk
  • HC-06
  • 블루투스
  • 부트로더
  • bluetooth
  • 이더넷
  • WS2812B
  • ENC28J60
  • 칩두이노
  • 병렬 프로그래밍
  • activity
  • Java
  • ATtiny85
  • 쉼블락
more
«   2018/04   »
일 월 화 수 목 금 토
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          
글 보관함
  • 2018/03 (3)
  • 2017/08 (1)
  • 2017/02 (1)
  • 2016/10 (2)
  • 2016/05 (1)

Blog is powered by Tistory / Designed by Tistory
  • 페이스북 공유하기
  • 카카오톡 공유하기
  • 카카오스토리 공유하기
  • 트위터 공유하기