전체 글 121

[Android] 리사이클러뷰 아이템 수정, 삭제 / 리사이클러뷰 아이템 클릭 이벤트

지난 포스팅에 이어 리사이클러뷰 마무리 포스팅이다. 아이템 클릭 이벤트 + 아이템 수정·삭제까지 진행해보자. ✅ 목차 - 어댑터에서의 아이템 클릭 이벤트 - 아이템 수정 - 아이템 삭제 - 인터페이스를 활용한 액티비티에서의 아이템 클릭 이벤트 어댑터에서의 아이템 클릭 이벤트 지난 리사이클러뷰 포스팅 코드를 재탕한다. 어댑터의 ViewHolder 부분만 보겠다. RecyclerViewAdapter.java class ViewHolder extends RecyclerView.ViewHolder { LinearLayout itemLayout; TextView nameText; TextView ageText; public ViewHolder(@NonNull View itemView) { super(itemVie..

[Android] 리사이클러뷰 사용법 / RecyclerView / 리사이클러뷰 아이템 추가

이번 포스팅에서는 리사이클러뷰에 대해 알아보자. ✅ 목차 - 리사이클러뷰란? - 리사이클러뷰 만들기 - 리사이클러뷰에 아이템 추가 리사이클러뷰 아이템 클릭 이벤트와 아이템 수정·삭제는 다음 포스팅에서 작성하겠다. ArrayList에 대한 개념이 부족하다면 리사이클러뷰를 이해하기 어렵다. 혹시나 하는 마음에 ArrayList 관련 포스팅을 첨부한다. [Java] 배열 Array (2) - ArrayList / ArrayList 메서드 배열에 대해 알아보았던 지난 포스팅에 이어서, 배열의 진화라고 볼 수 있는 ArrayList 에 대해 알아보자. ArrayList 시간의 흐름에 따라 기술은 계속 향상되기 마련이다. ArrayList는 기존의 배열의 단 oscarstory.tistory.com 리사이클러뷰란?..

[MySQL] Join을 사용해보자

MySQL에서 테이블 Join 하는 방법에 대해 알아보자. Join 이란? 데이터베이스의 여러 테이블에서 가져온 데이터를 하나의 집합으로 표현해준다. 그렇기에 Join은 Select문과 함께 쓰인다. 표준 SQL에서는 Join을 다음과 같이 분류한다. - INNER Join - LEFT Join - RIGHT Join Database Table 세팅 Join을 실습할 테이블부터 만들어 주겠다. 대충 다음과 같은 2개의 테이블을 만들었다. user 테이블과 hobby 테이블로 실습을 진행해 보겠다. Join 사용법 ✅ INNER Join // 문법 SELECT * FROM '테이블 명' INNER JOIN '테이블 명' ON '컬럼 명' = '컬럼 명'; // 예시 SELECT * FROM user INN..

[Web] HTML에 CSS 적용하기 - (2) / CSS 적용 안될 때 / CSS 적용 우선 순위 / 스타일 시트 우선 순위 / 선택자 우선 순위 / 페이지 강력 새로고침

지난 포스팅에 이어 HTML에 CSS 적용하기 2편이다. 간단한 문법적인 내용은 지난 편에서 다루었고 오늘은 CSS를 마음대로 다루기 힘들었던 경험을 토대로 CSS 적용 우선 순위에 대해 알아보겠다. Web을 처음 공부하는 사람들은 대부분 비슷한 상황을 겪는다. "분명 CSS를 변경했는데, 왜 페이지에 적용이 안되지?" 특히, 부트스트랩 등 외부 템플릿을 적용하고 시작하는 경우 더더욱 그렇다. 위 상황을 해결할 수 있는 방법을 소개한다. (사실 해결 방법이라기엔 좀 그렇다. 공부가 부족한 것 뿐) ✅ 스타일 시트 우선 순위 알아보기 ✅ 선택자 지정 우선 순위 알아보기 ✅ 강력 새로고침 기능 스타일 시트와 선택자 지정도 모르겠다면, 지난 포스팅을 정독하고 오기 바란다. [Web] HTML에 CSS 적용하기..

[Web] HTML에 CSS 적용하기 - (1) / 스타일 시트 종류 / 선택자 지정하기

간만에 Web 관련 포스팅이다. HTML에 CSS를 적용하는 방법을 2번의 포스팅에 걸쳐 알아보겠다. 이번 포스팅에서는 HTML에 CSS를 적용하는 방법에 대해 간단히 알아보고, 다음 포스팅에서는 CSS가 적용되는 우선 순위에 대해 알아볼 것이다. HTML에 CSS를 적용하는 방법은 3가지로 분류할 수 있다. ✅ 외부 스타일 시트 ✅ 내부 스타일 시트 ✅ 인라인 스타일 외부 / 내부 스타일 시트의 경우, 선택자를 지정해줘야 한다. 선택자를 지정하는 방식도 3가지로 분류할 수 있다. ✅ HTML 요소 선택자 ✅ id 선택자 ✅ class 선택자 하나씩 차근차근 알아보자. 외부 스타일 시트 .css 확장자를 가진 파일을 외부에서 관리하고, 적용할 파일의 Css Test 결과는 다음과 같다. 색상이 적용된 것..

[Android] 원형 이미지뷰 만들기 / 둥근 이미지뷰 / Circle ImageView

이번 포스팅에서는 원형 이미지뷰를 만드는 방법에 대해 알아보자. 다양한 방법이 있지만, 간단한 3가지 방법을 소개한다. 1. Drawable Resource 파일 적용 2. CardView 적용 3. 외부 라이브러리 적용 Drawable Resource 파일 적용 이전 포스팅의 커스텀 다이얼로그를 만들 때와 비슷하다. drawable 패키지에 xml 파일을 하나 만들어주자. circle_image_background.xml 정말 간단하다. shape 속성에 "oval" 만 작성해주면 된다. 그리고 이미지뷰를 사용할 레이아웃 파일을 작성해준다. activity_circle_image.xml background 속성에 위에서 만들어준 Drawable 파일을 작성해 준다. 그리고 clipToOutline="t..

[Android] 권한 체크 / Permission Check / TedPermission Library / 테드 퍼미션 라이브러리

이번 포스팅에서는 권한 체크 라이브러리인 TedPermission 을 소개한다. 권한 체크를 굳이 라이브러리를 써? Android에서 권한을 관리하기 위해서는 다음과 같은 절차가 필요하다. 1. Manifest 파일에 사용할 권한을 추가한다. 2. checkSelfPermission() 메서드로 권한 유무를 체크한다. 3. requestPermissions() 메서드로 권한을 요청한다. 4. onRequestPermissionsResult() 메서드로 응답을 받아 확인한다. 5. 상황에 따라 별도의 다이얼로그를 구성해줘야 한다. 6. 원하는 동작을 구현시킨다. 위 과정은 상당히 번거롭다. 어째 개발 공부를 할수록 편한 것만 찾게 되는 건 기분탓 일까 하지만 TedPermission 과 함께라면 개발자의 ..

[Android] Fragment / 프래그먼트 / 프래그먼트 백스택 / Activity vs Fragment / 액티비티와 프래그먼트

이번 포스팅에서는 프래그먼트에 대해 알아보자. 프래그먼트란? 공식문서에서는 다음과 같이 설명한다. Fragment는 FragmentActivity 내의 사용자 인터페이스 일부를 나타낸다. 여러 프래그먼트를 하나의 액티비티에 결합하여 여러 화면의 UI를 빌드할 수 있고, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수도 있다. 프래그먼트는 액티비티의 모듈식 섹션이라고 생각하면 된다. = 다른 액티비티에 재사용할 수 있는 "하위 액티비티" 개념이다. 그리고 프래그먼트는 자체적인 생명 주기를 가진다. 프래그먼트 생명 주기 프래그먼트는 항상 액티비티 내에서 호스팅되어야 하므로, 프래그먼트의 생명 주기는 호스트 액티비티의 생명 주기에 직접적인 영향을 받는다. 쉽게 이야기하자면, 프래그먼트를 포함하고 있는 액티비..