목록분류 전체보기 (289)
woong's
Kotlin Extensions 사용하기 kotlin을 학습하면서 좀더 Kotlin 답게 사용해보려고 노력해보고 있습니다. 기존의 자바에서 FindViewById 로 Xml 을 View 객체로 생성해서 사용 하고 있습니다.복잡한 경우 전역 변수의 View 들과 FindViewById 를 통해서 생성한 코드들이 생각보다 많은 경우들이 있습니다.이런 반복적이고 비생산적인 코드를 Kotlin Extensions 를 사용 하면 편하게 돌아갈수 있습니다. Kotlin Extensions 준비 준비과정은 정말 간단합니다. kotlin-android-extensions 플러그인을 추가합니다. Kotlin Extensions 사용방법 기존에 findViewById 로 생성했던 코드를 삭제하고 바로 사용하면 Import..
Kotlin 으로 RecyclerView 만들어 보기 이번 포스트에서는 Kotlin 으로 RecyclerView 를 만들어 보려 합니다. :D Android 나 IOS 의 시작은 항상 ListView , TableView 로 시작을!! 화면에 RecyclerView 를 보여주기 위해서는 첫번째로 화면에 보여줄데이터가필요합니다. VO 를 만들고 List 에 데이터를 먼저 생성해 보겠습니다. 1234class MusicVO(title:String) { var title: String = title}cs 간단하게 음악 타이틀을 가지고 있는 VO 를 생성 했습니다. Kotlin 에서는Class 를 생성하면서 바로 생성자를 만들수 있어서 title 을 받는 VO를 만들어 보았습니다.또한 Kotlin의 VO 는 G..
Kotlin 기본 문법 공부하기 Kotlin 사용하기 위한 준비 작업하기 를 통해서 환경 및 준비 작업 을 해보았습니다. 이번에는 간단한 문법, 많이 쓰이는 문법을 익혀 보도록 하려 합니다. 1. 변수 선언변수 선언에서는 val , var 의 키워드를 사용합니다. val 읽기전용 상수를 의미1234val a: Int = 1val b = 1 // `Int` 타입 추론valc:Int //값을할당하지않을경우타입필요c = 1 // 확정(definite) 할당cs var 는 변경 가능한 변수 12var x = 5 // `Int` 타입 추론 x += 1cs 2. 함수 정의함수 정의 한때는 키워드는 fun 파라미터가 앞에 존재 하고 타입이 뒤에 있습니다.리턴 타입의 정의는 : 기호를 사용해서 하고 있습니다.리턴 값이..
Kotlin 사용하기 위한 준비 작업 하기 안녕하세요. 이번에 Android 에서 kotlin을 공식언어로 발표를 해서 뒤늦게 Kotlin을 공부해보려 합니다. 아직 생소해서 잘 모르지만 하나씩 준비해보려 합니다.Kotlin 을 사용하기 위해서 Android Studio에서 Plugin 설치가 필요 합니다.이번 포스트에서는 준비 과정 및 설정에 대해서 작성해 보도록 하겠습니다. 준비과정Android Studio Preferences 창을 활성화 < Plugins < Browse repositories 선택Kotlin 검색 < 선택후 < Install
Proguard 사용하지 않았을시 문제점 - 프로젝트 코드가 난독화가 되지 않아 디버그 시 코드 노출이 우려 - 불필요한 코드가 앱 컴파일시 포함 되어 불필요하게 앱의 용량(비용) 이 증가 - 불필요한 코드가 컴파일 포함 되기 때문에 개발시 메서드 65536 개 초과로 멀티덱스 사용을 피할수 없음 장점 - 프로젝트 코드 난독화 (디컴파일시 난독화가 되어 코드를 읽기가 어려움) - 프로젝트에서 사용하지 않는 메서드 제거 - 불필요한 메서드 제거로 인해 멀티덱스 사용하지 않을수 있음 proguard를 사용하면서 불편점 - 난독화가 진행 되어 프로젝트 클래스 이름 , 라인 넘버가 제거 되어 디버그가 어려움 - 다른 라이브러리가 추가시 난독화시 warning 이 발생 proguard 불편점 해결방법- 난독화가 ..
Android Gallery 갱신 하기 android 에서 사진을 저장하는 경우 갤러리가 바로 갱신이 안되는 경우가 있습니다. 바로 갱신이 안되는경우 갱신이 될수 있도록 이벤트 및 이미지 전달이 필요 합니다. 1234567public static void addImageToGallery(final String filePath, final Context context) { ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis()); values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); values.p..
Android ButterKnife 사용하기 프로젝트를 진행하면서 findViewById , 데이터 바인딩등 반복 작업을 아무생각없이 계속 반복해서 작업하고 있었다. 이전부터 ButterKnife 를 알고 있었지만, 도입해보지 않았지만 이번 프로젝트부터사용해 보려 합니다. 사용하면서 장단점을 비교해보고 장점이 큰경우 프로젝트 진행시에 도입해보려 합니다. http://jakewharton.github.io/butterknife/ 1. 준비 과정 12compile 'com.jakewharton:butterknife:8.5.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'cs android Build.gradle 에 라이브러리를 추가합니다...
Android Trasitions API 사용하기 Android Animation 을 좀더 쉽게 사용할수 있는 Trasitions API 가 있어서 정리해 보려 합니다. 앱구성시 자주 쓰일것 같은 애니메이션만 예제로 작성해 보려 합니다. Transitions API 구글은 액티비티간 화면 전환을 위해 Android 5.0부터 이 API를 제공 좋은 소식은 더 아래 버전에서도 사용할 수 있다는 점. Transitions Everywhere는 안드로이드 Transition API의 백포트입니다.(안드로이드 4.0이상 애니메이션 백포트 지원, 안드로이드 2.2이상 API호환가능) 123dependencies { compile "com.andkulikov:transitionseverywhere:1.6.5"}Co..
Android 국가별 폴더 분기 Language familyLanguage nameNative name639‑1639‑2/T639‑2/B639‑3639‑6NotesNorthwest CaucasianAbkhazаҧсуа бызшәа, аҧсшәаababkabkabkabksAfro-AsiaticAfarAfarafaaaaraaraaraarsIndo-EuropeanAfrikaansAfrikaansafafrafrafrafrsNiger–CongoAkanAkanakakaakaaka + 2macrolanguage, Twi is [tw/twi], Fanti is [fat]Indo-EuropeanAlbanianShqipsqsqialbsqi + 4macrolanguage, "Albanian Phylozone" in 639-..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384public class MyApplication extends Application { // ... @Override public void onCreate() { super.onCreate(); registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() { // ... @Override public void onActivityResumed(A..