목록구현 (16)
MyCloud
Custom CardView CardView는 롤리팝 버전부터 추가되었으며, 많이 활용되는 뷰 컴포넌트입니다.UI를 구성하다보면 복잡한 구조를 재사용해야 할 때가 있는데,이때 커스텀 뷰를 활용하면 쉽게 해결할 수 있으며, 코드의 분리를 통해 가독성도 높일 수 있습니다.아래의 코드는 이전의 카드뷰 포스팅 예제와 이어지는 코드입니다.참고 : http://swalloow.tistory.com/72 1.먼저 커스텀 카드뷰의 레이아웃을 만들어야 합니다.* CardView 자체가 FrameLayout을 상속받은 ViewGroup이므로 LinearLayout 아래에 정의할 필요가 없습니다. 2.이제 카드뷰를 대신할 커스텀 자바 클래스를 생성합니다.커스텀 카드뷰는 xml에 정의되어 있는 뷰 컴포넌트들을 하나로 묶은 뷰..
TabLayout 과 ViewPager TabLayout은 안드로이드 서포트 디자인 라이브러리에 있는 클래스입니다.이전에는 탭에 대한 애니메이션, 변화, 디자인을 직접 구현했다면 이제 TabLayout 내에 있는 속성만으로 쉽게 컨트롤 할 수 있습니다.자주 사용하는 xml 속성은 다음과 같습니다. XML Attributes Description design:tabGravity 탭의 정렬 방식을 선택 fill : 너비를 모두 같게 표시 center : 가운데 정렬하여 표시 design:tabMode 탭의 표시 방식을 선택 Fixed : 모든 탭을 한번에 표시 Scrollable : 일부 탭만 표시, 나머지 스크롤 design:tabIndicatorColor 현재 선택된 탭에 대한 색 지정 design:ta..
Oracle SQL Query - Join 오라클에서 지원하는 다양한 SQL 쿼리문에 대해 알아보겠습니다.먼저 JOIN 입니다. JOIN은 둘 이상의 테이블을 합쳐서 하나의 큰 테이블로 만드는 방법입니다.JOIN은 테이블의 Foreign Key를 이용하여 참조하며,정규화된 테이블로부터 결합된 형태의 정보를 추출할 때 사용합니다. 방법1은 여러 DBMS의 SQL 문법을 맞추기 위해 나중에 생긴 편리한 방법입니다.따라서 방법1을 추천하지만 출력결과는 같기 때문에 상관없습니다. 1. JOIN (방법1)// NATURAL JOINSELECT * FROM emp NATURAL JOIN dept;SELECT * FROM emp JOIN dept USING (deptno);SELECT * FROM emp JOIN d..
support.v7.widget.CardView 안드로이드 CardView 는 support.v7.widget 에 속한 라이브러리 입니다. 리스트 뷰를 보여줄 때 카드 레이아웃을 사용한 형태를 많이 구현했습니다. 하지만, 직접 그림자도 그려야 하고, 틀을 만들어야 하는 어려움이 존재했습니다. 이를 해결하기 위해 SDK 21버전부터 CardView가 추가되었습니다. CardView는 FrameLayout 클래스를 확장한 형태입니다. 둥근 모서리, 배경과 그림자가 추가된 FrameLayout 이라고 보시면 됩니다. 그리고 CardView를 사용하는 가장 중요한 이유, 깔끔하고 이뻐서 ! 일반적으로 CardView는 리스트 형태로 보여주기 때문에뷰에 대해 재사용이 가능한 RecyclerView와 함께 사용됩니..
간단한 로그인 화면 만들기 - 자동로그인 기능 이전에 만들었던 화면에 자동로그인 기능을 붙여보도록 하겠습니다.이 예제에서는 자동로그인을 위해 오직 SharedPreference만 사용했지만나중에 아이디와 비밀번호는 SQLite에 저장되도록 변경할 예정입니다.화면은 다음 링크를 참고하시면 됩니다. http://swalloow.tistory.com/58 SharedPreference에 대한 정보는 http://swalloow.tistory.com/59 에서 확인하실 수 있습니다.먼저 java 파일로 가서 사용할 객체를 생성합니다.EditText idInput, passwordInput; CheckBox autoLogin; SharedPreferences pref; SharedPreferences.Editor..
간단한 로그인 만들기 - 화면 기본적인 레이아웃에 대해 공부했으니 간단한 로그인 화면을 만들어 보겠습니다.먼저 빈 프로젝트를 생성하시고 xml 파일로 이동합니다.사용한 액션바의 스타일은 Theme.AppCompat 입니다. 자유로운 화면 구성을 위해 RelativeLayout을 선택하고이메일과 비밀번호를 입력할 EditText를 2개 생성합니다. 각 입력텍스트의 가로는 300dp, 세로는 50dp로 설정하고android:layout_centerHorizonal="true"를 통해 가운데 정렬합니다.그리고 힌트메세지로 Email과 Password를 넣습니다.RelativeLayout의 정렬에 대해 잘 모르시는 경우 아래의 표를 참고하시면 됩니다 ! 속 성 설 명 layout_alignParentTop 부모..
안드로이드 레이아웃 구현 안드로이드의 레이아웃은 일반적으로 XML을 통해 구현합니다. 위와 같이 Design 탭을 이용해 컴포넌트를 옮겨서 완성하는 방법이 있고또는 자바코드로 구현할 수도 있습니다. XML로 구현했을 때의 장점은 우선 편리하다는 점입니다.코드를 작성할 필요없이 안드로이드 스튜디오를 통해 쉽게 구현할 수 있으며 시각화 할 수 있습니다.그리고 가장 큰 이점은 어플리케이션을 행동을 제어하는 코드로부터 따로 표시하기 좋다는 점입니다.자바에서 소스코드를 수정하고 다시 컴파일링하지 않아도 수정 또는 변경할 수 있습니다. 위와 같이 첫줄에 인코딩 정보를 뷰마다 한번씩 입력하게 되고각 컴포넌트는 트리 구조를 이루게 됩니다. id 속성은 XML 내에서 보기를 식별하기 위해 사용되며 과정은 다음과 같습니다..
Map - HashTable, HashMap 자바 컬렉션에서 제공하는 Map 인터페이스는 키(key)와 값(value)을 묶어서 하나의 데이터로 저장하는 구조입니다.Set 구조와 달리 중복을 허용하는 특징이 있습니다.키(key)의 경우에는 유일해야 하지만 값(value)은 데이터의 중복을 허용합니다.HashMap은 내부적으로 해싱(Hashing)을 이용해서 구현한 컬렉션이기 때문에많은 양의 데이터를 검색하는데 있어 뛰어난 성능을 보입니다. HashTable 또한 Map 인터페이스를 구현한 구조입니다.하지만 1.2 버전 이후부터 HashMap이 나오면서 HashTable에 비해 다양한 함수를 제공하는 HashMap으로 대체되었습니다.HashTable과 HashMap의 차이는 null 값을 허용하는데에 있습..
Set - HashSet 자바 컬렉션에서 제공하는 Set 인터페이스는 순서를 유지하지 않는 데이터의 집합입니다. Map 구조와 달리 중복을 허용하지 않는다는 특징이 있습니다. HashSet은 내부적으로 해싱(Hashing)을 이용해서 구현한 컬렉션입니다. HashSet은 저장순서를 유지하지 않으므로 저장순서를 유지하려면 LinkedHashSet을 사용해야 합니다. JAVA의 HashSet 구현 HashSet 을 활용한 아래 코드를 통해 주요 메서드와 사용법을 알아보겠습니다. 12345678910111213141516171819public class HashSetTest { public static void main(String[] args) { String[] strArr = {"a", "a", "b",..
자료구조 - 이진탐색트리 앞서 포스팅했던 이진트리를 활용한 이진탐색트리입니다. 이진탐색트리는 탐색작업을 효율적으로 하기 위한 자료구조입니다! 탐색이란 사전에서 검색하고자 하는 단어를 찾거나, 서점에서 책을 찾는 것과 같이 자료를 속에서 필요한 자료를 찾아내는 것을 말합니다. 탐색구조에서 탐색을 하기 위해서 찾을 자료를 식별할 수 있는 유일한 값을 키(Key) 라고 합니다. 이진탐색트리에서는 저장할 데이터의 크기, 즉 키에 따라 노드의 위치를 정의합니다. 그리고 이진탐색트리를 중위 순회 방법(LVR)으로 순회하면 숫자 크기 순으로 정렬된다는 성질이 있습니다. 이진탐색트리의 정의는 다음과 같습니다. 1. 모든 노드의 키는 유일하다. 2. 왼쪽 서브 트리의 원소의 키는 그 루트의 키보다 작다. 3. 오른쪽 서..