본 포스팅은 Android Studio for Experts (Android Dev Summit 2015) 중 Tor Norbye
씨의 발표 세션을 정리한 내용입니다.
public boolean completion(String first, String second) {
return first.contains(second);
}
contains
에서 contentEquals
로 변경시 뒤의 contains
내용을 지웠어야 하지만 Code Completion 에서 해당 함수 위치에서 TAB
입력지 자동 변환
public void completion2(Context context) {
Bitmap bitmap = null;
Drawable drawable = null;
}
Ctrl + Shift + Space 을 2번
의 경우, 현재 함수가 위치한 클래스의 변수
및 파라매터
를 이용하여 인스턴스 생성할지를 지원 (자세한건 아래 그림 참조)현재 커서가 위치한 곳에서 영역 선택을 함수 및 인스턴스 단위로 영역을 선택
public static class InitiablizeFields {
InitiablizeFields(int first, boolean second, boolean third) {
}
}
파라매터 first, second, third 에 해당하는 내부 변수를 final로 정의
public static class InitiablizeFields {
private final int first;
private final boolean second;
private final boolean third;
InitiablizeFields(int first, boolean second, boolean third) {
this.first = first;
this.second = second;
this.third = third;
}
}
public void instanceCheck(Object parameter) {
if (parameter instanceof Context) {
}
}
Object형 parameter 가 정상적인 Context 데이터인 경우 캐스팅 코드 작성을 자동 완성
public void instanceCheck(Object parameter) {
if (parameter instanceof Context) {
Context context = (Context) parameter;
}
}
public int suppressStatements() {
int result = 0;
return result;
}
위의 함수는 Lint 경고로 result 의 값을 Inline 처리로 가능하지만 경고 해제 Annotation 자동 완성
기존 for 의 index 기반 코드 작업시 fori
로 자동 완성 처리 후, List 변수의 size 혹은 관련 처리를 했지만,
List
logd, loge, logi, logw
)logt
: Log 의 TAG 관련도 클래스 변수에 자동 완성logm
: 현재 함수의 매개변수의 자동 완성logr
: 리턴 값의 자동 완성프로젝트 내부의 문법에 맞는 데이터의 일부를 변경시 사용 가능
<string name="name" translation_description="description">value</string>
<string name="name">value</string>
적용 문법
// Search
<string name="$name$" translation_description="$des$">$text$</string>
// Replacement
<string name="$name$">$text$</string>
Thread.sleep(500);
위와 같은 코드가 duration 이 다르지만, 해당 기능을 쓰는 곳을 찾을때
Thread.sleep($duration$);
tools:showIn
: 레이아웃을 include 한 곳과 연결하여 Preview를 표시tools:attribute
: attribute에 해당하는 값을 실제로 반영되지않지만, Preview에만 적용해서 볼 경우 사용tools:listitem
: Adapter 와 연결된 View 의 경우 해당하는 Adapater 의 Layout 을 표시현재 모듈에 동일한 Prefix 리소스명 설정
설정 : build.gradle
android {
...
resourcePrefix 'ccl_'
}
현재 모듈 이외에 일부의 Resource 값만 공개할 경우 사용 가능
<resources>
<public name="name" type="string" />
</resources>
불필요한 리소스 제거
android {
...
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
comments powered by Disqus
Subscribe to this blog via RSS.
LazyColumn/Row에서 동일한 Key를 사용하면 크래시가 발생하는 이유
Posted on 30 Nov 2024