Dev 283

Android Flash(light) 기능 사용

Android Flash(light) 사용하기!! Photo by Ezekiel Elin on Unsplash 1. 사용권한 때문에 Manifest.xml 에 추가 2. Flash 기능을 지원하는지 체크 if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {// .. 플래시 켜기}else {// .. 플래쉬 지원하지 않음.} 3. Flash On(), Off() 구현 -- SDK Level 23 이상Camera camera = Camera.open();Camera.Parameters parameters = camera.getParameters(); // onparameters.setFlashMode(Camera.Pa..

Dev/Android 2018.07.30

커니의 코틀린 - 3장 (데이터 클래스)

데이터 클래스 : 자료를 저장하는 클래스를 만드는 과정을 단순하게 하기 위해서 제공하는 특별한 클래스 코틀린 data 클래스data class Person(val name: String, val address: String) Java VO 형태 클래스public class Person { private String mName; private String mAddress; public Person(String name, String address) { this.mName = name; this.mAddress = address; } public String getName() { return mName; } public void setName(String name) { this.mName = name; } ..

Dev/Kotlin 2018.07.16

특정 Context 가 특정 Activity 의 Context 인지 확인하는 방법

어떤 상황에서 Context 가 어떤 Activity 의 Context 인지 알아야할 상황이 올 수 있습니다.그때 Java 기능 중 하나인 객체의 타입을 검사하는 instanceof 입니다. 사용 형태 - 변수 instanceof 클래스 A instanceof B- A 라는 변수가 B타입인지 검사ex) if (str instanceof String) { .... } - A 라는 변수가 B 클래스 인지 검사ex) if (context instanceof CheckAcitivity) { ... }클래스의 검사의 경우는 아래와 같이도 해줄 수 있다.if (context.getClass() == CheckActivity.class) { ... }

Dev/Android 2018.07.03

onKeyDown() 함수와 onBackPressed() 함수

onKeyDown() VS onBackPressed() 어플리케이션에서 backButton 을 누를때 특정 동작을 구현하려고 하였다. backButton (뒤로가기)을 눌렀는데 onBackPressed() 의 함수를 호출하지를 못했다.@Override public void onBackPressed() { // 로그.... } 코드를 살펴보니 onKeyDown() 함수를 통해서 Key Event 를 받고 있었다.@Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: // 코드... return true; case KeyEvent.KEYCODE_VOLUM..

Dev/Android 2018.06.27

DialogFragment 사라질때 - dismiss listener

DialogFragment 에서 Dismiss 리스너 등록 MyDialogFramgent dialog = new MyDialogFragment();dialog.show(getFragmentManager(), "TAG");dialog.getDialog().setOnDismissListener(new DialogInterface.OnDismissListener() {@Overridepublic void onDismiss(DialogInterface dialogInterface) {// 다이얼로그가 사라질때 할 행위}}); 위와 같이 Dismiss 리스너를 등록할 경우 NullPointerExeption 이 발생한다.아마도 Dialog 가 활성화 되지 않은 상태였기 때문에 getDialog() 를 호출할때 N..

Dev/Android 2018.06.21

let 함수

let 함수 : 널이 될 수 있는 식을 더 쉽게 다룰 수 있다. 함수fun fileToComputer(file: String) { ...... } 실행val file: String? = "abcd" fileToComputer(file) 결과ERROR: Type mismatch: inferred type is String? but String was expected 그렇기 때문에 다음과 같이 구현해줘야 한다. - let 함수 사용 Xif (file != null) fileToComputer(file) - let 함수 사용 Ofile?.let { file -> fileToComputer(file) } 혹은 file?.let { fileToComputer(it) }

Dev/Kotlin 2018.06.21

Fabric 오류 in Jenkins - Failed to apply plugin [id 'io.fabric']

Fabric 오류 in JenkinsFailed to apply plugin [id 'io.fabric'] Jenkins CI 서버에서 빌드 오류가 발생했습니다.* Where: Build file '/Users/Shared/Jenkins/Home/workspace/Fitness_Center_Android_Stage_Build/MY_APP/build.gradle' line: 12 * What went wrong: A problem occurred evaluating project ':MY_APP'. > Failed to apply plugin [id 'io.fabric'] > Could not create plugin of type 'CrashlyticsPlugin'. > java.lang.Exceptio..

Dev/Android 2018.06.18

[Warning] 코드로 TextView 스타일 변경하기 (Normal, Bold, Italic...) - 예외상황

[Warning] 코드로 TextView 스타일 변경하기 (Normal, Bold, Italic...) - 예외상황 기본적으로 Textview 의 Style 변경은 Xml 파일에서 처리합니다. 그런데 클래스(Java or Kotlin)에서 처리도 합니다. 1. 클래스에서 TextView Style 변경mTvSort.setTypeface(mTvSort.getTypeface(), Typeface.NORMAL); mTvSort.setTypeface(mTvSort.getTypeface(), Typeface.BOLD); mTvSort.setTypeface(mTvSort.getTypeface(), Typeface.ITALIC); 위와같이 Typeface 를 정해주면 된다. 그런데 저는 RecyclerView 의 A..

Dev/Android 2018.06.08