목록안드로이드 (35)
study record
구현한지 조금 지나서 남기게 됐지만 나도 이 기능을 구현하기 위해서 굉장히 많이 구글링하고 고생했기 때문에 꼭 글을 남기려고 한다. 내가 구현하고자 했던 기능은 리스트뷰의 각 아이템에서 버튼을 누르면 데이터베이스에 저장이 되고 저장된 아이템들은 다시 돌아왔을 때 눌러진 상태여야 한다는 것이다. 찾아보니 버튼으로 이것을 구현하기 보다는 체크박스로 구현하는 것이 더 편할 것 같아 체크박스로 즐겨찾기(찜하기) 기능을 구현하였다. public boolean isCheck[] = new boolean[50]; 일단 프래그먼트 클래스 상단에 boolean 배열을 선언한다. 그리고 Adapter의 getView() 메소드 안에 다음의 코드를 넣었다. CheckBox favoriteBtn = (CheckBox) v.f..
inflate란? xml에 표기된 뷰와 레이아웃들을 메모리에 객체화시키는 행동. 즉 xml코드들을 객체화해서 코드에서 사용하기 위함이다. setContentView()함수가 XML을 객체화시키는 inflate 동작. setContentView()함수 아래에서 XML 안의 UI요소들을 맘껏 끌어와 쓸 수 있다. 만약 다른 화면을 구성하는 XML을 불러오고 싶은 경우(자동으로 생성된 XML이 아닌 유저가 추가적으로 만든 XML을 객체화시키기 위해 inflate 필요). LayoutInflater 객체를 만들고 원하는 XML을 inflate한다. LayoutInflater inflater = getLayoutInflater(); or LayoutInflater inflater = (LayoutInflater)..
인텐트 Intent란? 액티비티끼리 서로 호출하기 위해 필요한 통신 장치 각각의 컴포넌트간의 통신을 맡고 있는 것 앱 컴포넌트가 무엇을 할 것인지를 담는 메시지 객체 애플리케이션 구성요소 간에 작업 수행을 위한 정보를 전달하는 역할 페이지 전환, 페이지간 데이터 전달 인텐트 Intent의 통신 방법 두 가지 명시적 인텐트: 인텐트에 클래스 객체나 컴포넌트 이름을 지정하여 호출될 대상을 확실히 알 수 있는 경우. (앱의 화면전환을 하는 방법) 암시적 인텐트: 호출될 대상의 속성들을 지정했지만 호출될 대상이 달라질 수 있는 경우. 인텐트의 액션에 따라 해당하는 적합한 애플리케이션의 클래스를 호출. (웹브라우저 호출, 통화 등) 인텐트의 기본 구성 요소 액션 : 수행할 기능 데이터 : 액션이 수행될 대상 데이터
액티비티 Activity는 사용자가 앱에 접근할 수 있도록 하며, 다양한 활동(작업)을 할 수 있도록 하는 일종의 페이지이다. 액티비티는 가장 바닥에 존재하는 틀같은 것이다. 액티비티 없이는 View도 프래그먼트도 존재할 수 없다. 프래그먼트 프래그먼트는 액티비티와 View의 개념을 합쳐놓은 것이다. 프래그먼트를 사용하면 사용자는 액티비티를 변경하지 않고도 쉽게 View를 변경할 수 있어서 많이 사용한다. 프래그먼트는 화면 안에 들어가는 레이아웃이 중복되지 않도록 한 번만 정의하고 재사용이 가능하도록 만든 것이다. 프래그먼트를 통해 하나의 화면을 여러 부분으로 나누어 보여줄 수 있으며, 분할된 화면들을 독립적으로 구성하고 상태를 관리하기 위해 만들어졌다. 프래그먼트는 항상 액티비티 위에 올라가서 동작한다..