본문 바로가기

Dead Code

(130)
[코틀린코드연습장] 텍스트뷰 자동완성 - autoCompleteText ; ArrayList 텍스트뷰 자동완성 입니다. ArrayList로 어댑터를 세팅하면 됩니다. var nations = arrayOf("Korea", "America", "USSR", "Japan", "UK") val arrayAdapter = ArrayAdapter(this,android.R.layout.simple_list_item_1, nations) var autoCompleteTextView = findViewById(R.id.autoCompleteText) autoCompleteTextView.setAdapter(arrayAdapter) var autoCompleteTextView2 = findViewById(R.id.multiAutoCompleteTextView) autoCompleteTextView2.setAd..
[코틀린코드연습장] Activity 전환(Anko) Anko 라이브러리를 활용해보자. 귀찮게 이런건 왜 만들었어;; 아래 코드를var intent = Intent(this, Main2Activity::class.java) intent.putExtra("data1", editText.text.toString()) intent.putExtra("data2", editText2.text.toString()) var pending = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT) pending.send()요렇게 편하게 바꿀수 있다.startActivity( "data1" to editText.text.toString(), "data2" to editText2.text.t..
[코틀린코드연습장] RecycleView 뭐에다 쓰는건가 listView를 대신할 목적으로 RecycleView를 쓰라고 하는데,영 귀찮은게 많다. 네이버를 좀 찾아서 찾긴했는데, 초보자에게는 영 헤깔리는 부분이 많다. 최대한 간결하게 작성한 코드이다. [메인액티비티.kt] class MainActivity : AppCompatActivity() { data class Color(val name: String, val food: String, val photo: String) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var colorList = arrayListOf( Color..
[코틀린코드연습장] 옵션메뉴에 붙어있는 검색창 사용하기 그냥 View에 있는 검색기능과 옵션메뉴에 있는 검색기능이 서로 사용하는게 달라 솔찮히 당황했다. 옵션 메뉴의 onCreate시 아래와 같이 하자. 별거 없는데, 킁.;; override fun onCreateOptionsMenu(menu: Menu?): Boolean { menuInflater.inflate(R.menu.optionmenu, menu) var searchItem = menu?.findItem(R.id.item_search) var searchView = searchItem?.actionView as android.support.v7.widget.SearchView searchView.setOnQueryTextListener(object : android.support.v7.widget...
[코틀린코드연습장] 다이얼로그 - 날짜/시간 입력 다이얼로그 날짜 또는 시간입력을 받는 다이얼로그 창입니다. 유데미 강좌입니다.//달력 다이얼로그 띄우기 button5.setOnClickListener { view -> var calendar = Calendar.getInstance() var year = calendar.get(Calendar.YEAR) var month = calendar.get(Calendar.MONTH) var day = calendar.get(Calendar.DAY_OF_MONTH) var date_listener = object : DatePickerDialog.OnDateSetListener { override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: In..
[코틀린코드연습장] viewPager 생성하기 간단하게 viewPager를 만들어보자. viewPager는 드래그 하면 화면이 이동하는 view이다. 액티비티가 변하는게 아니다. 준비- activity_main.xml 에 viewpager 넣기. - 페이지마다 사용할 레이아웃(들) [MainActivity] - 최상위var viewList = ArrayList()- onCreate viewList.add(layoutInflater.inflate(R.layout.page1, null)) viewList.add(layoutInflater.inflate(R.layout.page2, null)) viewList.add(layoutInflater.inflate(R.layout.page3, null)) pager.adapter = pagerAdapter()-a..
[코틀린코드연습장] NOTIFICATION.... 삽질 드디어 UDEMY 왕초보 강좌의 1장의 마지막 강좌NOTIFICATION... 생각보다 복잡하니, 일단 만들어 놓고, 복붙으로 쓰는게 좋을것 같다. button.setOnClickListener { view -> var not = getNotificationBuilder("channel1", "1st channel") not.setTicker("Ticker") not.setSmallIcon(android.R.drawable.ic_menu_search) var bitmap = BitmapFactory.decodeResource(resources, R.mipmap.ic_launcher) not.setLargeIcon(bitmap) not.setNumber(100) not.setAutoCancel(true) ..
[코틀린코드연습장] 기본 다이얼로그 다이얼로그는 뭐.. 자주 봐왔지만, 크게 신경쓰지 않았었는데, 이걸 일일이 만드는거였구나 싶다. 전부 오버라이딩해서 쓰는거라 크게.. 생각할껀 없는것 같다. 버튼을 누르면 튀어나오는 다이얼로그.AlertDialog.Builder 로 생성하고, 나머지 세팅을 해주면 간단하게 끝난다. 다이얼로그에 기본적으로 3개의 버튼을 붙일수 있는데, 버튼을 누를때, 얼마전 배운 토스트가 뜨도록 했다. 리스너 안에 붙였더니. 되지 않길래, 그냥 함수로 짜서 넣었다. 그건 또 신기하게 되네.. 컨텍스트 때문인거 같은데, 정확하게 뭔 차이가 있는지는 잘 모르겠다. button3.setOnClickListener { view -> var dialog = AlertDialog.Builder(this) dialog.setTitle..
[코틀린코드연습장] 커스텀 토스트 토스트는 회색 바탕에 글씨로 정해져 있는데, 요걸 바꿀수 있다고 하니. 커스텀 토스트를 만들어서 띄워보자. 1. 토스트용 레이아웃을 하나 만들어서 v1에 담았다. 2. t1으로 토스트를 만들고 3. 버튼을 누르면, 실행되도록 리스너를 붙이고, 4. v1을 뷰 형태로 t1 안에 넣게 하고, 5. 백그라운드/텍스트 내용/텍스트 컬러/이미지까지, v1의 수정하여 넣는다. 6. t1의 show()를 실행한다... 그럼 끝 var v1 = layoutInflater.inflate(R.layout.custom_toast_layout, null) var t1 = Toast(this) button.setOnClickListener { view -> t1.view = v1 as View v1?.setBackgroundR..
[코틀린코드연습장] 예전부터 궁금했던, 토스트 띄우기 매번 텍스트뷰를 만들어서, 값이 제대로 들어갔는지 귀찮아서, 엑셀VBA처럼 메시지 창이 없는지 궁금했다. Toast를 띄워서 확인하면 편하지 않을까? 그런데... 코드가 녹녹하지 않다. 아래는 btn1 버튼을 눌렀을 때, 뛰어나오는 토스트이다. t1에 메시지를 입력하고, 노출되는 길이를 정해준다. btn1.setOnClickListener { view -> var t1 = Toast.makeText(this,"토스트 메시지입니다.", Toast.LENGTH_SHORT) t1.show() } 변수에 String 값이 들어있다면, 불러들일 수 있다. txt1.text = "토스트에 이 메시지가 나왔으면 좋겠다." btn2.setOnClickListener{ view -> var t2 = Toast.makeT..
[코틀린코드연습장] Options Menu 활성화하기 Option메뉴를 활성화하기.onCreateOptionsMenu를 오버라이딩한다. 미리 만들어놓은 actionbar_menu xml을 메뉴인플레이터로 불러온다.return에 true를 반환하여 메뉴를 활성화한다. override fun onCreateOptionsMenu(menu: Menu?): Boolean { menuInflater.inflate(R.menu.actionbar_menu, menu) return true } 메뉴는 우상단에 표시가 된다.메인 화면에 txt 라는 VIew가 있고, 옵션메뉴를 선택시 텍스트가 표시된다. onOptionsItemSelected를 오버라이딩 한다. item에는 선택된 메뉴의 id가 불러와진다. return값은 만지지 않는다. override fun onOptio..
[코틀린코드연습장] ContextMenu from Udemy 컨텍스트뷰는 길게 터치했을때 나오는 메뉴이다.텍스트뷰와 리스트뷰에 간단하게 붙여본다. 간..단..하..게..ㅠㅜ 어렵다. 몇일 공부는 안해봤지만, 주워다 쓰는 느낌이 강하고, 모르면 아예 못하는 것들이 많다.자바를 모르는 나에게 역주행은 힘들다.그냥... 일단은 외워보자. // 텍스트뷰와 리스트뷰에 컨텍스트 메뉴 붙이기 실습 from Udemy 강좌 class MainActivity : AppCompatActivity() { // 리스트에 붙일 데이터 var data = arrayOf("data1","data2","data3","data4","data5","data6","data7") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate..
[코틀린코드연습장] ListView * CustomAdapter 원하는 기능을 adapter에 만들기텍스트뷰 2개와 버튼 2개로 이루어진 커스텀아답터를 만드는 코드입니다. class MainActivity : AppCompatActivity() { var data1 = arrayOf("text01","text02","text03","text04","text05","text06","text07","text08") var data2 = arrayOf("string01", "string02","string03","string04","string05","string06","string07","string08") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setC..
[R코드연습장] dplyr - sample sample 뭐,, 쓸일이 있을랑가 보르겠는데, 샘플 추출(임의로 row 선택) 방법입니다. 1) sample_n n개의 row를 추출 합니다. #nrow(mtcars) sample_n(mtcars,3) #3개 #sample_frac(mtcars,0.10) #mtcars %>% group_by(cyl) %>% sample_n(2) 2) sample_frac 총 row 개수 중에 n%의 row를 추출 합니다. #nrow(mtcars) #sample_n(mtcars,3) sample_frac(mtcars,0.10) #10% #mtcars %>% group_by(cyl) %>% sample_n(2) 3) group_by 샘플을 추출하기 전에 특정 변수의 그룹별로 할건지 설정할 수 있습니다. #nrow(mtca..
[R코드연습장] dplyr - rename / arrange rename 이름처럼 변수의 이름을 바꾸는 기능. 기본 문법보다 뭐가 더 나아졌을까. all variable name check # 기본으로 주어지는 mtcars 데이터프레임의 변수명을 확인했습니다. 총 11개 입니다. names(mtcars) dplyr 패키지를 쓰지 않고 변수 이름을 바꿔 봅시다. # change name _ basic method mtcars_re1
[R코드연습장] dplyr - select select 데이터 프레임 중 원하는 열을 선택하는 방법은 패키지를 깔지 않아도 되는데,,, 더 편한 방법을 제공하기 위한 거겠지 뭐... 뭐가 더 편한지 한번 보자 all variable name check # 기본으로 주어지는 mtcars 데이터프레임의 변수명을 확인했습니다. 총 11개 입니다. names(mtcars) dplyr을 사용하지 않았을 때의 선택 방법은 좀 복잡하다 mymtcars_nodplyr
[R코드연습장] shiny 간단구조 shiny패키지는 간단하게 대쉬보드를 짤 수 있는 R의 패키지라고 한다. 슬쩍보더라도, 매우 간단하다. 블로그에서 설명을 보고 슬쩍 흉내만 내봤다. 구성은 텍스트입력 박스와 숫자입력 박스로 글자를 치거나 숫자를 입력하면, 아래 본문에 반영되는 형태이다. 코드는 아래와 같다. 크게 보여지는 부분을 관리하는 UI와 내부 계산을 담당하는 SERVER 부분으로 나뉜다. 그리고 UI는 보여지는 영역에 따라 제목 - TITLE / 레프트 메뉴 - SIDEBAR / 본문 - MAINPANEL로 나뉜다. 물론 별도의 탑메뉴나 본문 내 탭을 구성할 수도 있다. UI 구성요소들은 shiny 패키지에서 주어지는 것을 따르는 것을 기본으로 하는 것으로 추정(?)되며, 본문은 html 문법에 준해서 작성된다. SERVER는 R..
[코틀린코드연습장] ListView - adapter ListView는 아답터를 활용해야 함 package com.example.skynet.a016listview import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.view.Viewimport android.widget.AdapterViewimport android.widget.ArrayAdapterimport kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { // adapter에 삽입할 에러이 생성 var list = arrayOf( "리스트1","리스트2","리스트3","리스트4","리스트5"..
[코틀린코드연습장] ImageView 이미지는 기본적으로 drawable 폴더에 저장 setImageResource 로 불러들일 수 있음 (R.drawable 로 파일명 지정) package com.example.skynet.a015imageview import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout..
[코틀린코드연습장] seekBar 프로그레스 바와 거의 동일OnSeekBarChangeListener는 3개의 메소드를 호출해야 함 2개 이상의 메소드를 호출할 때는 람다식이 아닌 익명 중첩클래스 사용seekBar2.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener{}) package com.example.skynet.seekbar import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.widget.SeekBarimport kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivi..
[코틀린코드연습장] progressBar 프로그레스바의 특정값으로 증감incrementProgressBy 프로그레스바를 특정값으로 지정progress package com.example.skynet.progressbar import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // ..
[코틀린코드연습장] radioButton 라디오버튼은 라디오 그룹을 만들어 생성해야 함라디오 그룹내에서 라디오 그룹을 찾기 : checkedRadioButtonId라디오버튼 상태가 변경되었을때 이벤트 : OncheckedChangeListener package com.example.skynet.textview import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.view.Viewimport android.widget.CompoundButtonimport android.widget.RadioGroupimport android.widget.TextViewimport kotlinx.android.synthetic.main.activity_main.*i..
[코틀린코드연습장] radioButton 라디오 버튼의 상태 체크 : ischecked라디오 버튼의 상태 반전 : toggle()상태가 변경될때마다의 이벤트 : OncheckedChangeListener package com.example.skynet.textviewimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.view.Viewimport android.widget.CompoundButtonimport android.widget.TextViewimport kotlinx.android.synthetic.main.activity_main.*import org.w3c.dom.Textclass MainActivity : AppCompatActiv..
[코틀린코드연습장] Button 리스너를 만든다. 버튼 객체를 리스너와 연결한다. inner class를 사용하거나, 람다식을 사용한다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879package com.example.skynet.textview import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.view.Viewimport android.widget.TextViewimport kotlinx.android.synthe..
[코틀린코드연습장] textview TextView 에 문자를 넣어보자. 1) 자바와 다르게 findViewById 과정이 필요없다.2) .setText("String") 과 .text ="String" 은 동일하게 작동 123456789101112131415161718192021222324252627package com.example.skynet.textview import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.view.Viewimport android.widget.TextViewimport kotlinx.android.synthetic.main.activity_main.*import org.w3c.dom.Text class MainA..
[코틀린코드연습장] 안드로이드 리스트뷰 생성 udemy 강좌를 보다가 까먹을것만 같아... 기재 리스트에 리스트로 활용할 array를 구성한다. 리스트뷰를 처음 만들 때,adapter를 설정하여, 리스트뷰의 adapter로 정의한다. * onitemClickListener : 리스트를 클릭했을 때, 발생 이벤트 정의 package com.example.james.udemy import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.AdapterView import android.widget.ArrayAdapter import kotlinx.android.synthetic.main.activity..
[R코드연습장] R_markdown에서 한글 폰트 적용하기 R_markdown에서 한글 폰트 적용하는 방법이다. 간단하게, CSS를 적용해주면 끝이다. 이 코드 하나만 넣어주면 된다. 물론 영역별로 다르게 넣는게 보편적이나, 그건 초보자의 영역이 아니므로 패스 막상 쓰려고 하니 엄청 귀찮음. ㅋㅋ
[R코드연습장] ggplot 파이썬이든, R이든 무료 프로그램은 패키지를 컨트롤하기 쉽지 않다. 좋게말하면, 본인한테 잘 맞는 패키지를 선택하면 된다고 하지만, 나쁘게말하면, 또하나의 진입장벽이로다. ggplot은 많이들 쓰는 시각화 패키지 라고 한다. 많은 데이터를 다루지 않는 나에게는, 엑셀보다 전혀 메리트가 없다. 파워포인트보다도 없다. # 임의 데이터 생성 및 정렬 a1
[코틀린코드연습장] 클래스...함수 오버라이딩(?) 클래스. 상속 받고 싶으면 상속대상 클래스는 open으로 기재 함수도 open으로 기재. 불러올때 override, super로 기재 12345678910111213141516171819fun main(args: Array) { val x : B = B() println(x.f(6,6))}open class A { open fun f(x:Int,y:Int):Int { println("first class") return x * y }}class B:A() { override fun f(x:Int,y:Int):Int { println("second class") println(super.f(x,y)) return x % y }} 결과 : second classfirst class360 inner class..
[코틀린코드연습장] listOf, filter, add var 를 사용한 리스트에는 값을 추가할 수 있다.val 을 사용한 리스트에는 값을 추가할 수 없다. 리스트 작성은 listOf 로 가능하며, listOf 로 작성된 리스트는 immutalbe하다. 값을 추가하기 위해서는 mutableListOf 로 작성이 되어야한다. mutableListOf 로 작성된 리스트는 add를 통해 단일 값을 추가 가능하고,addAll을 통해 리스트를 추가 할 수 있다. 또한 필터를 사용할 수 있다. 1234567fun main(args: Array) { var list = mutableListOf(1,2,4,5,6,7,8,10,12,31) var list2 = mutableListOf(100,200,300,400) list.addAll(list2) var listFilter..