반응형

Android 36

[Android] Room 데이터 베이스

오늘은 ListView와 Room을 사용해 데이터베이스에 대해 다뤄보겠습니다! Room 이란? - Room은 ORM(Object Relational Mapping) 라이브러리입니다. Room은 데이터베이스의 객체를 자바나 코틀린 객체로 매핑해주는것 입니다. Room은 SQLite의 추상레이어 위에 제공하고 있으며 SQLite의 모든 기능을 제공하면서 데이터베이스 접근을 편하게 해줍니다. Room과 SQLite 차이점? - SQLite 경우 쿼리에 대한 에러를 컴파일에 확인하는것이 없지만 Room에서는 컴파일 도중 SQL에 대한 유효성을 검사 가능합니다 - 스키마가 변경이 될경우 SQL쿼리를 수동으로 업데이트 해야하지만 Room의 경우는 쉽게 해결이 가능합니다. - SQLite 경우 Java데이터 객체를 ..

Android 2020.12.18

[Android] 7주차 스터디 (Camera)

이번에는 카메라를 실행시켜서 사진을 찍어서 가져와 이미지뷰에 보여지게 해보겠습니다! 1. 권한을 추가해줍니다 - AnroidManifest.xml 2. 이미지뷰를 추가해줍니다 - activity_main.xml 이미지뷰를 클릭하면 카메라가 실행되도록 구성하기 위해서 이미지뷰만 넣었습니다 실제로 코드를 실행해볼때는 이미지뷰가 보이지 않지만 클릭하면 작동이 됩니다 3. MainActivity.java 권한설정을 위한 함수를 만들어줍니다. public void checkSelfPermission() { String temp = ""; //권한에 대한 상수값 //카메라 권한 확인 if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) !=..

Android 2020.11.29

[Android] 6주차 스터디 (Gallery)

이번에는 갤러리를 통해 사진을 가져와 이미지뷰에 보여주는 것을 해보겠습니다! 1. 권한을 추가해줍니다 - AndroidManifest.xml 2. 이미지뷰를 만들어줍니다 - activity_main.xml 일정한 크기로 가져오기 위해 width와 height를 지정해주었습니다. 3. MainActivity.java를 작성해줍니다 먼저 권한설정을 위한 함수를 만들어줍니다 public void checkSelfPermission() { String temp = ""; //권한에 대한 상수값 //파일 읽기 권환 확인 if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERM..

Android 2020.11.29

[Android] 5주차 스터디 (RecyclerView)

RecyclerView - 많은 수의 데이터를 제한된 영역에서 유연하게 표시해주는 위젯입니다 - CustomListView의 확장판이라고 할 수 있고, 유연함과 성능이 더 좋습니다 - 리스트뷰의 사용 목적과 동작 방식이 매우 비슷합니다 - 리사이클러뷰는 유연하기 때문에 수직구조와 수평구조 모두 가능하고 동적 구성이 부드럽습니다 - 리사이클러뷰는 onCreateViewHolder, onBindViewHolder, getItemCount를 필수로 오버라이딩 해야한다는 것이 중요합니다 어댑터 - 리사이클러뷰에서 표시될 아이템 뷰를 생성하는 역할 레이아웃 매니저 - 아이템이 뷰에서 어떤 형태로 배치될지 결정하는 요소 - 리니어(Linear): 수평, 수직 방향으로 일렬 배치하는 구조 - 그리드(Grid): 격자..

Android 2020.11.25

[Android] Bottom Navigation and Fragment with Jetpack

Bottom Navigation (하단바) Bottom Navigation을 만들기 전에 먼저 사전 작업을 해주겠습니다! 1. build.gradle 파일의 dependencies에 다음 문장을 추가해줍니다 implementation 'com.android.support:design:28.0.0' 빨간줄로 경고창이 뜨면 [Refactor] - [Migrate to AndroidX] 를 한 후 하단 창이 뜨면 Do Refactor 하면 됩니다! 2. bottom_menu.xml을 만들어줍니다 [res] 폴더에서 오른쪽 마우스를 클릭하여 [new] - [Android Resource File]를 클릭해 파일을 만들어줍니다 다음과 같이 창이 뜨면 파일 이름과 타입을 지정한 후 OK를 눌러줍니다 3. Botto..

Android 2020.11.04

[Android] ViewHolder 패턴

ViewHolder 패턴 다음링크의 ListViewAdpater의 getView()로 ViewHolder패턴을 어떻게 적용시킬 수 있는지 살펴보겠습니다 soohyun6879.tistory.com/30 - 각 뷰를 보관하는 Holder객체는 레이아웃의 태그 필드 안에 각 구성요소 뷰를 저장하므로 반복적인 조회없이 엑세스가 가능합니다 - setTag / getTag를 이용하고, 태그를 사용하면 findViewById를 하지 않아도 됩니다 - findViewById() 함수를 호출을 줄이기 위한 저장소 역할을 합니다 - 반복적으로 호출되는 메소드를 줄이기때문에 처리속도 향상에 많은 기여를 하고 스크롤이 부드러워집니다 - 위젯을 저장하기 위한 용도로 사용됩니다 public static class ViewHold..

Android 2020.10.29

[Android] 5주차 스터디 (Kotlin, CustomListView)

ListView - Kotlin View부분은 리스트뷰 하나를 넣어주는 것으로 간단하게 구성하였습니다! 코틀린으로 리스트뷰를 만들어보겠습니다 먼저 코틀린 문법을 간단히 보고 코드를 보겠습니다! 코틀린 문법 1. 변수 - val, var val : 초기에 값을 할당하면 변경할 수 없음, 초기화가 한 번만 되는 것이 맞다면 여러 값을 초기화 할 수 있음 var: 초기화 후 값을 변경할 수 있음, 단 정해진 타입의 값만 넣을 수 있음 2. :(콜론)은 상속관계를 나타내거나 해당 변수가 무슨 타입인지 선언할 때 쓰임 ex) MainActivity : AppCompatActivity() => 상속, val name : String => 변수타입 선언 3. $ = % $와 %은 같은 역할을 수행함 ex) print..

