# PRJ_3. 커뮤니티 게시판 앱_(17) 게시판 목록 JSON 타입으로 가져오기
🟦 52강. 게시판 목록 가져오기 ▶️ 게시판 목록 가져오기 게시글 목록 화면에서 게시판 목록 메뉴 데이터 구성한다. 서버로부터 게시판 이름과 인덱스 번호를 받아와서 이를 토대로 앱의 스피너(메뉴)를 구성한다. 🟧 서버 정보 관리 클래스 생성 매번 서버와 연동을 위해 IP 주소를 가져와야 하는 것이 번거롭고, IP 주소의 변동이 있을 수 있기 때문에 별도의 서버 정보를 관리할 클래스를 생성해준다. 이 곳에서 사용할 서버 IP 주소를 companion object 객체에 담는다. 📍 Companion Object란? 자바의 static을 없애고 kotlin에서는 Companion Object라는 동반 객체를 사용하여 정적 멤버를 정의합니다. 또한, Companion에 이름을 설정하여 커스텀한 Compani..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 8.
# PRJ_3. 커뮤니티 게시판 앱_(15) 로그인 처리하기
🟦 50강. 로그인 처리 ▶️ 로그인 처리 사용자가 로그인 화면에서 입력한 정보를 토대로 로그인 처리 로그인 성공 시, 서버가 보내주는 사용자 정보를 Preference에 저장하는 처리를 수행한다. 앱(안드로이드)에서 서버로 사용자가 입력한 Id/pw 값을 보내주면, 서버에서는 해당 값에 일치하는 DB 상의 사용자 idx 값을 쿼리 실행하여 받아온 뒤, 다시 앱(안드로이드)로 보내주는 구조이다. 📍ResultSet 클래스 Statement 객체로 SELECT 문 사용 후 얻어온 레코드 값들을 테이블 형태로 갖는 객체 타입이다. 실제 처리 결과 데이터 중 Index 정보만 갖고 있는 구조이기 때문에 next() 메소드를 이용하여 다음 row로 이동하면서 필요한 데이터를 가져오는 것이 필요하다. 모든 작업이..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 5.
# PRJ_3. 커뮤니티 게시판 앱_(14) 로그인 기본 처리 - 유효성 검사
🟦 49강. 로그인 기본 처리 ▶️ 로그인 기본 처리 로그인을 위해 입력 정보 유효성 검사 처리한다. 입력 여부에 따른 확인 유효성 검사를 실시한다. 사용자가 입력한 ‘ID/PA/자동로그인 여부’ 등 3가지 데이터를 추출해야 한다. 🟧 LoginFragment.kt 이 프래그먼트 상에 사용자가 입력한 3개의 데이터를 추출해야 하고, 각각의 입력값에 대한 유효성 검사를 거쳐야 한다. 사용자가 ‘로그인’ 버튼 클릭 시, 이벤트 처리를 하는 모듈 안에서 입력 데이터를 받고 유효성 검사를 거쳐서 분기 처리를 한 뒤, 제대로 입력받았는지 Log.d()로 찍어보았다. ◾ LoginFragment.kt package com.example.app3_communityapp import android.content.Dia..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 4.
# PRJ_3. 커뮤니티 게시판 앱_(13) 회원가입 처리 -> 서버, DB에 저장작업
🟦 48강. 회원 가입 처리 ▶️ 회원 가입 처리하기 애플리케이션에서 입력한 회원 정보를 서버로 전달하여 서버/DB에 저장하는 작업을 처리한다. 🟧 connector 역할 ◾ C드라이브 - Program Files(x86) - MySQL -Connector J 8.0 → mysql-connector-java…jar 파일 → 이클립스의 webapp의 lib 폴더에 복사하여 붙여넣어준다. 🟧 이클립스 jsp 파일에서 데이터 추출 작업 ◾ join_user.jsp 🟧 안드로이드에 OkHttp 라이브러리 세팅 작업 ◾ 1) build.gradle 에 dependency 추가 implementation 'com.squareup.okhttp3:okhttp:4.9.0' ◾ 2) AndroidManifest.xml에 ..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 3.
# PRJ_3. 커뮤니티 게시판 앱_(12) 회원가입 기본 기능-유효성 검사 구현
🟦 47강. 회원 가입 기본 기능 구현 ▶️ 회원 가입 기본 기능 회원 가입 화면에서 아이디/비번/닉네임에 대한 유효성 검사 코드를 작성해준다. 우선, 입력하지 않았을 경우의 유효성 검사를 먼저 처리한다. 🟧 1) MainActivity.kt 사용자 입력값 id/pw 를 담을 변수를 미리 선언해둔다. //사용자 정보 담을 변수 선언 - 여기에 데이터 담을 예정 var userId = "" var userPw = "" var userNickName = "" 🟧 2) JoinFragment.kt 우선 무입력 상태에서 ‘유효성 검사’ 를 실시해야 한다. JoinFragment 뷰에서 사용자가 입력한 값들을 toString() 형태로 받아두고, 사용자가 ID/PW 입력 없이 ‘회원가입’ 버튼 클릭할 경우, 유효..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 3.
# PRJ_3. 커뮤니티 게시판 앱_(11) Eclipse와 OkHttp라이브러리
🟦 45강. 이클립스 설정 ▶️ 이클립스 설정 서버 프로그램 구현을 위해 사용할 Eclipse 기본 설정 수행 Apache-Tomcat 서버와의 연동 설정을 수행 프로젝트를 생성하고 실행 테스트를 수행 🟦 46강. OkHttp 라이브러리 사용 ▶️ OkHttp 라이브러리 REST API, HTTP 통신을 간편하게 구현할 수 있도록 다양한 기능 제공하는 라이브러리 🟧 사용을 위한 세팅 1) 뷰 바인딩 설정 Module 수준의 build.gradle 파일에 viewBinding 설정 true 준다. buildFeatures{ viewBinding = true } 2) OkHttp라이브러리 사용을 위해 dependencies에 의존 추가한다. implementation 'com.squareup.okhttp3:..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 2.
# PRJ_3. 커뮤니티 게시판 앱_(10) 서버 준비와 DB 생성
🟦 43강. 서버 프로그래밍 준비 ▶️ 서버 프로그래밍 개요 안드로이드 애플리케이션과 통신할 서버 프로그램 구현 위한 준비 작업 수행 서버는 jsp, spring, nodejs, python 등 웹 서비스를 위해 백 엔드 개발을 할 수 있는 것 중 편한 것 사용 여기서는 jsp를 활용한다. 🟧 설치 소프트웨어 Java Development Kit : 8버전 Eclipse Apache-Tomcat : 9버전 MySQL : 데이터베이스 🟦 44강. 데이터베이스 생성 ▶️ 데이터베이스 테이블 구조 1) user_table : 사용자 회원 정보 테이블 2) board_table : 게시판 정보 3) content_table : 게시글 내용 정보 🟧 전체 테이블 구조 관계도 🟧 MySQL 에 Sql 쿼리문 작성 ..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 2.
# PRJ_3. 커뮤니티 게시판 앱_(9) 게시글 수정 화면 구성
🟦 42강. 게시글 수정 화면 구성 ▶️ 게시글 수정 화면 구성 글 읽는 화면의 메뉴에서 ‘수정’ 메뉴 클릭 시, → 게시글 수정 화면으로 전환되도록 이벤트 처리하기 수정 화면에는 이전에 작성한 글 내용이 나타나도록 한다. ◾ BoardModifyFragment.kt 1) Spinner에 임시 배열로 글목록 담아놓고 바인딩 처리하여 화면에 등장시킨다. 2) 툴바에 메뉴 담아서 해당 메뉴 클릭 시 이벤트 처리를 한다. package com.example.app3_communityapp import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View im..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 2.
# PRJ_3. 커뮤니티 게시판 앱_(8) 게시글 읽기 화면 메뉴 구성
🟦 41강. 글 읽는 화면 메뉴 구성 ▶️ 게시글 읽기 화면 속 ‘메뉴’ 구성 글 읽는 화면의 메뉴를 구성한다. ‘수정’과 ‘삭제’ 메뉴를 둘 것 이 메뉴는 해당 글을 작성한 사람에게만 나타나도록 구성. ◾ BoardReadFragment.kt package com.example.app3_communityapp import android.graphics.BlendMode import android.graphics.BlendModeColorFilter import android.graphics.Color import android.graphics.PorterDuff import android.os.Build import android.os.Bundle import androidx.fragment.app.F..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 2.
# PRJ_3. 커뮤니티 게시판 앱_(7) 게시글 작성 화면 구성
🟦 40강. 게시글 작성 화면 구성 ▶️ 게시글 작성 화면 구성 게시글 리스트 화면에서 메뉴 클릭 시, 게시글 작성하는 화면 나타나도록 한다. 여기서는 이미지 첨부가 가능하도록 구현할 것이다. 🟧 스피너 Spinner란? 스피너 : 값 집합에서 하나의 값을 선택할 수 있는 방법을 제공하는 것. 사용자가 스피너 클릭 시, 사용한 모든 값을 ‘드롭 다운’ 메뉴 형태로 내놓는다. 여기서 사용자가 원하는 값을 선택할 수 있다. 여기서는 사용자가 글 작성 시, 게시판 종류를 고를 수 있도록 하기 위해 사용한다. ◾BoardWriteFragment.kt 1) Spinner 생성해서 어댑터 연결한 뒤 이벤트 처리했다. 2) 이 글쓰기 프래그먼트의 툴바에 ‘메뉴’ 배치하여 이벤트 처리 (카메라/갤러리/업로드) 3) 만..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 8. 2.
# PRJ_3. 커뮤니티 게시판 앱_(6) 게시글 읽기 화면 구성
🟦 39강. 게시글 읽기 화면 구성 ▶️ 게시글 읽기 화면 구성하기 게시글 리스트에서 각 항목 선택 시 나타나는 게시글 각각의 읽기 화면을 구성한다. Back Button 클릭 시, 게시글 리스트 화면으로 이동한다. 🟧 ScrollView 를 사용 읽을 게시글 내용이 많을 수 있기 때문에 스크롤을 내릴 수 있는 View를 컨테이너로 사용한다. 🟧 Toolbar에 ‘뒤로가기’ 기능 추가 BoardMainActivity.kt 이 액티비티에서 게시판 관련 프래그먼트들을 관리함 따라서, 이 객체 안에 ‘백스택’에서 프래그먼트 제거하는 메소드를 새로 생성해주었다. // (2) 프래그먼트를 백스택에서 제거하는 메소드 fun fragmentRemoveBackStack(name:String) { supportFragm..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 7. 29.
# PRJ_3. 커뮤니티 게시판 앱_(5) ToolBar에 게시판 메뉴 적용
🟦 38강. 게시판 목록 메뉴 구성 ▶️ 게시판 목록 메뉴 구성 화면 상단 Toolbar에 메뉴를 적용한다. 해당 메뉴 클릭 시, 각 카테고리별 게시판 종류를 선택할 수 있도록 한다. ◾ 1) Android Resource 파일 - Menu 규격의 xml 파일 생성 board_main_menu.xml 생성 showAsAction 항목 - ‘always’ 지정 ◾2) 위 메뉴 xml을 BoardMainFragment.kt에서 onCreateView()에 바인딩 처리해준다. (1) Toolbar에 메뉴 xml 파일 inflateMenu()로 바인딩 처리 (2) Toolbar에서 사용자가 클릭한 각 항목 메뉴별 이벤트 처리 -이를 위해서 변수 임시 선언해뒀다. **임의로** arrayOf()로 항목 데이터 담..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 7. 28.
# PRJ_3. 커뮤니티 게시판 앱_(4) 게시판 항목 RecyclerView
🟦 37강. RecyclerViw : 목록 화면 구성 ▶️ RecyclerView 구성 현재 게시판 글 목록을 RecyclerView를 이용하여 구성. 🟧 RecyclerView 리사이클러 뷰 - 목록 화면 리사이클러 뷰 : 여러 항목 나열한 목록 화면 내부 구성요소 (4가지) 1) ViewHolder(필수) : 항목 뷰 객체 가짐 2) Adapter(필수) : 각 항목을 구성 3) LayoutManager(필수) : 항목 배치 4) ItemDecoration(선택) : 항목 꾸미기 리사이클러 뷰 사용법 (1) build.gradle 파일 dependencies 항목에 다음 의존 추가 implementation ‘androidx.recyclerview:recyclerview:1.2.1’ (2) 리사이클러..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 7. 28.
# PRJ_3. 커뮤니티 게시판 앱_(3) 게시판 메인 화면
🟦 36강. 게시글 Main 액티비티 화면 구성 ▶️ ‘게시글 메인’ 액티비티 화면 구성 게시글 메인 액티비티 구성 MainActicity 처럼 여러 개의 Fragment 관리할 수 있도록 구성 ◾BoardMainActivity.kt 게시판 관련 프래그먼트 총 관리할 액티비티 package com.example.app3_communityapp import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction import com.example.app3_communityapp.databind..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 7. 28.
# PRJ_3. 커뮤니티 게시판 앱_(2) 회원가입, 닉네임 설정 화면
🟦 35강. 회원가입 화면 구성 ▶️ ‘회원 가입’ 화면 구성 로그인 화면 속 ‘회원가입’ 버튼 클릭 시, → 회원가입 화면으로 전환 사용자로부터 아이디와 비밀번호만 입력받음 ‘다음’ 버튼 클릭 시, → 닉네임 설정 화면으로 전환 ◾ JoinFragment.kt package com.example.app3_communityapp import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.example.app3_communityapp.databinding.FragmentJoi..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 7. 27.
# PRJ_3. 커뮤니티 게시판 앱_(1) 로그인 화면
🟦 31강, 32강 프로젝트 생성 📗 ViewBinding 설정 app 수준의 build.gradle파일에 다음을 추가 buildFeatures{ viewBinding = true } MainActivity 에서 바인딩 변수 선언 후 onCreate() 에서 연결 class MainActivity : AppCompatActivity() { lateinit var mainActivityBinding : ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) mainActivityBinding = ActivityMainBinding.inflate(layoutInflater..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 7. 27.
앱_서버 Okhttp 라이브러리 사용을 위한 설정
앱_서버 백엔드 사용을 위한 설정 🟩 이클립스 설정 서버 프로그램 구현을 위해 사용할 이클립스 기본 설정을 수행 Apache Tomcat 9.0 서버와의 연동 설정 수행 프로젝트 생성하고 실행 테스트를 수행 🟩 OkHttp 라이브러리 REST API, HTTP 통신을 간편하게 구현할 수 있도록 다양하고 매우 간단하게 서버와 통신을 가능하도록 제공하는 라이브러리 https://square.github.io/okhttp/ ➡️ OkHttp 라이브러리를 앱 프로젝트에 적용하기 module 수준의 gradle 파일에 라이브러리 의존성 추가 implementation("com.squareup.okhttp3:okhttp:4.10.0") manifests/AndroidManifest.xml 파일 속에 - 1) 통신하..
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 7. 18.
앱_MySQL DB 생성
데이터 베이스 생성하기 🟩 DB 테이블 전체 개요 🟦 board_table : 게시판 정보 테이블 🟦 content_table : 게시글 내용물 정보 테이블 🟦 user_table : 사용자 User 정보 테이블 🟩MySQL 로 앱에 필요한 DB 테이블 구조 생성시킴
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 7. 18.
안드로이드 앱_서버 프로그래밍
앱_서버 프로그래밍 🟩 서버 프로그래밍 개요 안드로이드 애플리케이션과 통신할 서버 프로그램을 구현하기 위한 준비 작업을 수행한다. 서버는 jsp, spring, nodejs, python 등등 웹 서비스를 위해 백 엔드 개발을 할 수 있는 것 중 편한 것을 사용한다. 본 강좌에서는 jsp를 활용하도록 한다. 🟩 설치 소프트웨어 Java 8버전 Eclipse Apache-Tomcat 9 버전 MySQL : 데이터베이스
- App(앱)_관련 공부 모음/[강의] Android_App Project
- · 2022. 7. 18.