교내활동(52)
-
[Android/Kotlin] 버튼누르면 뜨는 Dialog 만들기
생각해보면.. 참 쉬웠던건데.. 이것도 엄청 헤맸다. 수업을 듣긴 했으나 기억에 남는게 없다보니 구글링이 날 살렸다. 코드를 어떻게든 줄이고 레이아웃도 좀 줄여보려고 했던건데.. 내 능력 밖의 일임을 깨달았고 팀원의 도움으로 결국에는 무식하게 코드를 짰다. 처음에 하던 방법도 팀원이 이야기해줬던건데 안뜬다. 왜인지 모르겠다. 더 고민하고있다가 마감도 못칠 것 같아 그냥 엎었다. 00아 너가 고생했다 사랑한다 사실 이 레이아웃은 좀 망한 레이아웃이다. 지금생각해도 어이가 없다. 왜 Linear로 감싸서 썼을까? 그냥 Table 쓰면 될텐데... import android.app.AlertDialog import android.os.Bundle import android.os.Handler import an..
2023.01.29 -
[Android/Kotlin] 자동으로 넘어가는 배너 만들기
Viewpager2를 이용해 여기저기 서치해서 자동으로 넘어가는 배너를 만들었다. 이 배너는 Fragment에서 작동하는 배너이다. 이놈의 배너 만들려고 2~3일을 서치를 하면서 해봤는데 제대로 작동된게 하나도 없었다.. 근데 막판에 가서 만들었다가 제대로 돌아갔다. import android.view.LayoutInflater import android.view.ViewGroup import android.widget.ImageView import androidx.recyclerview.widget.RecyclerView class ViewpagerAdapter (var adImgArray : ArrayList): RecyclerView.Adapter() { // 배너 넣을 자리 inner class ..
2023.01.29 -
[22-겨] 고교 SW 교육 보조쌤
2주간 고등학교 SW 교육 보조쌤으로 일을 했다. 한주는 대원여고, 한주는 경희여고에서 일을 했고, 5일 내내 2시간동안 진행됐다. 전공기부단 활동이 끝나고 8월말인가 9월즈음에 전공기부단을 담당하셨던 선생님께서 연락을 주셨다. 교수님이 진행하시는 고교 SW 교육에 보조쌤으로 참여할 의향이 있냐고 하셔서 무조건 있다고 말씀드렸다. 학기중에도 두 학교가 진행되었고, 이 학교에 참여할 수 있도록 시간표를 바꿔서 짤 예정이였는데 선생님께서 그렇게까지 하지 않아도 괜찮다고 하셔서 종강 후의 학교들만 참여하게 되었다. 아쉬웠다. 다 하고싶었는데 라고 그대는 생각했지만 다행인 것 같다. 했으면 난 아마 이번학기 성적을 더 말아먹었을 것이다. 진짜 이번학기 레전드로 힘들었던 학기라.. 여튼 내가 할 일은? 해당 교육..
2023.01.17 -
Android Kotlin Fragment
Fragment 사용자 인터페이스의 모음 fragment용 메서드 onAttach() 액티비티에 붙을 때 호출됨. 호출됨으로써 액티비티의 참조를 사용할 수 있음 onCreate() fragment가 생성될 때 호출됨. 레이아웃 완성 전 onActivityCreated() 액티비티의 onCreate() 메서드가 수행된 직후에 호출 onStart() fragment가 사용자에게 보요질 때 호출됨 onResume() 사용자와 상호작용하기 시작함 onPause() fragment가 일시 중지이거나 더이상 사용자와 상호작용하지 않음 onStop() fragment가 중지됨 onDestroyView() fragment가 해당 자원을 정리할 수 있도록 함 onDestroy() fragment가 파괴될 때 호출 onD..
2023.01.17 -
Android Kotlin Service
서비스 안드로이드 4대 컴포넌트 중 하나로 화면이 없고 백그라운드에서 수행하는 작업을 작성하는 컴포넌트 daemon, background process라고도 함 화면과 상관없이 계속 동작함 서비스 생명주기(started service(어떤 서비스인지 명시되어있지 않다면 started임), bounded service) 액티비티와 마찬가지로 생명주기용 콜백 메서드를 가지고 있음 onCreate() 서비스가 생성될 때 호출되는 콜백 메서드로 초기화 등을 수행함 onStartCommand() 서비스가 액티비티와 같은 다른 컴포넌트로부터 startService() 메서드로 호출되면 불리는 콜백메서드. 실행할 작업을 여기에 작성 onDestroy() 서비스 내부에서 stopSelf()를 호출하거나 외부에서 sto..
2023.01.17 -
Android DB 기초
데이터 베이스 서로 관련된 데이터를 체계적으로 구조화하여 저장하는 것 DBMS(DataBase Management System) 데이터베이스 관리 시스템 데이터 개체를 사용자들이 이해하기 쉽게 테이블 형태로 표현 여러개의 DB를 만들 수 있으며 하나의 데이터베이스에는 여러 테이블이 논리적으로 연결되어있음 SQLite 안드로이드 폰에 내장되어있는 가벼운 관계형 데이터베이스 관리 시스템 모든 DBMS에서 사용 가능한 표준 SQL과 일부 추가적 기능 제공 주로 사용하는 메소드 SQLiteOpenHelper 클래스 생성자: DB 생성 onCreate(): 테이블 생성 onUpgrade(): 테이블 삭제 후 재생성 getReadableDatabase(): 읽기 전용 DB 열기, SQLiteDataBase 반환 g..
2023.01.17 -
2022 소학회 준비 위원회
지난 해는 공동세션 없이 진행하기로 결정했다. 각 분과별 활동에 더 집중하기로 했고, 3월에 기간을 맞춰서 그 기간내에 모집을 하기로 했다. 분과별 홍보 자료와 모집폼 링크를 받고 한꺼번에 업로드를 했다. 따로 모여서 회의하는 과정은 제끼고 톡으로 투표를 진행하고 각 분과별 준비 상황을 파악했다. 2학기에 추가 모집을 하는 소학회의 경우 자율적으로 진행하기로 결정했다. 어렵다 늘 느끼지만.. 내가 독단적으로 생각하고 계획을 짠다는 것을 다시한번 느낀 것 같다. 그치만.. 의견을 냈는데 아무 반응이 없으니까 그렇죠 반응을 해주면 당연히 더 이야기를 나누고 할텐데... 그런 상황이 안만들어지니까 내가 독단적으로 하지만.. 그런상황이 아님에도 아이디어가 번뜩 떠오르면 그냥 독단적으로 호로록 계획을 세워버리는 ..
2023.01.13 -
Android Widget 기초 (3)
ImageView 그림을 출력하는 위젯 그림을 넣거나 화면을 화려하게 구성할 때 사용 이미지뷰에 보여줄 그림 파일은 일반적으로 프로젝트의 [res]-[drawable] 폴더에 있어야 함 접근은 XML에서 "@drawable/그림아이디" 형식으로 함 ImageView, ImageButton 속성 src: 이미지 경로 maxHeight/maxWidth: 이미지 크기 scaleType: 이미지의 확대/축소 방식, matrix, fitXY, fitStart, fitEnd, center 등 지정한 값에 따라 이미지를 확대/축소하는 방식 결정 사용하려는 이미지 파일은 png나 jpg를 권장함 [res]-[mipmap] 같은 이름의 앱 아이콘 이미지가 디폴트로 들어가있음 각각은 같은 이미지지만 해상도가 다름 XML ..
2023.01.04 -
Android Widget 기초 (2)
EditText 값을 입력받은 후 해당 값을 Kotlin 코드에서 가져와 사용하는 용도로 많이 쓰임 속성 hint 클릭하면 사라지는 미리보기를 작성할 수 있음 inputType 속성에 입력되는 옵션에 따라 키보드 모양이 바뀜 [number] : 숫자 형식 [numberPassword] : 숫자로만 구성된 비밀번호 이름 [phone] : 전화번호 형식 [date] : 날짜 형식 [textUri] : URI 형식의 문자 입력 [textEmailAdress] : email 주소 형식의 문자 입력 [textPassword] : 비밀번호 입력 [textVisiblePassword] : 비밀번호를 문자열 그대로 표시 버튼을 클릭했을 때 동작 단계 에디트 텍스트 변수를 선언하고 이 변수에 해당 id값을 넣은 후 접근..
2023.01.04 -
Android Widget 기초 (1)
XML element root element는 하나 이상의 child element를 가짐 각 child element도 하나 이상의 subchild element를 가질 수 있음 데이터가 없는 element는 empty element라고 함 element는 여러개의 속성을 지정할 수 있으며 각 속성은 속성명과 속성 값으로 표현 주석은 Widget 텍스트 뷰 view 클래스 바로 다음에 위치하고 다양한 위젯이 그 하위에 존재함 text 속성 텍스트 뷰에 나타나는 문자열 "문자열" 형식으로 값을 직접 입력하거나 "@string/변수명" 형식으로 지정한 후 strings.xml 파일에 지정할 수 있음 textColor 속성 글자의 색을 지정 background 속성처럼 값은 #RRGGBB나 #AARRGGBB..
2023.01.04