분류 전체보기(229)
-
MAC OSX에서 터미널 adb 사용하기
윈도우에서만 하다가 맥에서 하려니 모르는게 많다. 윈도우의 경우 sdk 설치 후 콘솔에서 바로 사용이 가능하지만, 맥의 경우는 adb실행파일의 경로를 path에 추가해줘야 사용이 가능하다. path 설정 방법은 다음과 같다. 1. 터미널 실행 2. .bash_profile이 있는지 확인 $ ls -a 3-1. 없으면 생성한다. $ touch .bash_profile 3-2. 있으면 열어준다. $ open -e .bash_profile 4. 내용 입력 후 저장 (cmd+s) export PATH=${PATH}:[SDK가 설치된 절대경로]/tools:${PATH}:[SDK가 설치된 절대경로]/platform-tools export PATH=${PATH}:/Users/UserId/library/android/..
2020.11.11 -
AppBarLayout, ToolBar, CollapsingToolBar 정리
AppBarLayout OnOffsetChangedListener 로 스크롤 상태를 관찰하는것으로 보인다 AppBarLayout.OnOffsetChangedListener ~~ = (appBarLayout,verticallOffset)->{ appBarLayout.post(()->{ int totalOffset = getBinding().appbarLayout.getTotalScrollRagne(); int offset = Math.abs(verticalOffset); float ratio = 0; if(offset!=0){ ratio = (float) offset / (float) totallOffset; } }) }; //스크롤을 위로올리면(아래 방향으로 내려가게) verticalOffset이 -로 ..
2020.11.11 -
슬라이딩 업 레이아웃(SlidingUpPanelLayout) 구현일기..
SlidingUpPanelLayout 요즘 나오는 앱들.. 네이버, 네이버카페 에어비앤비, 빔등등 거의 대부분의 앱에서 사용되고있는 슬라이딩 업 패널 레이아웃이다 혼자 구현하기 버거워서 자료를 찾아보니 오픈소스로 공개되어있는 코드가 있었음.. 아래내용을 gradle에 //sliding up layout implementation 'com.sothree.slidinguppanel:library:3.4.0' 추가하고.. 이런방식으로 구현하면 된다.. 사용법 layout.setPanelSlideListener(new PanelSlideListener() { @Override public void onPanelSlide(View panel, float slideOffset) { // TODO Au..
2020.11.07 -
Kotlin Class, 상속
Class 초기화 class Person (name : String ){ var name = name; } 클래스를 상속하는 경우 반드시 부모 클래스의 생성자를 호출해야 한다. 위에서는 AppCompatActivity의 기본 생성자를 호출하는 것을 확인할 수 있다. 부모 클래스의 생성자가 여러 형태일 경우, 클래스 선언부에서 부모 클래스의 생성자를 호출하는 대신 별도의 생성자 선언에서 부모 클래스의 생성자를 호출하도록 구현할 수 있다. class HelloActivity : View{ constructor(context: Context) : super(context){ } } Class Init // class Student(name : String){ init{ println(name) } } == c..
2020.11.05 -
Android Traget변경 Android 10, TargketSdkVersion29
구글의 Scoped Storage 정책 앱 데이터 폴더(App specific directory) 읽고 쓰는 권한이 필요없고, 다른앱이 내 데이터 폴더에 접근할 수 없음 미디어 파일들(MediaStore) READ_EXTERNAL_STORAGE 권한과 SDK29에서는 이미지 파일의 위치 정보를 읽기위해 ACCESS_MEDIA_LOCATION 권한으로 파일을 읽을 수 있음 공용 파일들(Storage Access Framework) 기존방식if(!getExternalStorageState().equals("mounted")){ //를 호출하여 외부 저장소 상태를 쿼리할 수 있습니다. getApplicationInfo().dataDir // } 하지만 이제 외부저장소에 접근하기 위해서는 StorageAcces..
2020.11.04 -
메소드 (메서드) 참조
메소드 참조란? 이미 존재하는 이름을 가진 메소드를 람다로써 사용할 수 있도록 참조하는(가리키는) 역할을 합니다. 메소드 참조로 코드를 작성하게 되면 컴파일러는 메소드를 참조를 보고 람다를 생성합니다. 사용법은 다음과 같습니다. map.merge("1", 1, (count, incr) -> count + incr); map.merge("1", 1, new BiFunction() { @Override public Integer apply(Integer integer, Integer integer2) { return integer + integer2; } }); default V merge(K key, V value, BiFunction
2020.10.24