모바일/Android_Java(100)
-
안드로이드에서 자주쓰는 함수
getInstance() DBCP(DataBase Connection Pool)처럼 공통된 객체를 여러개 생성해서 사용해야하는 상황 ~~Manger.getInstance() 형식으로 자주 사용 싱글턴 패턴 private static final DatabaseHelper ourInstance = new DatabaseHelper(); public static DatabaseHelper getInstance(){ return ourInstance; } getApplicationContext() getContext() getActivity()
2019.10.08 -
RecyclerView
호출 되는 순서대로 보자면, getItemCount가 불리면서, 총 item 갯수가 몇개 인지 판단하고, getItemViewType이 불리면서, 현재 item view의 position에 해당하는 viewType을 판단한다. 그 후 onCreateViewHolder에서, viewType에 해당하는 ViewHolder를 생성하여 return한다. (각 item view의 정보를 갖고있는 애는 ViewHolder라고 하였다. 그러므로 Adapter는 계속해서 ViewHolder를 이용해 item view를 관리할 것 이다.) onBindViewHolder에서는 생성된 viewHolder와 position을 전달받아서, 현재 position에 맞는 data를 viewHolder가 관리하는 view들에 bin..
2019.10.08 -
Instnaceof
class Car class Sonata extends Car test(Sonata) test(Car c) 참조변수가 참조하고 있는 인스턴스의 실제 타입을 알아보기 위해 instanceof 연산자를 사용합니다. 보통 instanceof의 왼쪽에는 참조변수(부모클라스)를 오른쪽에는 타입(클래스명)(자식클라스)이 피연산자로 위치합니다. 연산의 결과로 boolean값인 true, false 중의 하나를 반환 합니다. -> instanceof를 이용한 연산결과로 true를 얻었다는 것은 참조변수가 검사한 타입으로 형변환이 가능하다는 것을 뜻합니다. -> 함수를 구현할 때 어떤 클래스가 들어올지 모르기때문에 부모클래스타입으로 지정해놓고, if (c instnacof Sonata) 처럼 소나타로 형변환이 가능하다..
2019.10.08 -
MVVM 패턴,Ovserver패턴
MVVM패턴 M : Model V : View(Activity) ViewModel인스턴스를 만들고 관찰한다 contactViewModel = ViewModelProviders.of(this).get(ContactViewModel::class.java) contactViewModel.getAll().observe(this, Observer { contacts -> // Update UI }) 즉, 관찰하고 있던 LiveData가 변하면 무엇을 할 것인지 액션을 지정할 수 있다. 이후 액티비티/프래그먼트가 활성화되어 있다면 View에서 LiveData를 관찰하여 자동으로 변경 사항을 파악하고 이를 수행한다. onChanged 메소드를 가지고 있다. 즉, 관찰하고 있던 LiveData가 변하면 무엇을 할 것인..
2019.10.08