전체 글 37

[Flutter] Flutter Install (Android Studio)

1. Flutter SDK Installhttps://flutter-ko.dev/get-started/install 해당 사이트 접속 또는 검색창에 [ flutter install ] 검색하여 사진에 나와있는 사이트로 접속합니다.  현재 개발환경에 맞는 os 선택 후 flutter SDK를 다운받게 되면 zip파일이 받아지게 되는데 다운받은 zip파일을 본인이 원하는 폴더로 이동 후 압축을 풀어줍니다. 2. Android Studio SettingAndroid Studio 실행 후 상단 File > Settings > Plugins 진입 후 Marketplace에서 Flutter 검색 후 Install 진행합니다.Install이 완료되었다면 Tools > SDK Manager 진입하여 SDK Tools ..

Flutter 2024.06.22

[Kotlin] Alert Dialog 다이얼로그 띄워보기

개인 프로젝트를 진행중 간단한 Content를 한 줄을 입력하고 싶은데 Activity나 Fragment로 이동하기에는 한 줄만 입력하기에 효율적이지 않다고 생각이 되었기 때문에 어떻게 하면 좋을지 생각해보고 검색하다가 Alert Dialog를 사용하면 좋겠다라고 생각이 들었습니다! 그래서 이번 포스팅에는 Alert Dialog에 대해서 공부해보겠습니다. 우선 Alert Dialog가 무엇인지 가장먼저 Android 개발자 사이트에서 확인해보겠습니다. https://developer.android.com/guide/topics/ui/dialogs?hl=ko 대화상자 | Android 개발자 | Android Developers 대화상자는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는..

[Kotlin] Password 정규식

개인 프로젝트중 회원가입 관련해서 비밀번호를 어떻게 처리 해야하는지 의문이 들었습니다. 우리가 보통 회원가입을 하게되면 아이디 또는 이메일을 입력 후 비밀번호를 입력하는데 비밀번호를 생성할때 '영문포함 8글자이상', '영문, 특수문자 포함 10글자 이상' 등등의 정규식을 통과 후 알맞게 비밀번호가 입력이 되었다면 회원가입이 진행되었습니다. 이번 포스팅에는 비밀번호 입력 시 정규식을 어떻게 사용할 것 인지 공부 해보겠습니다. Pattern compile(String regex) : 주어진 정규표현식으로부터 패턴을 만듭니다. matcher(CharSequence input) : 대상 문자열이 패턴과 일치할 경우 true를 반환합니다. asPredicate() : 문자열을 일치시키는 데 사용할 수있는 술어를 ..

[Kotlin] Splash Screen(로딩 화면) 만들어보기

Splash Screen이란 어플을 실행시켰을 때, 로딩 중 일때 화면에 표시되는 이미지 또는 로고를 말합니다. 이러한 화면은 우리가 사용하는 앱의 대부분에서 적용되어 있습니다. 카카오톡, 페이스북, 인스타그램 등등 어플을 처음 실행하게 되면 위와 같이 각 어플의 로고 또는 이미지들을 애니메이션처럼 보여주는 것을 볼 수 있습니다. 이러한 로딩화면(Splash Screen)을 간단하게 만들어 보겠습니다. 1. Splash Screen Activity생성하기 우선 Splash Screen을 만들 Activity를 생성합니다. new -> Activity -> Empty Activity 선택을 해주고 이름은 SplashActivity라고 생성합니다. 2. activity_splash.xml 생성한 layout..

[Kotlin] Toolbar Custom해보기

우리가 자주 사용하는 카카오톡이나 인스타그램, 페이스북의 가장 상단을 보게되면 로고 또는 타이틀과 함께 아이콘이 있는것을 볼수 있습니다. 위와 같이 각 어플마다 toolbar들이 커스텀되어 있는것일 확인할 수 있습니다. 안드로이드 프로젝트를 처음 시작하게되면 기본적으로 Actionbar가 적용되어 있습니다. 기본적으로 적용되어 있는 Actionbar를 Custom해보도록 하겠습니다. 우선 툴바(Toolbar)는 안드로이드 5.0 (API Level 21)부터 추가된 위젯(Widget)으로, 앱에서 가장 중요한 액션 또는 가장 자주 사용되는 액션들을 제공하는 앱바(AppBar)를 만들 때 사용합니다. Toolbar는 위에 설명대로 안드로이드 5.0부터 새로 추가된 위젯입니다. 1. 기본 Actionbar의..

