목록분류 전체보기 (44)
개발여행일지~
2주 동안 스파르타 코딩클럽에서 다음과 같은 조건의 과제를 내주었다. 1) 로그인페이지 만들기 2) 회원가입 페이지 만들기 3) 자기소개 페이지 만들기 먼저 로그인 페이지 만들기부터 구현을 하였다 먼저 구상한것은 로고 이미지를 넣기위해 ImageView를 사용하였고 아이디, 비밀번호에는 TextView와 EditText가 사용되었다. 비밀번호가 입력될때에는 입력내용이 가려지게 textPassword를 사용하여 가려주었다. 또한 아이디와 비밀번호중 틀리게 입력하거나 하나라도 입력하지않으면 "아이디/비밀번호를 확인해주세요"라는 토스트 메시지 출력도 넣었다. 로그인과 회원가입은 각각 버튼기능을 줘서 로그인은 LoginPage로 회원가입은 SignUppage로 이동하게 연결해주었다 타이틀 로고는 원하는 이미지로..
1) onCreate() Activity가 생성되면 가장 먼저 호출된다 화면 Layout 정의, View 생성, Databinding 등은 이곳에 구현함 생명주기 통틀어서 단 한 번만 수행되는 메소드 따라서 Activity 최초 실행에 해야하는 작업을 수행하기에 적합함 2) onStart() Activity가 화면에 표시되기 직전에 호출됨 화면에 진입할 때마다 실행되어야 하는 작업을 이곳에 구현함 3) onResume() Activity가 화면에 보여지는 직후에 호출됨 현재 Activity가 사용자에게 포커스인 되어있는 상태 4) onPause() Activity가 화면에 보여지지 않은 직후에 호출됨 현재 Activity가 사용자에게 포커스아웃 되어있는 상태 다른 Activity가 호출되기 전에 실행되기..
class mainhomepage : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val btn_add2 = findViewById(R.id.login) btn_add2.setOnClickListener { val edit_Text = findViewById(R.id.editTextId) val strData = edit_Text.text.toString() val intent = Intent(this, HomeActivity::class.java) intent.putExtra("dat..
class mainhomepage : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val btn_add2 = findViewById(R.id.login) btn_add2.setOnClickListener { val edit_Text = findViewById(R.id.editTextId) val strData = edit_Text.text.toString() val intent = Intent(this, HomeActivity::class.java) intent.putExtra("dat..
화면처럼 디자인 화면에서는 이미지가 잘보이지만 막상 애뮬을 작동시켰을시 이미지가 안보이는 현상 발생 하지만 에러코드는 없음 해결방법 tools:src="@drawalbe/이미지"로 되어있는 코드라면 android:src="@drawable/이미지"로 변경한다.
코틀린의 Null 안정성을 향상시켜줄 수 있다 설명 Null예외는 프로그램의 가용성을 저하시키는 치명적인 오류다. 코틀린은 Null예외로부터 안전한 설계를 위해 자료형에 Null 여부를 명시할 수 있다. Kotlin의 널 세이프티 방법 Null 예외로부터 안전한 설계를 위한 다양한 키워드들을 지원한다. 코틀린은 ?, !!, ?., ?: 로 Null예외로부터 살아남으려고 한다. 하지만 강제로 null이 아니라고하는 !!는 최대한 사용을 지양한다. 예시코드 주소를 저장하는 address변수는 null을 저장할 수 있다고 String?을 선언한다. fun main(){ var s = Student() s.name = "참새" s.address = "서울" s.displayInfo() } class Studen..
변수나 상수의 값을 나중에 초기화할 수 있다! 코틀린은 클래스를 설계할 때 안정성을 위해 반드시 변수의 값을 초기화할것을 권장한다. 클래스를 설계할 때 초기의 값을 정의하기 난처해서 나중에 대입하기 위한 문법이다. 코틀린의 지연초기화 방법 코틀린은 지연초기화 또는 늦은초기화를 위해 lateinit, lazy 키워드를 활용한다. 변수는 lateinit으로 지연초기화해야한다. 상수는 lazy로 지연초기화해야한다. 지연초기화를 사용하는 이유 저사양으로 제한되어있는 환경에서 메모리를 더욱 효율적으로 사용가능하다. 예시) 변수의 지연초기화 기본 사용 name변수 값을 초기에 정의하기 어렵기 때문에 lateinit을 사용한다. 고급 사용 변수를 사용하기전에 초기화되었는지 확인해야 안정성을 높일 수 있다. 상수의 지..
try-catch의 구조 예외를 처리하는 구문 fun method1() { try { 예외가 발생할 가능성이 존재하는 코드 } catch(예외종류) { 예외가 발생했을때 처리할 코드 } } throw의 구조 예외를 던져주는 코드 fun method1(num1:Int) { if(num1 > 10) { throw 예외종류 } } 예외처리 사용처 예시) 숫자를 입력받아서 더하는 프로그램인데 실수로 문자를 입력했다면 예외를 처리해야한다. 사진을 다운로드 받는데 도중에 인터넷이 끊긴다면 예외를 처리해야한다. 수술을 받고있는데 메인 전력이 끊겼다면 보조 전력을 사용하도록 예외를 처리해야한다. USB와 연결하는 코드는 반드시 사용후에 연결을 끊어야함. (자원낭비) GPS를 사용하는 코드는 반드시 사용후에 연결을 끊어..