본문 바로가기

프로그래밍

[android] code style 1. 개요개발 시 동일한 코드 모형을 지향함으로써 가독성 및 협업 효율 증대를 위함 2. 참고 사이트 android code stylehttp://source.android.com/source/code-style.htmljavadoc conventionhttps://developers.google.com/java-dev-tools/codepro/doc/features/audit/audit_rules_com.instantiations.assist.eclipse.auditGroup.javadocConventions#com.instantiations.assist.eclipse.audit.fieldJavadoc3. 참고 파일android-formatting.xmlOpen Eclipse and go to Wind.. 더보기
[gradle] dex size limit 문제 규모가 큰(본 프로젝트 + 참조 라이브러리) 프로젝트에서는 빌드가 안되는 문제 관련 android 글https://developer.android.com/tools/building/multidex.html dex의 정의에 관한 설명http://stackoverflow.com/questions/24224186/what-is-dex-in-gradle dex라는건 android를 빌드할 때, 이 정보를 class파일로 가지고 있는것이 아니라 .dex로 그 안에 바이트 정보로 보관하고 있다. 여기에는 클래스, 함수 등의 이름이 정의되어 있다. 문제는 초기 안드로이드는 2^16 개의 dex index 맵을 생성해 놓았다. 그렇기 때문에 build 시 dex의 index가 2^16 개가 초과해 버리면 indexou.. 더보기
[gradle] google play service 등 메소드 수가 많은 라이브러리 참조시 오류 android studio build를 하면 아래 문구와 함께 run이 되지 않는다. AGPBI: {"kind":"SIMPLE","text":"java.lang.OutOfMemoryError: GC overhead limit exceeded","position":{},"original":"java.lang.OutOfMemoryError: GC overhead limit exceeded"}... Error:Execution failed for task ':dexDebug'.> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Jav.. 더보기
[android] Lollipop (v5.x) service 오류 targetSdkVersion을 21로 맞추고 빌드를 하면 Process: com.myapp, PID: 6073 java.lang.IllegalArgumentException: Service Intent must be explicit: 위와 같은 오류가 발생한다.뭘 명확하게 하라는건데, 오류가 난 곳을 보면 Service의 Action을 특정 문자열로 사용하고 있을 것이다.이걸 특정 패키지를 지정해주면 오류가 없어진다.'어느 패키지(앱) 건지 지정해라.' 정도로 해석하면 되겠다.intent.setPackage("com.myapp")을 추가 특정 문자열로 하면 namespace관련 오류 발생 가능성이 있나보다. 더보기
[android] sqlite 사용하기 SQLite를 사용하기위해서는 1. SQLiteOpenHelper 클래스 생성2. 생성자에 Database name를 전달함으로써 SQLiteOpenHelper안에서 서 SQLiteDatabase.openDatabase() 또는 mContext.openOrCreateDatabase()로 Database를 생성또는 다시 연다.4. Table 생성3. DML 구현 끗. SQLite를 사용하는데에 SQLite 클래스 SQLiteOpenHelperSQLite의 생성자는 SQLiteOpenHelper(Context context, String databaseName, CursorFactory factory, int version)onCreate()에서 SQLiteDatabase 인스턴스로 table 생성 쿼리를 .. 더보기
[android] google analytics froyo 문제 Lollipop 버전에서 Google Analytics가 죽는 문제가 발생16797-16885/kr.co.tictocplus E/AndroidRuntime﹕ FATAL EXCEPTION: GAThread Process: PID: 16797 java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.google.android.gms.analytics.service.START (has extras) } at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1674) at android.app.ContextImpl.bindServiceCommon(Con.. 더보기
[facebook] note 1. API 3.8shareDialog는 session 정보를 가지지 않음. facebook의 포스트 쓰기 화면으로 이동함. 더보기
[android] google advertising id 이번에 google ads library가 google play service library와 합쳐지면서 추가적으로 Google Advertising Id의 사용이 권장되었다.때문에 gid를 사용하기 위해서는 안쓰던 google play service library를 추가해야한다.여기서 문제가 발생할 수 있는데. 바로 dex overflow이다.이걸 해결하기 위해 다음과 같은 방법이 제시 된다.- multiple dex- project.properties에 dex.force.jumbo=true- multidex support library 사용 참고 ☞ https://developer.android.com/tools/building/multidex.html- android studio dex increa.. 더보기
[MAT] mobile app tracking Mobile app tracking에서 event 추적을 하려면 signed key 여야함. 더보기
[android] dex index google play service 추가 시 dex index 초과 오류[2014-06-03 16:56:23 - Dex Loader] Unable to execute dex: Cannot merge new index 66570 into a non-jumbo instruction![2014-06-03 16:56:23 - TestApplication] Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 66570 into a non-jumbo instruction! compile 시 dex table의 갯수가 2^16(65536)개 인데, 초과하면 dex loader에서 오류 발생. indexoverflow와 같은.. 더보기