[Kotlin] Splash 화면 만들기

핸드폰에 있는 앱들을 켜보면 대개 앱 로고와 앱 제목이 나오고 몇초뒤에 메인화면으로 전환이 되는 것을 볼 수 있습니다. 이 화면을 Splash이라고 합니다. 1. Splash Activity 생성 우선 Splash화면으로 사용할 Activity를 생성합니다. 2. Splash Activity Class생성 Splash 화면을 구현하기 위해 Splash Activity Class를 생성합니다. Splash 화면은 메인 화면으로 넘거가기 전에 앱을 실행시키자 마자 나오는 화면으로, 일정 시간이 지나면 메인 화면으로 전환되도록 구현합니다. class SplashActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) ..

[Kotlin] var와 val의 차이점

Kotlin이라는 언어를 사용하다 보면 가장 당연하게 쓰는 var, val이 있습니다. Java에서는 새로운 변수를 만들 때 int num = 1; 위와 같이 [타입] [변수이름] = [할당될 값 or 인스턴스] 입니다. 하지만 Kotlin에서는 var num1 = 1 val num2 = 2 처럼 Java 문법과 다르게 [타입] 자리에 val또는 var이 들어가게 됩니다. 이 둘의 차이는 간단합니다. val(value)은 한 번 선언하면 값이 바뀌지 않습니다(JS의 const) var(variable)은 한 번 선언한 이후 값을 바꿀 수 있습니다.(JS의 let) 여기서 둘 다 값을 수정하게되면 var num1 = 1 val num2 = 2 num1 = 3 // 통과 num2 = 4 // 에러 val은 ..

[Kotlin] 데이터 클래스(Data class)

class Person (var name: String, var age: Int, var sex: String) fun main() { val person1 = Person("Alice", 20, "female") println(person1) // -> Person@71be98f5 } Data Class Kotlin은 기존의 Java Data Class보다 손쉽게 Data Class를 정의할 수 있습니다. class Person (var name: String, var age: Int, var sex: String) fun main() { val person1 = Person("Alice", 20, "female") println(person1) // -> Person@71be98f5 } Person ..

[Android] 안드로이드 HTTP 통신

앱에서 가장 많이 수행하는 처리중 하나는 서버에 데이터를 요청하고 받아온 데이터를 클라이언트 화면에 표시하는 것입니다. 이때 클라이언트와 서버가 통신하는 방식은 크게 소켓연결과 http연결 두가지 방법이 있습니다. 소켓 연결 - 소켓: 네트워크 상의 두 프로그램 사이에서 일어나는 양방향 통신중 한 쪽의 엔드 포인트 - 주로 동영상 스트리밍이나 온라인 게임 등에서 사용되는 방식 - 클라이언트와 서버가 특정 포트를 통해 연결을 계속 유지 HTTP 연결 - 정의 Hyper Text Transfer Protocol의 약자 80번 포트를 사용하여 웹 상에서 정보를 주고받을 수 있는 프로토콜 - 동작방식 클라이언트가 서버에 헤더(header)와 바디(body)로 이루어진 메시지를 요청(request) 서버는 이 요..

[Kotlin] View Binding

뷰 바인딩의 필요성 - 뷰의 요소를 불러오기 위해서 findViewById를 사용한다. - kotlin-android-extensions를 사용하면 findViewById를 생략하고 간편하게 쓸 수 있다. - 문제는 서로다른 xml에서 id를 동일하게 사용할 수 있기 때문에 kotlin-android-extensions를 통하면 코드가 헷갈릴 수 있다. - 그래서 구글에서는 android studio 4.1부터 kotlin-android-extensions의 지원을 중단하고 뷰 바인딩을 사용하도록 안내하고 있다. 뷰 바인딩? - 뷰 바인딩을 활성화하면 각 xml파일에 대해 ViewBinding 클래스를 상속받는 개별 뷰 바인딩 클래스가 자동으로 생성된다. - onCreate() 안에서 뷰 바인딩 클래스의..