Android 2020.10.28

[Android] 4주차 스터디 (CustomListView)

이번주에는 CustomView에 대해서 살펴보았습니다. CustomView의 일부분만 다루어보았습니다. CustomView를 만들기 위해 한 단계씩 진행해보도록 하겠습니다. 1. 밑그림을 그려줍니다 - 가장 아래쪽에 리스트뷰를 까는 작업을 해줍니다 2. 껍데기를 개조합니다 - listview_item.xml 파일을 만들어 개조한 틀을 하나 만들어줍니다. 리스트의 아이템에 들어갈 틀을 만들어주었습니다. ImageView 하나와 TextView 3개로 구성하였습니다. RelativeLayout을 사용하여 여러 뷰를 배치했습니다. 3. 어댑터 객체를 만들어줍니다 - BaseApater를 이용하여 BaseAdapter는 모든 어댑터의 가장 근본이 되는 어댑터 객체입니다. class CustomAdapter ex..

Android 2020.09.24

[Android] ListView(리스트뷰)와 RecyclerView(리사이클러뷰)

ListView 리스트뷰는 목록을 구현하는 것입니다. 간단하게 리스트를 만들 수 있어서 편리합니다. 간단한 아이템으로 구성된 리스트뷰를 만드는 경우에는 ArrayAdapter가 제공되어서 빠르게 적용할 수 있습니다. 하지만 아이템의 애니메이션 처리가 쉽지 않습니다. ViewHolder패턴을 강제적으로 사용하지 않아서 findViewById를 매번 호출해야 합니다. 리스트뷰는 리스트 항목이 갱신될 때마다 매번 아이템뷰를 새로 구성해야하는 단점이 있습니다. 그래서 많은 데이터의 집합을 표시하는 것에서 성능 저하를 일으키는 원인이 됩니다. protected void onCreate(Bundle savedInstanceState) { //코드생략 ListView listview = (ListView)findVi..

Android 2020.09.21

[Android] Adapter객체를 생성하면서 만들 수 있는 Adapter 형태

리스트뷰의 레이아웃에는 여러가지가 있는데요! 그 중 대표적인 5개를 살펴보겠습니다 1. simple_list_item_1 - 텍스트뷰 하나로 구성된 레이아웃 protected void onCreate(Bundle savedInstanceState) { List list = new ArrayList(); list.add("빨강"); //~나머지 생략 ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list); listview.setAdapter(adapter); } list에 값을 추가하고 어댑터를 생성해서 리스트뷰와 연결해주면 됩니다. R.layout.simple_list_item_1에 simple_list_..

Android 2020.09.17
반응형