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

JHB의 삽질 이야기

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

JHB의 삽질 이야기

검색하기 폼
  • 분류 전체보기 (373)
    • JHB (23)
      • IT 이야기 (4)
      • 잡다한 이야기 (19)
    • Cloud (44)
      • AWS (40)
    • Language (46)
      • C C++ (26)
      • C# (2)
      • Java (1)
      • Python (16)
    • Development (221)
      • Windows (62)
      • Mobile (72)
      • Linux (6)
      • Driver (12)
      • Firmware & HW (3)
      • Algorithm (14)
      • CM&CI&CD (14)
      • Web개발 (8)
      • Container (1)
      • Database (1)
      • Etc (26)
      • Tip (2)
    • MUSIC (17)
      • Listen (12)
      • Compose (5)
    • ETC (20)
      • Public (20)
    • TOOL/FRAMEWORK
      • MFC
      • WPF
      • GIT
    • LANGUAGE
      • C/C++
      • C#
      • Java
      • Python
  • 방명록

android (57)
[Android] Service에서 Dialog 띄우기

http://code.google.com/p/android-smspopup/source/checkout http://android-smspopup.googlecode.com/svn/trunk/SMSPopup/src/net/everythingandroid/smspopup/ 참조. SMS 다이얼로그 띄우는 방식이다.

Development/Mobile 2010. 11. 11. 00:10
[Android] 메모리를 해제 후에 돌아왔더니

안드로이드로 Google Map을 다루면서, 맵에서 다루는 메모리가 넘치길래 onStop에서 메모리를 다 해제해 주었다.(자바는 =null 해주면 알아서 가비지 컬렉터가 해제해간다.) 근데 문제는 전화가 온걸 받은 뒤 다시 맵 화면으로 돌아가면~ 두둥~ 에러가 나는 것이었다. 홈 버튼을 눌러 메인 페이지에 다녀올 때도 마찬가지였다. 문제는 onResume에 있었다. 난 그냥 막연히 뒤로 갔다 돌아오면 onCreate가 다시 실행될 줄 알았는데, onCreate같은건 실행될 기미조차 없고, 그냥 onResume만 호출된다. 내가 기존에 맵에 사용되는 메모리를 다 onCreate에서 처리해 줬기 때문에, onStop으로 인해 해제된 메모리를 다시 불러주어야 했다. 액티비티 호출 시 호출 순서가 onCreat..

Development/Mobile 2010. 10. 31. 00:19
[Android] ArrayIndexOutOfBoundsException on getIndexToDraw

맵의 오버레이를 동적으로 로딩하는데 ItemizedOverlay의 getIndexToDraw에서 자꾸만 ArrayIndexOutOfBoundsException이 났다.. 보니까 오버레이의 추가와 삭제가 쓰레드를 이용하여 동시에 진행되면서, 있지도 않은 Array의 Index를 참조하면서 나는 것 같았다.. 아오... 그냥 삭제를 다 한담에 접근을 하던지.. 삭제하면서 어디선 add하고 그러니까 계속 저 에러가 나지.. ArrayList는 thread-safe하지 않기 때문에 참.. 슬프다 ㅠ_ㅠ 수 시간의 삽질 끝에 드디어 익셉션을 잡아냈다.. 플밍 경력이 오래된 사람이라면 쉽게 잡을 수 있는 부분이었을텐데.. 난 도대체 몇시간이나 소모한건지.... 여튼 잡게 돼서 너무 좋았음.

Development/Mobile 2010. 10. 23. 23:33
[Android] MapActivity에서 Touch Event 사용하기

처음에 시도한 방법은 mapView.setOnTouchListener를 등록해서 하는 방법인데.. 오직 한번 밖에 실행이 안된다. 왜 그런지는 도저히 이유를 모르겠다.. 심지어 수많은 블로그에도 [The handler isn't being executed. I didn't find the exact reason for this behavior yet.] 정도로 써져 있다. 그다음엔 onTouchEvent를 Override 해봤다.. 그래도 마찬가지다.. setOnTouchListener가 안되니 이것마저 안되는 것 같다.. 레퍼런스 문서를 찾다가 dispatchTouchEvent라는 녀석을 발견했고, 이 녀석을 오버라이드 해 보았다. @Override public boolean dispatchTouchE..

Development/Mobile 2010. 10. 19. 00:58
[Android] Thread Kill (interrupt)

