24,200원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
타이틀바
저 앱실행시킬때 타이틀바를 없애는 부분을 보고있는데요. 저는 앱실행시키면 처음부터 타이틀 바가 안나오고 theme.xml도 영상과는 다르게 되어 있는데 그럼 굳이 안해도 상관 없는건가요?버전은 androidstudio hedgehog입니다.
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
if문 중복 안하는 방법
선생님이 알려주시는 대로 한번 코드를 작성하고,어떻게하면 조금 더 간편하고 읽기 쉬운 코드를 만들수있을까고민해 봤습니다. if문을 통한 것 보다 when절이 나을꺼같아 해봤는데 앱은 잘 작동하는데 이런식으로 써도 될지요~?? 남은 강의도 열심히 잘 들어볼께요! package com.example.twice import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.ImageView class ImageInsideActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_image_inside) val getData = intent.getStringExtra("data") val memberImage = findViewById<ImageView>(R.id.memberImageArea) when(getData){ "1" -> memberImage.setImageResource(R.drawable.member_1) "2" -> memberImage.setImageResource(R.drawable.member_2) "3" -> memberImage.setImageResource(R.drawable.member_3) "4" -> memberImage.setImageResource(R.drawable.member_4) "5" -> memberImage.setImageResource(R.drawable.member_5) "6" -> memberImage.setImageResource(R.drawable.member_6) "7" -> memberImage.setImageResource(R.drawable.member_7) "8" -> memberImage.setImageResource(R.drawable.member_8) "9" -> memberImage.setImageResource(R.drawable.member_9) } } }
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
버튼이 클릭된 후 아이디를 판별하는 방법
안녕하세요제가 구성한 페이지는 이렇습니다.1번메인 페이지에 버튼이 다섯개 있다면 버튼을 클릭한 후 동작은 확인 버튼 한개 들어가 있는 팝업을 띄우는 것입니다. 여기서 팝업 메세지를 각 버튼에 따라 다르게 보여주려고 하는데요. 예를들면 1번을 클릭하면 팝업에 1번 버튼을 클릭하셨습니다. 를 띄우는 식입니다. 현재 데이터 바인딩으로 구현하여서binding.btn01.setOnClickListener {} 를 다섯개 작성하여 intent.putExtra에 값을 받아서 해주고 있습니다.binding.btn1.setOnClickListener { var intent = Intent(this, PopupActivity::class.java) intent.putExtra("txt", "1번") startActivity(intent) } binding.btn2.setOnClickListener { ... } binding.btn3.setOnClickListener { ... } ... 웹개발의 자바스크립트나 제이쿼리에서 사용되는 방법처럼 버튼이 클릭되면(클래스로 지정된 여러 요소중 하나를 클릭했을때 this.id 를 가져오는 식) id 를 읽어 클릭이후 내부에서 분기문을 작성해주는 방법은 없을까요? 2번제가 아직 4번째 앱밖에 안들어봐서 뒤에 나온다면 어떤 부분에서 나오는지도 알려주시면 감사하겠습니다
- 해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
앱실행이 안되요.
섹션0, ‘안드로이드 살펴보기’에서 마지막에 앱을 실행할때 계속 에러가 뜨네요. 뭐가 문제인 걸까요? 참고로 안드로이드스튜디오 버전은 giraffe라고 쓰여있습니다. 그리고 다른 문제는 다운받은 avd중 하나가 계속 정지 버튼 눌러도 정지가 안되고 삭제도 안되요. 근데 이상태에서 다른 avd사용은 되더라고요. 어떻게 해야하죠?delet누르면 이렇게 떠요. 근데 running device 창에는 이 avd가 없거든요..
- 해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
파이어베이스 새 프로젝트 만들때
안녕하세요. 파이어 베이스 익명로그인 부분을 듣고 있습니다. 파이어베이스 들어가서 새 프로젝트 등록하려는데 강의내용과 좀 달라서( 3번째 부분이요) 뭘 선택해야 하는지, 어떤 값을 가져와서 프로젝트에 등록해야 하는지 잘 모르겠습니다...알려주실 수 있으실까요..?
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
파이어베이스 build.gradle쪽이 달라서 적용했더니 오류남
안녕하세요. 파이어베이스 세팅하는 중에 build.gradle이 달라서 수업자료에 있는 데로 작성한 후에 Sync now를 했더니 아래와 같은 오류가 생깁니다.A problem occurred configuring root project 'fb_login_test'.> Could not resolve all files for configuration ':classpath'. > Could not find com.google.gms.google-services:4.4.0:. Required by: project :Possible solution: - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html 작성한 부분 해결방법 없을까요....?ㅠㅠ
- 해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
null(!!)인지 null일수도 있는건지(?) 판단할수있는 기준이 어떻게 되는지 궁금합니다
안녕하세요 강사님앱강의 초반에는 멘탈도 많이 나가고 많이 헤맸는데 뒤로 갈수록 조금씩 이해가 되어가는것 같네요.. 다름이 아니라 코드를 따라 보면서 작성하다가 궁금해져서 질문을 드리는데요..?와 !!를 사용하고 안했을때 코드에서 빨간줄이 나오고 그러는데어떻게 판단하고 적용하시는건지 궁금합니다 사실.. 저걸 저때 왜 쓰는건지 그런게 이해가 잘 안되네요..ㅠ 아 그리고 RVAdapter를 MainActivity하고 BookmarkActivity에서 같이 사용되고 있는데 MainActivity에서는 context를 BookmarkActivity에서 context를 사용하면 왜 오류가 뜨고 this를 사용하는건지 궁금합니다..
- 해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
id 이름을 줄때 @+id/id이름을 꼭 넣어줘야 하나요?
안녕하세요 강사님강의 재미있게 듣고 있습니다.다름이 아니라 @+id를 만들면서 궁금한게 생겼는데 @+id는 반드시 필수적으로 들어가야하는 걸까요? 아니면 html처럼 이름만 줄수 있는 방법이 있는지 궁금합니다
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
데이터바인딩 gradle 오류
(사진)
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
baseContext 동작안함
package com.nadeukcha.horse import android.app.LauncherActivity import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Button import androidx.navigation.findNavController import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.nadeukcha.horse.databinding.ActivityMainBinding class RacehorseDetailsFragment : Fragment() { private val items = mutableListOf<RacehorseModel>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { // Inflate the layout for this fragment val view = inflater.inflate(R.layout.fragment_racehorse_details, container, false) items.add( RacehorseModel( "https://www.horsepia.com/hp/pa/hh/PAHH2010/search.do#none", "https://www.horsepia.com/hp/pa/ac/photoResizer.do?file=0047386&extend=l.jpg&width=312&height=191&type=3&hrsGbCd=00100&bfHrno=047386", "기적의돌풍" ) ) // items.add items.add( RacehorseModel( "https://www.horsepia.com/hp/pa/hh/PAHH2010/search.do#none", "https://www.horsepia.com/hp/pa/ac/photoResizer.do?file=0047386&extend=l.jpg&width=312&height=191&type=3&hrsGbCd=00100&bfHrno=047386", "기적의돌풍" ) ) // items.add items.add( RacehorseModel( "https://www.horsepia.com/hp/pa/hh/PAHH2010/search.do#none", "https://www.horsepia.com/hp/pa/ac/photoResizer.do?file=0047386&extend=l.jpg&width=312&height=191&type=3&hrsGbCd=00100&bfHrno=047386", "기적의돌풍" ) ) // items.add items.add( RacehorseModel( "https://www.horsepia.com/hp/pa/hh/PAHH2010/search.do#none", "https://www.horsepia.com/hp/pa/ac/photoResizer.do?file=0047386&extend=l.jpg&width=312&height=191&type=3&hrsGbCd=00100&bfHrno=047386", "기적의돌풍" ) ) // items.add val rv = view.findViewById<RecyclerView>(R.id.racehorseRv) val rvAdapter = RvAdapter(baseContext ,items) rv.adapter = rvAdapter // rv.layoutManager = LinearLayoutManager(context) rv.layoutManager = GridLayoutManager(context, 2) // 경기 내역 확인 view.findViewById<Button>(R.id.btn1).setOnClickListener { it.findNavController().navigate(R.id.action_racehorseDetailsFragment_to_matchdetailsFragment) } // 기수 상제 정보 view.findViewById<Button>(R.id.btn3).setOnClickListener { it.findNavController().navigate(R.id.action_racehorseDetailsFragment_to_riderDetailsFragment) } // 기록 정보 view.findViewById<Button>(R.id.btn4).setOnClickListener { it.findNavController().navigate(R.id.action_racehorseDetailsFragment_to_recordInfoFragment) } return view } }안녕하세요Fragment 강의에서 봤던 동작이랑 이번에 RecyclerView 강의를 합쳐서 화면을 만들어보고있었습니다그러던중 이번 강의 망고플레이트 앱 소개 및 레이아웃 - RecyclerView, Glide 강의의 24분 14초에 baseContext 추가하는 동작하를 하려고해는데 baseContext가 인식되지 않는 현상이있는데 따로 설정해줘야하는 부분이 있는건가요? baseContext를 넣으면 이런 오류가 나옵니다강의 내역과 조금 다른 질문인거같아 죄송합니다
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
웹뷰에서 사이트로 넘어갈 때 오류가 납니다.
package com.example.mango_content import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView class MainActivity : AppCompatActivity() { //데이터 넣을 리스트 변수 생성 private val items = mutableListOf<ContentsModel>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // 리스트 데이터 // 데이터 클래스이기 때문에 차례대로 넣을 값만 넣어주면 된다 items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/Quiver/shopPhotoList", "https://image.toast.com/aaaaaqx/rv/s4XU7ZHko4NjDEkULtFHbAA/231108173855775(0).jpeg", "퀴버(Quiver)" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/bistrogama/shopPhotoList?pickup-date=231207&pickup-time=0342", "https://image.toast.com/aaaaaqx/catchtable/shopinfo/s23522/23522_2221020170729696.jpg?detail750", "비스트로 가마" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/cucciolo_seoul/shopPhotoList?type=VISIT_RESERVATION&pickup-date=231207&pickup-time=0346", "https://ugc-images.catchtable.co.kr/rv/s7YDg2g4TxcuMPb-Eds2nKQ/4179dd6517aa48e1900c08e8c9c769a5", "쿠촐로 서울" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/schedule_seongsu/shopPhotoList?type=VISIT_RESERVATION&pickup-date=231207&pickup-time=0352", "https://ugc-images.catchtable.co.kr/rv/sXGZ4Ldt3lvBgj3V-4rxIsQ/e6ce38eef9ee412ca63da36dacabc57a", "스케줄 성수" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/Quiver/shopPhotoList", "https://image.toast.com/aaaaaqx/rv/s4XU7ZHko4NjDEkULtFHbAA/231108173855775(0).jpeg", "퀴버(Quiver)" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/bistrogama/shopPhotoList?pickup-date=231207&pickup-time=0342", "https://image.toast.com/aaaaaqx/catchtable/shopinfo/s23522/23522_2221020170729696.jpg?detail750", "비스트로 가마" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/cucciolo_seoul/shopPhotoList?type=VISIT_RESERVATION&pickup-date=231207&pickup-time=0346", "https://ugc-images.catchtable.co.kr/rv/s7YDg2g4TxcuMPb-Eds2nKQ/4179dd6517aa48e1900c08e8c9c769a5", "쿠촐로 서울" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/schedule_seongsu/shopPhotoList?type=VISIT_RESERVATION&pickup-date=231207&pickup-time=0352", "https://ugc-images.catchtable.co.kr/rv/sXGZ4Ldt3lvBgj3V-4rxIsQ/e6ce38eef9ee412ca63da36dacabc57a", "스케줄 성수" ) ) val recyclerview = findViewById<RecyclerView>(R.id.rv) val rvAdapter = RVAdapter(baseContext,items) recyclerview.adapter = rvAdapter // 아이템 클릭 처리 rvAdapter.itemClick = object : RVAdapter.ItemClick { override fun onClick(view: View, position: Int) { val intent = Intent(baseContext, ViewActivity::class.java) intent.putExtra("url", items[position].url ) startActivity(intent) } } recyclerview.layoutManager = GridLayoutManager(this,2) } }MainActivity.kt package com.example.mango_content import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView import androidx.appcompat.view.menu.MenuView.ItemView import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView.ViewHolder import com.bumptech.glide.Glide //viewmodel을 받을 것임 class RVAdapter(val context: Context, val List: MutableList<ContentsModel>) : RecyclerView.Adapter<RVAdapter.ViewHolder>() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RVAdapter.ViewHolder { val v = LayoutInflater.from(parent.context).inflate(R.layout.rv_item, parent, false) return ViewHolder(v) } // 웹뷰 클릭 이벤트 생성 interface ItemClick { fun onClick(view : View, position: Int) } var itemClick : ItemClick? = null override fun onBindViewHolder(holder: RVAdapter.ViewHolder, position: Int) { if (itemClick != null) { holder.itemView.setOnClickListener { v -> itemClick!!.onClick(v, position) } } holder.bindItems(List[position]) } override fun getItemCount(): Int { return List.size } inner class ViewHolder(itemView : View) : RecyclerView.ViewHolder(itemView) { fun bindItems(item : ContentsModel) { val rv_img = itemView.findViewById<ImageView>(R.id.rvImageArea) val rv_text = itemView.findViewById<TextView>(R.id.rvTextArea) rv_text.text = item.titleText Glide.with(context) .load(item.imageUrl) .into(rv_img) } } } RVAdapter.kt package com.example.mango_content import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.webkit.WebView class ViewActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_view) val webView = findViewById<WebView>(R.id.webView) webView.loadUrl(intent.getStringExtra("url").toString()) } }ViewActivity.kt<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Mango_content" android:usesCleartextTraffic="true" tools:targetApi="31"> <activity android:name=".ViewActivity" android:exported="false" /> <activity android:name=".SplashActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity" android:exported="true"></activity> </application> </manifest>manifest.xml실행 했을 시, 다음과 같은 오류가 일어납니다.망고플레이트가 서버 종료되어서 저는 캐치테이블 사이트를 이용하였습니다.오류 구글링하여 매니패스트에android:usesCleartextTraffic="true" 도 추가 하였는데 그대로 오류나서 질문 드립니다. ㅠㅠ
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
alt + 엔터를 했는데도 안나오면 어떻게 해야될까요?
Intent를 알트 + 엔터를 쳤을 때 안나오는데 어떻게 하면 나오는지 궁금합니다.
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
람다 함수 중복 문제가 발생했는대 해결을 못하고있습니다.
명언 앱 마지막 부분에서 컴파일을 실행하면 발생하는 오류가 있습니다. Type com.cho.goodwards.MainActivity$$ExternalSyntheticLambda0 is defined multiple times: /Users/mac/Desktop/개인공부/Kotlin_ex/ex.5/app/build/intermediates/project_dex_archive/debug/out/com/cho/goodwards/MainActivity 2.dex, /Users/mac/Desktop/개인공부/Kotlin_ex/ex.5/app/build/intermediates/project_dex_archive/debug/out/com/cho/goodwards/MainActivity.dex 예제 파일을 받아 복붙해도 똑같이 오류가 발생합니다. gpt 에 질문 하니 binding = DataBindingUtil.setContentView(this, R.layout.activity_main) binding.showAllSentenceBtn.setOnClickListener { val intent = Intent(this, SentenceActivity::class.java) startActivity(intent) } binding.goodWordTextArea.setText(sentenceList.random()) } 이부분에서 문제가 생긴다고 하는대 안드로이드 처음이라 오류 찾는게 좀 힘듭니다. 구글링에서도 그래들 빌드 설정을 바꿔라는대 제가 잘못 수정했는지 오류가 여전히 걸리더군요
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
꺼짐 현상
질문 시 전체 프로젝트 코드를 깃허브/구글 드라이브에 올리신 후 링크를 공유해주시면좀 더 빠르게 도움드릴 수 있습니다.https://drive.google.com/file/d/1lNIdqkBgFYh9sKKKL9f9GDCkewtzB9p5/view?usp=sharing 그 전 강의 부터 안되긴 햇는데요 ( 사진 클릭을 하면 링크로 안넘어가지고 스크립트 활성화를 시키라고 해서webView.settings.javaScriptEnabled = true부분을 추가 했습니다.이렇게 수정햇더니 사진을 누르면 꺼집니다.그리고 다음강의 계속 진행햇는데회원가입부분에서 에뮬레이터가 꺼집니다.어느 부분이 잘못 되었는지 모르겠습니다.
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
안드로이드 스튜디오도 VS코드처럼 코드 플러그인 지원해주는게 있나요?
안녕하세요 강사님프런트엔드 작업위주로 해보다가 앱에 관심이 생겨서 초급자부터 들어보고 있는데 VS코드처럼 코드정리를 해주거나 돋보이게 하는 플러그인이 있는지 궁금합니다!만약 있다면 강사님이 사용하시는 플러그인은 어떤것이 있는지 궁금하기도 하네용..ㅎㅎ
- 해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
섹션5 리사이클러 뷰(recycler view) 만들어보기
섹션5 리사이클러 뷰(recycler view) 만들어보기 수강 중 강사님의 결과와 달라서 질문드립니다.해당 강의 11:58까지 따라하면 강사님의 결과는이렇게 a, b, c가 출력되던데저는 이렇게 a만 출력됩니다.(10:14에서도 강사님의 화면에는 rv가 3개 나오던데 저는 마찬가지로 1개만 나와요.)제가 뭘 잘못했는지 궁금합니다 ㅠㅠ 소스코드(Main.activity)package com.example.rv_ex import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val items = mutableListOf<String>() items.add("a") items.add("b") items.add("c") val rv = findViewById<RecyclerView>(R.id.rv) val rvAdapter = RVAdapter(items) rv.adapter = rvAdapter rv.layoutManager = LinearLayoutManager(this) } }소스코드(RVAdapter)package com.example.rv_ex import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView class RVAdapter(val items: MutableList<String>) : RecyclerView.Adapter<RVAdapter.ViewHolder>(){ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RVAdapter.ViewHolder { val view = LayoutInflater.from(parent.context).inflate(R.layout.rv_item, parent, false) return ViewHolder(view) } override fun onBindViewHolder(holder: RVAdapter.ViewHolder, position: Int) { holder.bindItems(items[position]) } //전체 리사이클러뷰의 개수 override fun getItemCount(): Int { return items.size } inner class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) { fun bindItems(item: String) { val rv_text = itemView.findViewById<TextView>(R.id.rvItem) rv_text.text = item } } } 소스코드(activity_main.xml)<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rv" android:layout_height="match_parent" android:layout_width="match_parent"/> </androidx.constraintlayout.widget.ConstraintLayout> 소스코드(rv_item.xml)<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/rvItem" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" android:text="rv" android:textSize="20sp" /> </LinearLayout>
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
ActivityMainBinding 에러
package com.bokchi.databinding_ex import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.Toast import com.bokchi.databinding_ex.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { private lateinit var binding : ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val btn = findViewById<Button>(R.id.testBtnID) btn.setOnClickListener{ Toast.makeText(this, "click", Toast.LENGTH_LONG).show() } } }이렇게 적었는데 에러가 나요..왼도우 L 눌렀는데도 안떠서 적었는데도 빨간색으로 에러만 뜸니다.....
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
프로젝트를 만들고 실행하면 에러가 떠요...
지금 프로젝트를 만들고 실행을 하면 An issue was found when checking AAR metadata: 1. Dependency 'androidx.activity:activity:1.8.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on).이런 에러가 뜸니다...항상 계속 만드는데도 계속 에러가 떠서 강의를 따라갈수 없어요...어떻게 해야 될까요?
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
트로트 리스트 파일 빌드시 성공은 하지만 앱 실행이 죽어요
https://github.com/bongryeong/wonderland
- 미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
ListView에서 해당 item의 클릭 이벤트는 어떻게 적용시키나요?
ListView를 공부하다가 해당 item을 클릭 했을때 이벤트 처리가 궁금해서 찾아봤는데 아직 내공이 부족한지 정보를 못찾아서 질문드립니다미리 답변 감사합니다