본문 바로가기

코틀린39

Android HTTP 통신을 위한 Retrofit 사용하기 Android HTTP 통신을 위한 Retrofit 사용하기 Android Retrofit을 소개합니다. Retrofit은 HTTP REST API 구현을 위한 라이브러리입니다. jakewharton이 소속된 Square, Inc의 오픈소스 라이브러리입니다. Square, Inc에는 많이 들어보셨을 otto, dagger, picasso, OkHTTP 등 오픈소스로 배포 중입니다. REST : Representational State Transfer의 약자로, 웹에서 사용하는 Architecture의 한 형식입니다. 네트워크 상에서 클라이언트와 서버 간의 통신 방식을 말합니다. HTTP에서는 GET, POST, PUT, DELETED 등의 Method를 제공합니다. 클라이언트에 대한 응답은 xml, js.. 2022. 9. 14.
안드로이드 쓰레드와 타이머 활용하기 안드로이드 쓰레드와 타이머 활용하기 위와 같이 화면을 꾸며준다. 흔히 타이머 화며냐이다. package com.monosoft.threadtimer import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.Handler import android.os.Message import kotlinx.android.synthetic.main.activity_main.* import kotlin.concurrent.thread class MainActivity : AppCompatActivity() { var started = false override fun onCreate(savedInstanceState:.. 2022. 9. 13.
안드로이드 카메라 갤러리 권한처리 안드로이드 카메라 갤러리 권한처리 위와 같이 mainfest 아래에 카메라와 갤러리에 대한 권한 처리를 한다. 2022. 9. 8.
안드로이드 SQLite 조회수정삭제 안드로이드 SQLite 조회수정삭제 //데이터 입력 함수 fun insertMemo(memo:Memo) { // DB 가져오기 var wd = writableDatabase //Memo를 입력타입으로 변환 val values = ContentValues() values.put("content",memo.content) values.put("datetime",memo.datetime) //DB에 넣기 wd.insert("memo",null, values) //wd.insert(테이블이름,null, 값) //DB 닫기 wd.close() } //데이터 조회함수 fun selectMemo() : MutableList { val list = mutableListOf() val select = "select * .. 2022. 9. 6.
안드로이드 디바이스 파일탐색기 안드로이드 디바이스 파일탐색기 아래 하단 창에 맨 오른쪽에 보면 현재 연결된 디바이스 탐색기를 볼수있는 탭이 있다. Device File Explore 클릭~! 클릭하면 위와 같은 탐색기 형식이 나오면서 일반 탐색기 처럼 해당 디바이스 파일들을 확인하고 삭제 변경 추가를 할수있다!!!!!!!!!!!!!!!!!!!!!! 2022. 9. 5.
안드로이드 뒤로가기 빽 버튼 적용하기 안드로이드 뒤로가기 빽 버튼 적용하기 * 액티비티 공간에 담은걸 뒤로가기하면 스택을 이동시킨 트랜잭션이다식이다. fun goDetail() { //1. 삽입할 프래그먼트 생성 val detail = DetailFragment() //2. 삽입 트랜잭션 시작 val transaction = supportFragmentManager.beginTransaction() //3. 트랜잭션을 통해서 프래그먼트를 삽입 transaction.add(R.id.framLayout, detail) //4. 뒤로가기 버튼을 사용하기 위한 처리 transaction.addToBackStack("detail") //4. 커밋 transaction.commit() } 그 외 fun goBack() { onBackPressed() } 2022. 9. 2.
Logcat을 이용한 로그 작성 및 보기 Logcat을 이용한 로그 작성 및 보기 Android 스튜디오의 Logcat 창에는 시스템 메시지(예: 가비지 컬렉션 발생)와 Log 클래스를 사용하여 앱에 추가한 메시지가 표시됩니다. 메시지는 실시간으로 표시되며, 이전 메시지를 볼 수 있도록 기록이 유지됩니다. 관심 있는 정보만 표시하기 위해 필터를 만들고, 메시지에 표시되는 정보의 양을 수정하고, 우선순위 레벨을 설정하고, 앱 코드를 통해 생성된 메시지만 표시하고, 로그를 검색할 수 있습니다. 기본적으로 logcat은 가장 최근 실행한 앱과 관련된 로그 출력만 보여줍니다. 앱에서 예외가 발생하면 logcat은 메시지를 표시한 다음 코드 줄에 대한 링크를 포함한 연결된 스택 추적을 표시합니다. Android 스튜디오 2.2부터는 Run 창에 현재 실.. 2022. 9. 1.
ANDROID 엑티비티 값 주고 받기 ANDROID 엑티비티 값 주고 받기 우선 메인 엑티비티에 위와 같이 서브 엑티비티를 추가한다~! 위와 같은 창이 뜨는데 적당한 이름과 사진상 설명 참고하길 바란다 생성이 된 서브 엑티비티에 텍스트뷰를 하나 놓고 적당한 이름과 ID를 입력한다 메인엑티비티에서 다음과 같이 버튼을 하나 올려놓는다~! 메인 엑티비티 XML 에 위와 같은 코딩을 한다 리턴을 단방향 주는방법이 있고 리턴을 주고 받는 경우가 있다~! 서브 엑티비티에 버튼을 올려놓는다 서브 엑티비트XML에 위와 같이 코딩한다~! 실행하면 서브 엑티비티가 열리고 닫기가 가능하고 데이터 교환도 가능하다~! 2022. 8. 31.
ANDROID 라디오 그룹과 라디오 버튼 ANDROID 라디오 그룹과 라디오 버튼 다음과 같이 파레트에 Button - 목록에 라디오 그룹을 올려놓고 그 속에 라디오 버튼을 올려놓는다. 적당한 ID와 Text를 입력 후 MainActiveity.kr 리스너를 연결시켜준다 다음과 같이 한가지 팁~!!!! 밑줄친곳은 설명은....한번도 안사용했다라는 뜻으로 해도 되고 안해도 된다 끝! 2022. 8. 30.
ANDROID 에디터 텍스트 (edittext) ANDROID 에디터 텍스트 (edittext) edittext : 입력하는 위젯이다! 화면에 일단 painedit 를 내려 놓는다.. 해당 위젯을 클릭 후 오른쪽 속성에 inputType 를 펼치면 위와 같은 속성들이 있다 이건 하면서 알아가시길..... 힌트작성시도 String.xml에 코딩 후 가져다 쓰는 방식으로 하고 이 방식으로 버릇길들이기 바란다. 좋타 해당 입력을 할 시 입력된 값을 볼수있거나 활용하는 코딩이다 위와 같이 한다. 결과화면 타이핑 할때마다 값들이 로그에 찍힌다~!!!!!! 2022. 8. 25.
ANDROID 텍스트 뷰 ANDROID 텍스트 뷰 TextView : 말 그대로 문자를 보여주는 위젯이다! res - values - String.xml 파일 오픈!!!! 위와 같이 해당 텍스트뷰 id 를 포함하여 값을 입력해준다. \n 2022. 8. 24.
ANDROID Dimens ANDROID Dimens Strings.xml 비슷한 형태로 사이즈를 정의하는걸 별도 추가해준다 그것이 Dimen textSize : sp(주) , dp 버튼 사이즈시 : dp사용 res - values - New - values ....클릭 Dimens 입력 후 ok 클릭 하면 해당 values에 파일로 추가가 된다 위와 같이 입력해보자!!! 다음으로 해당 화면으로 건너가서 속성에서 맞춰주면 끝!! 컬로도 같은 형식으로 이루어진다! 에디터창 앞에 색깔을 클릭 후 원하는 색으로 선택하면 자동 바뀐다!!!! 우와!!!! 2022. 8. 22.
ANDROID 버튼 및 스트링 소스 [ANDROID] 버튼 및 스트링 소스 다음과 같은 버튼을 올려놓은 뒤 화면 오른쪽 속성에 관해 설명이다 1.Declared Attributes : 내가 속성들중 값을 미리 정의한것 2.Common Attributes : 많이 사용하는것들 ※ 알파벳순으로 되어있음 버튼 text 변경하는 방법 1.속성 text 에 가서 직접 입력한다. 2, 왼쪽 project -res - values -> Strings.xml 연다. 속성 text에 Strings.xml 에 코딩해 놓은 값들이 자동완성으로 나타난다..그걸 선택한다. 언어별로 추가할수있다 다음과 같이 화면 상단 오른쪽에 open editor를 클릭 후 해당 국가와 언어를 맞춰준다. 2022. 8. 19.
레이아웃 다루기 레이아웃 다루기 Text 와 Pain Text(입력) 을 끌어다가 놓는다. 해당 위젯을 클릭 후 링크? 걸 녀석과 잘 맞춰준다~~~~ 그룹으로 묶여 나중에 움직을때 편의성이 좋다! 위치를 조정하는 방법은 여러개중 화면 오른쪽에서도 맞출수 있다! 취소할시 해당위젯을 삭제하고 다시 올려놓고 할수있지만 그런 무식한 방법은 넣어두고 컨트롤 + 마우스 올려놓으면 X표시로 바뀌는데 화면에서 이런식으로 취소하고 아니면 오른쪽 화면 레이아웃 설정에서 X를 누른다! 체인설정이다! 이건 해당 위젯들을 체인형태로 묶어 관리하는 방법이다!! 버튼을 계속 올려놓을시 스크롤이 필요하다 그런방법을 어떻게 하냐면 다음과 같다 스크롤 뷰어 가져다 놓는다 스크롤 뷰어 위에 LinearLayout를 올려놓는다 해당 레이아웃에 계속 버튼을.. 2022. 8. 17.
한글 또는 다른언어 설정 2022. 8. 16.
안드로이드 설치 후 환경설정 안드로이드 설치 후 환경설정 UTF-8로 설정한다! 이것도 모두 체크해준다 스킨 설정은 자유!!! 2022. 8. 12.
코틀린 빌드 방법 코틀린 빌드 방법 이제 빌드를 해보자. 우측 Gradle -> Tasks -> build -> build 를 실행 한다. 2022. 8. 11.
코틀린 기본 문법 복습 코틀린 기본 문법 복습 package com.monosoft.monopractice fun main() { //helloWorld() //println(add(4,5)) //3.String Template //val name = "wonho" //val name1 = "kim" //println("안녕하세요 ${name+name1}요" ) //println("지금 달러는 \$aaaa ") /*주석 */ //주석 블럭지정 후 컨트롤 / 키 //forAndWhile() //nullcheck() ignoreNulls("kimwonho") } //1. 함수 fun helloWorld() : Unit { //Unit은 리턴이 없을경우 println("Hello world") } fun add(a:Int, b:In.. 2022. 8. 9.
코틀린 lateinit 와 속성 참조 더블 콜론 코틀린 lateinit 와 속성 참조 더블 콜론 코틀린은 기본적으로 Non-null 타입을 가진다. 그러므로 항상 값을 초기화를 시켜주거나 null 값을 가질 수 있게 따로 처리해야합니다. lateinit 키워드는 초기화를 나중에 할 수 있게 미루는 키워드입니다. val은 final 특징을 가지기 때문에 값 수정을 할수 없으므로 lateinit 키워드랑 같이 사용할 수 없습니다. primitive type(원시 타입)에서는 사용이 불가능합니다. ex) Double, Float, ... 변수에 선택사항인 getter, setter 정의 불가 변수의 유형은 null 이 아니어야하기에 null로 초기화 불가 타입 뒤에 ? 사용해도 불가합니다. isInitialized 속성을 이용한 초기화 확인 2022. 8. 8.
contains와 startsWith 차이점 contains와 startsWith 차이점 startsWith() 함수 원형 : boolean startsWith(String prefix) 대상 문자열이 특정 문자 또는 문자열로 시작하는지 체크하는 함수이다. 해당 문자열로 시작되는지 여부를 확인하고 boolean에 맞춰 true/false 값을 반환한다. String s = "I have a book" s.startsWith("I") // 1. true s.startWith("book") // 2. false 첫 번째 문장은 "I have a book"이라는 문자열 s가 매개 변수 문자열인 "I"로 시작하는지 확인한다. 따라서 결과는 true를 반환한다. 두 번째 문장은 "book"으로 시작하는지 확인하므로 이는 false를 반환한다. contain.. 2022. 8. 5.