안드로이드 쓰레드 종료를 위해 Thread.stop(), Thread.suspend() 다 해보았지만 모두 deprecated 되어서 사용하면 안될 뿐더러, 정상 동작 하지도 않는다. 그럼 남은건 interrupt() 하나 뿐인데.. 이걸 쓴다고 해서 쓰레드가 바로 종료되는건 아니더라.. 보니까 interrupt() 쓴다고 쓰레드가 그냥 죽는게 아니고 쓰레드 내부에 직접 구현을 해줘야 했다. 중복 쓰레드 실행 시 이전 쓰레드를 죽이는 것도 처음에 boolean 변수 만들어서 죽여주는 그런 방법으로 시도했다가, interrupt()와 interrupted()를 활용 하는 것이 훨씬 간결 하다는 것을 알았다. 구현 소스는 다음과 같다. public class ThreadKillDemo extends Acti..

Development/Mobile 2010. 10. 18. 01:41
[Android/JAVA] How do I convert InputStream to String?

InputStream을 String으로 변환해 주는 예제 package org.kodejava.example.io; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; import java.io.Writer; import java.io.Reader; import java.io.BufferedReader; import java.io.InputStreamReader; public class StreamToString { public static void main(String[] args) throws Exception { StreamToString sts = new StreamToString(); /* * G..

Development/Mobile 2010. 10. 10. 21:15
[Android] 배포용 keystore 제작 및 싸인 하기(구글맵 쓰는 경우 포함)

안드로이드 어플리케이션을 다 제작했으면 마켓에 올리기 위해 release 버전으로 만들어 줘야 한다. 그냥 하는것은 아니고, 여러 과정을 거쳐야 하는데 아래 과정을 따라오면 된다. 1. keytool을 이용하여 key를 만든다. cmd창 들어가서 keytool -genkey -alias 키이름.keystore -keyalg RSA -validity 20000 -keystore 경로/키이름.keystore ex) keytool -genkey -alias roter.keystore -keyalg RSA -validity 20000 -keystore roter.keystore (마지막에 경로를 안써 주면 현재 cmd가 위치해 있는 폴더에 keystore를 만든다.) 엔터를 치면 암호 입력하라고 나온다. 암호 ..

Development/Mobile 2010. 10. 1. 16:01
[Android] 폰 부팅시 어플리케이션 실행

브로드캐스트 리시버를 사용하여 핸드폰이 켜지면 자동으로 프로그램을 띄우도록 하자 우선 브로드캐스트리시버를 만들어 주자 public class PhoneBooting extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { Intent i = new Intent(context, 실행할클래스.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } 매니 페스트는 다음과 같이 등록하자

Development/Mobile 2010. 9. 30. 02:46
이전 1 ··· 3 4 5 6 7 8 다음
이전 다음
공지사항
최근에 올라온 글
  • 캐논 G3900 프린터 잉크 안나올 때 석션하기
  • Serverless로 E-Commerce 만들기 ⋯
  • 갑자기 RDS CPU 점유율이 100%를 쳤다.
  • DDB Singletable 디자인
최근에 달린 댓글
  • 안녕하세요~ GridCtrl 을 사용중이시라면 Ctrl⋯
  • 혹시 스태틱으로 GridCtrl 사용해서 목록이있는 그⋯
  • 헉 안돼서 계속 윈도우로만 했는데 감사합니다 복받으세용
  • 글 잘 읽고 갑니다~
Total
862,898
Today
21
Yesterday
140
링크
  • Kaspyx - Hacking
  • JHB LinkedIn
  • Dive into Deep Learning
TAG
  • source
  • jni강좌
  • Quiz
  • Cloud
  • java
  • C
  • 프로그래밍
  • API
  • database
  • jni
  • Troubleshooting
  • android
  • winapi
  • AWS
  • 드라이버
  • linux
  • driver
  • db
  • gcc
  • Visual C++
  • it
  • NDK
  • Python
  • kering
  • MFC
  • C++
  • 리눅스
  • 음악
  • algorithm
  • 안드로이드
more
«   2023/06   »
일 월 화 수 목 금 토
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
글 보관함
  • 2023/05 (1)
  • 2022/03 (1)
  • 2021/11 (1)
  • 2021/10 (1)
  • 2021/09 (1)

Blog is powered by Tistory / Designed by Tistory

티스토리툴바