본문 바로가기

Dead Code/DEPRECATED-KOTLIN

(49)
[코틀린코드연습장] SQLite 간단한 SQLite 연습. [Main.kt]class MainActivity : AppCompatActivity() { var dbHandler : DatabaseHelper? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) dbHandler = DatabaseHelper(this) button.setOnClickListener { if(validation()) { val users: Users = Users() var success : Boolean = false users.firstName = editText.t..
[코틀린코드연습장] SnackBar 스낵바 예제 [module, build.gradle]implementation 'com.android.support:design:28.0.0' [main.kt] button.setOnClickListener { var snackbar = Snackbar.make(llinearLayout, "this is SnackBar", Snackbar.LENGTH_LONG) snackbar.show() } button2.setOnClickListener { textView4.text = "This is Color Name TextView" var snackbar1 = Snackbar.make(llinearLayout, "Delete Message...." , Snackbar.LENGTH_LONG) .setAction..
[코틀린코드연습장] Firebase에 값 적고, 불러오기 나의 첫번째 목표는 외부 DB에 값을 쓰고, 읽어오기 까지였다. 이제. 그 꿈을 이뤘다. 그런데 왜 찝찝하지? - 구조는, 두개의 입력창으로 데이터를 받고, - 버튼을 통해 최신 리스트를 리스트 뷰로 받아온다. 언제나 그렇듯 메인 코드만.딴 사람 코드 보고 커스텀 시키는건 1시간, Firebase 연동오류 찾는거. 3시간.ㅠㅠ 취미로 하는 이짓이 지겨워질뻔. class MainActivity : AppCompatActivity() { var list : MutableList = mutableListOf() val ref = FirebaseDatabase.getInstance().getReference() override fun onCreate(savedInstanceState: Bundle?) { sup..
[코틀린코드연습장] Fragment생성 Fragment를 생성해보자 class Main2Activity : AppCompatActivity() { var first = firstFragment() var second = SecondFragment() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main2) button2.setOnClickListener { finish() } button3.setOnClickListener { var temp = supportFragmentManager.beginTransaction() temp.replace(R.id.container, f..
[코틀린코드연습장] 커스텀리스트 예전의 기억을 되살릴겸.. 복습이란걸 해본다. [메인 액티비티] class MainActivity : AppCompatActivity() { var lstdata1_title = arrayOf("Blue", "Purple", "Red") var lstdata2_text = arrayOf( "it is blue like Sky", "it is puple like icecream", "it is red like blood" ) var listdata3_img = intArrayOf(R.drawable.blue, R.drawable.purple, R.drawable.red) var list = ArrayList() override fun onCreate(savedInstanceState: Bundle?) { ..
[코틀린코드연습장] ListDialog 시간은 흐른 강의이지만, 까먹어서 다시 연습 유데미 강의를 보고 연습중임.https://www.udemy.com/softcampus-kotlinandroid/learn/v4/t/lectureclass MainActivity : AppCompatActivity() { var arrayItem = arrayOf("data1", "data2", "data3") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { var calendar = Calendar.getInstance() var y..
[코틀린코드연습장] BroadCastReceiver 앱이 두개가 있다. 1번앱에 브로드캐스트 리시버가 있고,2번앱에서 1번앱의 브로드캐스트 리시버를 인텐트로 불러서 사용한다. [1번앱 메인]class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { var intent = Intent(this, TestReceiver::class.java) sendBroadcast(intent) } } } [1번앱 브로드캐스트리시버 클래스] class TestReceiver : Br..
[코틀린코드연습장] ActivityACTION 인텐트를 통해서 다양한 기능을 날로 먹을 수 있다고 한다. 강좌에서 알려준 기능은 몇가지 안되지만,... 음.. 딴건 어디서 배우지? ㅋㅋ class MainActivity : AppCompatActivity() { var permissionList = arrayOf( Manifest.permission.CALL_PHONE ) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) checkpermission() button.setOnClickListener { var uri = Uri.parse("geo:37.243243, 131.8..
[코틀린코드연습장] startActivityForResult(3) . object 인텐트로 오브젝트를 넘겨보자. 별도로 클래스를 만들어서 넘겨본다. [별도로 만든 클래스]class TestClass: Parcelable { var data10 : Int = 0 var data20 : String? = null companion object { @JvmField val CREATOR : Parcelable.Creator = object : Parcelable.Creator { override fun createFromParcel(source: Parcel?): TestClass { val test = TestClass() test.data10 = source?.readInt()!! test.data20 = source?.readString() return test } override f..
[코틀린코드연습장] startActivityForResult(2) 다른 액티비티로, 종료시점에 데이터를 보내는 방식이다. [메인액티비티]class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) a1_btn1.setOnClickListener { var intent = Intent(this, Main2Activity::class.java) intent.putExtra("String", "StringData") intent.putExtra("Int", 1) intent.putExtra("Double", 1.0) intent.put..
[코틀린코드연습장] startActivityForResult(1) 여전히 어디에 사용할수 있는 메소드인지 알수는 없지만, 강좌에 있으니까 한번 해보자. 썩 어렵지는 않은데 왜 이리 암기가 안되지 ㅋ 두번째 액티비티에서 돌아올때 값을 물고 온다. OK는 -1, Cancel은 0, FirstUser는 1이다. [메인액티비티]class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) a1_btn1.setOnClickListener { var intent = Intent(this, Main2Activity::class.java) sta..
[코틀린코드연습장] 쓰레드...(4) RunOnUIThread 사용자가 만든 쓰레드 내의 화면처리를 메인쓰레드로 옮겨서 적용하는 방법 중.가장 간단한 방법인가보다.역시, 간단한 방법이 있었구나, 발생시킨 쓰레드 클래스 안에 런온유아이쓰레드 람다식을 쓰면 된다. class MainActivity : AppCompatActivity() { var isRunning = true override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button2.setOnClickListener { var time = System.currentTimeMillis() textView3.text = "button clic..
[코틀린코드연습장] Handler.. sendMessage 핸들러를 통해서 화면처리를 하되, 출력되는 값을 메시지 명령어를 통해 가져온다. 메시지는 쓰레드 클래스 안에서 처리한다. (뭐라 쓴거지..) class MainActivity : AppCompatActivity() { var isRunning = true var displayHandler : DisplayHandler? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) displayHandler = DisplayHandler() var thread = TimeThreadClass() thread.start() } in..
[코틀린코드연습장] Permissions. 내가 과연 permission을 사용하는 앱까지 만들어 볼수 있을까? 심란하구만 [Manifest.xml] [main.kt] class MainActivity : AppCompatActivity() { var pm = arrayOf( Manifest.permission.SEND_SMS, Manifest.permission.RECEIVE_SMS, Manifest.permission.INTERNET, Manifest.permission.WRITE_CONTACTS, Manifest.permission.READ_CONTACTS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION ) override fun onC..
[코틀린코드연습장] 쓰레드(3) ... AsyncTask 음.. 이건 또 뭔가. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { var time = System.currentTimeMillis() textView.text = "button Click : ${time}" } var sync = AsyncTaskClass() sync.execute(10, 20) } inner class AsyncTaskClass : AsyncTask() { override fun..
[코틀린코드연습장] 쓰레드(2).. 핸들러를 활용한 반복 도데체 뭐에 쓰는 거냐니까!! 혹시나...해서, 아래 코드는 UDEMY 강좌를 연습한 코드입니다. 자세한 내용은 강좌 원본을 보시기 바랍니다. 저한텐 권한이 없어요 https://www.udemy.com/softcampus-kotlinandroid/learn/v4/content class MainActivity : AppCompatActivity() { var handler : Handler? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { var time = Sys..
[코틀린코드연습장] 쓰레드.(1) 쓰레드는 뭐에 쓰는걸까. 음.. 여전히 모르겠음. 버튼을 누르면 현재 시간이 표시가 되고,가만히 있어도 현재 시간이 로그캣에 표시가 된다. 로그켓에 입력되는 부분을 별도의 쓰레드 클래스로 처리.(말이 맞나?) class MainActivity : AppCompatActivity() { var isRunning = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { var now = System.currentTimeMillis() textView.text = "Button ..
[코틀린코드연습장] 아무 기능도 없는 그림판 그림판에는 광고가 있으니, 그냥 그림판을 만들어볼까 했는데, 쉽지 않고만... 인터넷을 뒤져서 한번 해본다. 그림판 지우기는 편의상 옵션메뉴로 처리(배운걸 써먹는구만 ㅋ) [메인.xml] [메인.kt]class MainActivity : AppCompatActivity() { lateinit var canvasView: CanvasView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) canvasView = findViewById(R.id.canvas) // clearCanvas.setOnClickListener(ClearCa..
[코틀린코드연습장] 텍스트뷰 자동완성 - 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..