모바일프로그래밍(48)
-
[안드로이드]애플리케이션(성능 등..) 분석 툴
안드로이드 성능 이슈들에 대한 분석 이 튜토리얼은 안드로이에서 안드로이드 애플리케이션들의 성능 분석을 수행할 수 있는 가용한 툴에 대해서 설명하는 튜토리얼입니다. 목차 개요 안드로이드 기본 StrictMode 개발자 세팅 Lint Traceview 소개 안드로이드 스튜디오에서 Traceview사용하기 커맨드 라인에서 Traceview사용하기 Traceview 연습 : 예제 프로젝트 생성 성능 추적 성능 문제 해결 상속계층 뷰 연습 : 상속계층뷰어 레이아웃 최적화 메모리 덤프 Systrace 픽셀 density 시뮬레이션 안드로이드 템플릿 GPU 랜더링 프로파일 Overdraw 분석하기 애플리케이션 분석을 위한 유용한 오픈 소스 툴들 Leak Canary 를 이용한 메모리 누수 찾기 AndroidDevMe..
2023.01.30 -
[안드로이드]dex 파일 65535 크기 넘어가는 오류 잡아 보기
Unable to execute dex: method ID not in [0, 0xffff]: 65536) 위의 오류 메시지를 보고 있는 사람이라면, 분명히 이클립스 신봉자에다가 너무 큰 프로젝트를 맡고 있거나 아니면 앱을 만들기 위해서 오픈소스 라이브러리를 너무 많이 쓴 사람일 것이라고 확신한다. 이 문제에 대한 원인은 이미 나와 있다고 해도 틀린 말은 아니다. [안드로이드]dex 파일 65535 크기 넘어가는 오류 잡아 보기 Unable to execute dex: method ID not in [0, 0xffff]: 65536) 위의 오류 메시지를 보고 있는 사람이라... blog.naver.com 바로 '메소드 개수가 dex 파일을 만들기 위한 인덱스 개수인 65535개를 넘어섯으니, 메소드 개수..
2023.01.21 -
[안드로이드&자바]자바와 안드로이드 자바 간 비교
일반적으로 자바와 안드로이드 자바는 자바라는 이름 하에서 비슷한 류라고 생각한다. 하지만 코딩의 방식은 다를 수 있다라는 생각이 들 수 있다 다음은 몇가지 변환에 대해서 생각 해 보기로 한다. 0. 전제조건 Graphics2D 다음은 전제 조건이다. Graphics2D 객체인 g가 있고, Canvas 객체인 g가 있을 경우에 다음과 같이 사각형을 색칠 하려고 한다. 즉, [Java] - java.awt.Graphics2D Graphics2D g; java.awt.Color color; [Android Java]- android.graphics Canvas g; Paint Pnt = new Paint(); Color color = new color 1. 사각형 색칠하기 [Java] g.setCol..
2023.01.15 -
[ProGuard] 안드로이드 애플리케이션의 최적화, 난독화 및 최소화
Obfu.. 뭐라고? 뭐, 이 용어 외에도 이를 대표하는 여러가지 많은 기술 용어들이 존재 하지만, 이 용어가 과연 무엇을 뜻하는 것인지 모를 수 있다. 그래서 이것을 나만의 방식으로 안드로이드 애플리케이션의 사이즈를 줄여주고, 좀 더 빨리 실행될 수 있도록 효율화하고, 당신이 작성한 코드가 디컴파일러로 풀기 좀 더 어렵게 난독화 해 줄 수 있는 방법을 설명할 것이다. 우리는 이 ProGuard2 라고 불리는 이 자바 프로그램을 사용해서 적용한다면 코드를 빌드 할 때, 당신의 프로그램 코드가 이런 마술을 부릴 수 있을 것이다. 이런 마술을 부리기 위해서는 프로그램을Ant 스크립트를 사용해야 할 것이며, 정규 빌드 단계외의 추가 단계가 필요하다. 우리의 코드가 더 작아지고 더 빨라질 수 있을 것이다 라..
2023.01.14 -
데이터베이스 동시 접근 – Sqlite
SQLiteOpenHelper 구현이 되어있다고 다음과 같이 가정해보자. public class DatabaseHelper extends SQLiteOpenHelper {... } 자 그럼 여기서 서로 다른 쓰레드에서 다음과 같이 데이터베이스 데이터를 접근하는 코드를 만들어 본다. // 쓰레드 1 Context context =getApplicationContext(); DatabaseHelperhelper = new DatabaseHelper(context); SQLiteDatabasedatabase = helper.getWritableDatabase(); database.insert(…); database.close(); // 쓰레드 2 Context context =getApplicationCont..
2023.01.13 -
안드로이드 확장 리스트 뷰에 대한 자습서
http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/ www.androidhive.info 확장 리스트 뷰는 분류 별로 데이타를 그룹화 하는 데 사용 됩니다. 이 뷰는 사용자가 헤더 터치 시 그룹들을 펼치거나 접을 수 있도록 해 줍니다. 만약 이 리스트 뷰에 대해서 잘 모른다면 먼저 #Android #ListView #Tutorial 를 참고 하십시오 https://www.androidhive.info/2011/10/android-listview-tutorial/ 새로운 프로젝트를 만들어서 시작해 봅시다. 1. 이클립스 IDE에서 File ⇒ Android Application Project를 생성한 후 자신만의 내용으로 채..
2023.01.12