본문 바로가기

태그를 입력해 주세요.

[안드로이드] com.android.dex.DexIndexOverflowException 안드로이드를 개발하다 보면, 많은 오픈 라이센스 라이브러리를 사용하게 됩니다.문제점은 이 라이브러리에 기능적으로 문제가 없더라도 Android Studio에서 빌드를 하게 되면 아래와 같은 에러가 뜨면서 빌드가 되지 않습니다.com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 이유는 구글에서 메소드 갯수에 제한을 두고 있기 때문에 그 갯수를 넘으면 빌드가 되지 않습니다. 그래서 위와 같은 에러가 발생했을 때는 라이브러리를 줄일수 있을 만큼 줄이는게 해결 책입니다. 아마 가장 많이 발생하는 부분은 google service를 사용할 때 입니다.build.gradle 파일에 google service를 추가할때 아래와 .. 더보기
[Android] Looper와 Handler 관련. Thread에서 사용하는 Looper와 Handler는 무슨 역할 을 할까???우선 말로만 보면 Looper 같은 경우는 먼가 반복적으로 진행할 것 같은 느낌이들고,Handler는 먼가 조정 한다(?) 라는 느낌이 든다. 그래서 전 처음 이렇게 생각 했습니다. Looper는 먼가 SubThread에서 무한 반복으로 작업을 할려고 할때 사용하는 게 아닐까???완전.... 생각 하지 말아야할 어이 없는 내용이었죠. Looper와 Handler는 그런 역할 이 아닙니다. Thread간 Message를 전달하기 위한 것입니다. Looper 라는 놈은 Thread에 Message Queue를 생성 해주어, Thread에 존재하는 Handler에 Mesaage들을 저장 시켜 놓고, Message Queue에 하나씩.. 더보기
[ Android ] CalledFromWrongThreadException CalledFromWrongThreadException Thread를 써서 UI에 먼가 뿌릴려고 할 때,꼭 한번씩 보게되는 Exception Only the original thread that created a view hierarchy can touch its views. => 축약으로 메인스레드에서 UI 변경해!!! 메인스레드에서 만들었으니!!!라는 의미이다.. 그럼 해결책은~!! 메인 스레드에서 변경이 되도록 해주는 것이다. 이럴 경우, Handler를 이용하여 하는 방법도 있지만 아주 간편한 방법이 있어 소개한다. runOnUiThread(new Runnable() { public void run() { ....// UI 변경 코드 넣자!!! } });UI Thread 에서 Run을 시킨다는 의.. 더보기
[ Ubuntu ] Android 개발 환경 설정. 기본 적으론http://source.android.com/source/initializing.html 위 사이트에 들어가서 그대로 따라하시면 됩니다. 1. JDK6.0 설치sudo add-apt-repository ppa:sun-java-community-team/sun-java6sudo apt-get updatesudo apt-get install sun-java6-jdk 2. Android 설치 명령어 설정 (Ubuntu 10.04)$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev l.. 더보기
[ Android ] 메모리 누스 (memory leak) 발생 원인!! 이미지 버튼만 4개를 만든 페이지에서 계속 메모리 누수가 발생하여... 4~5번 실행하면 실행이 되지 않고오버 플로우가 발생!!!! 메모리가 누수되었을 경우 확인 부분 1. 전역변수나 클래스로 불러온 bitmap을 recycle함수로 초기화 시켰는지 확인2. Context는 되도록 applicationContext를 사용하도록3. 바로 이걸 하세요!!/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * .. 더보기
[ Server ] CentOS5.4에 Mysql 설치 : Timeout error occurred trying to start MySQL Daemon. 1. yum을 이용한 설치# yum -y install mysql mysql-server mysql-connector-odbc mysql-develpackage 4개가 설치 됩니다. 2. /etc/my.cnf 편집서버 운영 환경에 따른 기본 설정 방법# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf위 명령어로 복사를 한 이후에 # vi /etc/my.cnf아래 옵션 부분을 추가 합니다. [client]default-character-set = utf8 [mysqld]init_connect = SET collation_connection = utf8_general_ciinit_connect = SET NAMES utf8default-character-set = utf8c.. 더보기