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

건빵의 블로그

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

건빵의 블로그

검색하기 폼
  • 분류 전체보기 (164)
    • words (37)
    • Data Science (9)
    • Computer Science (43)
    • 리뷰 (11)
    • 기타 (64)
      • 툴 정보 (1)
      • Android (12)
      • Java (15)
      • R (1)
      • 기타 (30)
  • 방명록

android (12)
[안드로이드] 스레드 죽이기

안드로이드에서 서버와의 통신작업 류 혹은 동시에 어떤 작업을 할 경우 스레드는 필수입니다. 전송이 끝나거나 작업이 끝나기를 동기적으로 대기하다 보면 사용자는 엄청 불편하겠죠. 그래서 스레드 작업을 많이 하게 되는데, RPC 콜이나 단순히 API를 사용하는 스레드라면 상관 없지만, 루프문에서 같은 작업을 종료하기 전까지 무한으로 하게 되는 경우에는 사용자가 스레드를 종료해 줘야 합니다. 그래서 안드로이드는 Java기반이므로 Java 스레드 정책에 따라 종료해 보려고 해도 종료가 되지 않는 문제가 가끔 생기는 것을 발견하였습니다. 참고로, 자바에서는 Thread를 interrupt() 메소드를 이용하여 종료시킵니다. 기존에는 stop(), suspend() 등을 사용하였으나 동기화에 있어 문제가 생길 수 있..

기타/Android 2012. 1. 5. 16:13
[Android/tips] 메인 액티비티 변경

안드로이드 매니페스트 파일에서 Application tab의 해당 어플리케이션 tag 부분에 아래와 같은 인텐트 필터를 추가합니다. 그리고 기존에 존재하던 메인 액티비티의 필터를 삭제해 주면 됩니다.

기타/Android 2011. 9. 3. 08:30
[Android/Java] 문자열 token으로 파싱하기(StringTokenizer)

스트링을 특정 token으로 파싱하는 방법은 여러가지가 있지만 제가 생각하기에 가장 편한 클래스는 StringTokenizer입니다. StringTokenizer stringtokenizer = new StringTokenizer(문자열, 기준 문자열); boolean hasMoreTokens() : 남은 토큰의 여부 판단 String nextToken() : 파싱한 토큰 반환

기타/Java 2010. 9. 24. 13:59
[Android] ItemizedOverlay에서 Item별로 Marker 다르게 설정하기

ItemizedOverlay를 extends 한 클래스를 이용하여 MapView에 marker를 띄우게 되면, 처음에 ItemizedOverlay를 생성할 때 설정해준 default 마커가 맵에 나타나는데, 마커별로 다른 그림을 넣고 싶다면 다음과 같이 addOverlays()를 변경해주면 됩니다. public void addOverlay(OverlayItem overlay) { mOverlays.add(overlay); populate(); } public void addOverlay(OverlayItem overlay, Drawable drawable) { if(drawable!=null) overlay.setMarker(boundCenterBottom(drawable)); addOverlay(ove..

기타/Android 2010. 9. 24. 11:29
[Android] Options Menu(메뉴) 만들기

안드로이드를 포함한 모바일 단말기에는 휴대성으로 인해 해상도 제약이 심하므로 추가 명령을 위한 컴포넌트가 필수적입니다. 안드로이드도 여러 방안을 제시하는데, 그 중에 하나로 OptionsMenu, 즉 소위 메뉴라고 불리는 것이 있습니다. 에뮬레이터에서는 menu버튼을 통해 동작하며, 일반적인 모바일 단말기에서는 왼쪽 하단부의 버튼을 누를 시 등장합니다. 대부분의 안드로이드 뷰가 그렇듯이, 메뉴 또한 xml, java를 이용한 두 가지 방법 모두를 지원합니다만, xml이 보다 직관적이고 사용하기 편한 것은 분명합니다. (제가 java로 하는 방법을 모르기도 합니다 ㅋㅋ) 메뉴 사용을 위한 순서를 간추려 보자면 1) xml 파일 생성하기 2) xml파일을 메뉴로 등록하기 3) 각 아이템에 대한 이벤트 설정하..

기타/Android 2010. 9. 23. 12:16
[Android] 암시적 인텐트를 이용하여 전화걸기

액티비티간의 이동을 위해 주로 사용되는 Intent의 종류로는 두 가지가 있습니다. 명시적(Explicit) 인텐트와 암시적(Implicit) 인텐트 입니다. 명시적 인텐트는 흔히 알고 있는 인텐트이므로 설명은 생략합니다. 암시적 인텐트는 특정 동작을 지정할 경우 안드로이드가 그에 알맞는 동작을 수행합니다. 전화걸기도 이를 이용하게 됩니다. startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+전화번호))); ※ 주의 : 전화걸기 퍼미션을 매니페스트에서 추가해 주어야 합니다.(CALL_PHONE)

기타/Android 2010. 9. 20. 15:25
[Android] 생성한 DB 내용 확인하기

안드로이드의 SQLite를 이용하여 생성한 DB의 내용을 확인하는 방법은 여러가지가 존재하지만 여기서는 adb를 이용하여 확인해 보겠습니다. 1. adb 환경변수 등록 (Windows 7 기준) 컴퓨터-(우클릭)->속성->고급시스템 설정->(고급 탭)환경 변수 Path 편집을 누르고 위와 같이 C:\abc; C:\bcd; C:\cde; 이런 형식으로 등록되어 있습니다. 끝에 세미콜론(;)을 추가하고 android sdk가 설치된 폴더의 하위 폴더 tools의 Full Path를 등록해 줍니다. 저의 패쓰는 C:\Program Files\Java\android-sdk-windows\tools 입니다. (이 과정을 생략하고 직접 커맨드라인으로 폴더에 들어가서 다음 단계를 진행해도 됩니다) 2. adb she..

기타/Android 2010. 9. 4. 22:45
[Java/Android] No enclosing instance of type "..." is accessible. 해결법

위 에러는 클래스를 인스턴스화(객체화) 시키지 않고 내부 클래스를 접근할 때 발생한다. 예를 들어, class Foo { class Bar { } } Bar bar = new Foo.Bar(); 위와 같이 사용하였을 경우 에러가 난다. 또 빈번하게 에러가 나는 경우가 있다. 비슷한 맥락이지만, 메소드를 static으로 선언해 주고 static이 아닌 내부 클래스를 접근할 경우동일한 에러가 발생된다. class Foo { class Bar { } static void Test() { new Bar() .... } } 이유는 동일하다. 내부 클래스는 외부 클래스 생성시에 생성되기 때문이다.

기타/Java 2010. 8. 27. 21:05
[Android] Content Provider의 이해

컨텐트 프로바이더는 여러 애플리케이션 간의 데이터를 공유할 수 있는 유일한 방법입니다. 자기 자신의 데이터를 공유하고자 한다면 자기 자신의 컨텐트 프로바이더를 만들거나, 기존의 컨텐트 프로바이더에 데이터를 추가할 수 있습니다.. 컨텐트 프로바이더 사용하기 컨텐트 리졸버를 이용합니다. 모든 컨텐트 프로바이더에 해당되는 공통의 인터페이스 입니다. 컨텐트 프로바이더에 접근하기 위해서는 URI가 필요합니다. ContactsContract.Contacts.CONTENT_URI와 같은 식으로 상수로 제공하게 됩니다. 데이터를 가져오기 위해서는 ContentResolver.query() 또는 Activity.managedQuery()를 이용하는데, 여기서는 전자를 이용하겠습니다. query()의 매개변수를 이용하여 ..

기타/Android 2010. 8. 17. 12:28
[Android]GeoPoint로 날씨정보 가져오기

위치정보로 날씨 정보를 가져오기 위해서는 우선 GeoPoint로 지역정보를 가져와야합니다. 이를 위해서는 Geocoder를 이용합니다. 지역->GeoPoint 를 지오코딩(Geocoding)이라고 하고, GeoPoint->지역 을 역 지오코딩(Reverse geocoding)이라고 합니다. 여기서는 역 지오코딩을 이용합니다. Geocoder의 getFromLocation()을 이용하여 Address 객체를 받아올 수 있습니다. ※ 주의 : 아시다시피 GeoPoint의 위도와 경도 값은 마이크로 값이므로 int형 입니다. 하지만 getFromLocation에서 사용되는 위도와 경도는 실제 값으로 double형입니다. 그래서 10^6으로 나누어서 인자를 넣어줘야 합니다. Address 객체를 통해 지역 값을..

기타/Android 2010. 7. 18. 15:01
이전 1 2 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 자바
  • Algorithms
  • Data Science
  • 기계학습
  • java
  • 카타르
  • 안드로이드
  • 리버스엔지니어링
  • operating systems
  • 자료구조
  • 데이터 사이언스
  • 통계학습
  • Machine Learning
  • 개발
  • android
  • Reverse Engineering
  • 리버싱
  • 카타르 음주
  • 데이터 과학
  • 리눅스
  • 알고리즘
  • 머신러닝
  • 이산수학
  • 운영체제
  • statistical learning
  • 대학원
  • linux
  • Data Structure
  • Discrete Mathematics
  • reversing
more
«   2025/05   »
일 월 화 수 목 금 토
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 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바