inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

리사이클러뷰 오류 해결 방법이 궁금합니다.

미해결

[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)

개발자님 안녕하세요. 안드로이드 커뮤니티 앱 만들기 섹션 4 팁 페이지 만들기 중 컨텐츠 리스트 만들기를 공부하고 있습니다. 공부하던 중 리사이클러뷰에 오류가 있어서 질문 남깁니다. 오류는 화면에 그리드의 개수만큼만 아이템이 뜹니다. 아이템을 4개를 넣어 놓았을 때, 그리드의 개수가 2개면 아이템 2개만, 그리드 개수가 3개면 아이템 3개만, 4개면 4개만 화면에 뜹니다. 그리드 개수가 5개면 4개만 뜹니다. 관련 코드 아래에 작성해 놓겠습니다. 검토해주시면 정말 감사하겠습니다. 혹시 전체 코드가 필요할 시 바로 구글드라이브로 전달해드리겠습니다!! 매번 감사드립니다. -ContentsListActivity package com.example.mysolelife.contentsList import android.os.Bundle import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.example.mysolelife.R class ContentsListActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_contents_list) val rv : RecyclerView = findViewById(R.id.rv) val items = ArrayList<ContentsModel>() items.add(ContentsModel("imageUrl1", "title1")) items.add(ContentsModel("imageUrl2", "title2")) items.add(ContentsModel("imageUrl3", "title3")) items.add(ContentsModel("imageUrl4", "title4")) val rvAdapter = ContentsRVAdapter(items) rv.adapter = rvAdapter rv.layoutManager = GridLayoutManager(this, 2) } } -ContentsModel data class ContentsModel ( var title: String = "", val imageUrl : String = "" ) -ContentsRVAdapter class ContentsRVAdapter(val items : ArrayList<ContentsModel>) : RecyclerView.Adapter<ContentsRVAdapter.Viewholder>() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ContentsRVAdapter.Viewholder { val v = LayoutInflater.from(parent.context).inflate(R.layout.contents_rv_items, parent, false) return Viewholder(v) } override fun onBindViewHolder(holder: ContentsRVAdapter.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 : ContentsModel){ val contentTitle = itemView.findViewById<TextView>(R.id.textarea) contentTitle.text = item.title } } } -activity_contents_list.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:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".contentsList.ContentsListActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="카테고리 영역 텍스트" android:textSize="20sp" android:textStyle="bold" android:layout_marginTop="20dp" android:textColor="@color/black" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="80dp"/> </androidx.constraintlayout.widget.ConstraintLayout> -contents_rv_items <?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:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".contentsList.ContentsListActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="카테고리 영역 텍스트" android:textSize="20sp" android:textStyle="bold" android:layout_marginTop="20dp" android:textColor="@color/black" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="80dp"/> </androidx.constraintlayout.widget.ConstraintLayout>

  • android
  • kotlin
  • firebase
qwerty111222 댓글 1 좋아요 0 조회수 227

뷰 개발 - 테이블페이지 (삽입 Script)부분

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

안녕하세요. fragment-script-util.html을 작성하고 강의에서 보여주신것처럼 addDetail('detail')을 동작하는 버튼을 누르면 내용이 비어있는채로 아래에 창이 생기질 않네요. 콘솔에서 확인해보면 TypeError: Cannot read properties of null (reading 'detail') at addDetail (experience:775:65) at HTMLButtonElement.onclick (experience:366:105) 이 나타나고 콘솔로그를 찍어보면 데이터테이블 초기화가 안되고 있는것같습니다. 어떤부분을 점검해봐야할까요

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
s.y 댓글 1 좋아요 0 조회수 182

firebase 스마트폰으로 연결이 안되는데 원인이 있을까요

미해결

[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)

https://github.com/nadazelda/androidKotlinStudy.git 노트북에서 가상머신 띄우기엔 너무 느려서;; 제 개인 핸드폰으로 실행하는데 firebase 연결이 안되고 있어요 git에 소스 올려뒀습니다 _ori가 강의자료고 mysololife 가 지금 제가 작성하는거에요

  • android
  • kotlin
  • firebase
ssh7423 댓글 2 좋아요 0 조회수 300

전자액자에서 영상과 깃허브의 내용이 달라서 영상을 다보고 깃허브 내용으로 돌려봤는데 권한요청부터가 안됩니다.

해결됨

모던 안드로이드 - Jetpack Compose 입문

에뮬레이터에서는 정상 작동을 하는데 제 핸드폰으로 돌리면 권한요청에서부터 안됩니다. SDK는 아래와 같이 되어있고 제 핸드폰은 버전 14인데 이게 문제일까요? namespace = "com.example.photoframe" compileSdk = 34 defaultConfig { applicationId = "com.example.photoframe" minSdk = 28 targetSdk = 34 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } }

  • android
  • kotlin
  • jetpack
김영진 댓글 2 좋아요 0 조회수 220

팅김

미해결

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

선생님 혹시 제가 사진 띄우기하다가 다만들고 6번사진을 누르면 에물레이터가 팅기는 현상이있는데 왜그런지 알수있을까요? 혹시 제 파일을 보실수 있는 방법이있을까요?

  • android
  • kotlin
  • firebase
tmdrlk365w 댓글 12 좋아요 0 조회수 378

한번만 도와주세

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

commit and push 하면 저는 자꾸 이게 뜨는데 구글링 해도 잘안되는데 혹시 방법이있을까요?

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 135

jdk 설정 질문

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

혹시 원래 jdk17이 깔려있었는데 sdk 버전 이걸로 하면안되고 선생님이 올려주신 자료 jdk를 설치해서 zulu-17로 설정을 해야할까요?

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 173

window

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

window 사용자는 Dbeaver, Doker 설치를 그냥 구글에 쳐서 다운만 받아두면 되는건가요? 자료에 있는 window 개발 환경 구성하기는 다 다운 했습니다.(인텔리제이, h2데이타베이스, jdk17)

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 147

강의 자료가 안보이고 압출풀기가 안됩니다.

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

커뮤니티에 글올라온거 보고 압축 풀려고하는데 압축풀기가 안된다고 합니다 폴더 이름을 바꿔도 계속 안됩니다. wer05003@naver.com 으로 보내주실수있나요?

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 127

오류

미해결

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

이 오류때문에 시작도 못하고있습니다ㅠ 해결법좀 알려주세요 ㅠ

  • android
  • kotlin
  • firebase
tmdrlk365w 댓글 2 좋아요 0 조회수 184

internal 이해가 안갑니다 ㅠ

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 같은 모듈에서만 접근 가능하고 여기서 말하는 모듈은 IDEA Module, Maven project 등등 이라고 하셨는데요 이게 정확한 어디 범위인지 제가 지식이 낮아서 그런지 이해가 잘안됩니다ㅠ 다른 클래스에서는 접근이 가능 한건가요?

  • java
  • kotlin
  • 객체지향
댓글 1 좋아요 0 조회수 253

프로젝트 환경 변수 설정 에서 복사 붙여넣기 application-docker.yml

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

application-default.yml application-docker.yml 프로젝트 환경 변수 설정 에서 복사 붙여넣기 할때 들여쓰기 적용이 안되어. 일일이 적용했습니다.-windows- 그리고 아래와 같이 추가 설명을 달아주셨으면 좋겠네요 spring: # Spring 프레임워크 설정 jpa: # JPA (Java Persistence API) 설정 database: h2 # 사용할 데이터베이스로 H2를 지정 open-in-view: false # "Open EntityManager in View" 패턴 비활성화 show-sql: true # SQL 쿼리를 콘솔에 출력 hibernate: # Hibernate 관련 설정 ddl-auto: create # 데이터베이스 스키마를 자동으로 생성 properties: # 추가적인 Hibernate 속성 설정 hibernate: format_sql: false # SQL 쿼리를 포맷하지 않음 # default_batch_fetch_size: 10 # 주석 처리된 설정, 배치로 가져올 때 한 번에 가져올 개수 (사용되지 않음) datasource: # 데이터 소스 설정 url: jdbc:h2:mem:portfolio # H2 메모리 데이터베이스의 JDBC URL username: sa # 데이터베이스 사용자 이름 password: # 데이터베이스 비밀번호 (빈 값) driver-class-name: org.h2.Driver # H2 데이터베이스 드라이버 클래스 이름 h2: # H2 데이터베이스 관련 추가 설정 console: # H2 콘솔 설정 enabled: true # H2 콘솔을 활성화 path: /h2-console # H2 콘솔에 접근할 경로

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
늘해랑 댓글 2 좋아요 0 조회수 246

Navigation수업에서 string대신 bitmap을 인자로 넘겨주는 방법?

미해결

모던 안드로이드 - Jetpack Compose 입문

네비게이션 수업도중 궁금한 점이 있어서 질문드립니다. ThirdScreen으로 Bitmap데이터를 인자로 넘기고 싶습니다. 어떻게 해야 할지 모르겠습니다. 예를들어, 카메라 캡쳐해서 다음 스크린으로 캡쳐한 사진을 보내서 이미지를 보여주고 싶을 때, 어떻게 해야 하나요?

  • android
  • kotlin
  • jetpack
김창완 댓글 1 좋아요 0 조회수 199

프로그램 수정해서 다시 docker에 이미지를 올릴땐 내용처럼 이렇게 하면되나요??

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

안녕하세요. 이젠 기본적인 spring 기능은 이 강의로 많이 알게 되었습니다. 감사합니다. 빨리 강좌 하나 더 내주세요.... 코틀린 & spring 강좌가 너무 없어서 강의 찾아 다니느것도 일이네요 ... ==================================== Docker로 프로젝트 빌드 하기 . 강좌중에 만약 프로그램 수정하면 아래 처럼 하면 되나요? step 1) Gradle에서 jar 파일을 다시 만든다. ... 참고 ) 빌드중에 에러가 없어야함... test 코드에서도 에러가 없어야함 step2) docker-compose.yml 파일 새로고침 한다. step3) Dockerfile을 재 실행한다. step4) 도커가 잘 올라갔는지 확인한다. 프로그램 수정후엔 위 4개의 절차대로 진행하면 되나요?? 이걸로 회사의 개인 서버를 가지고 있는곳에 도커 깔고 동작 하면 서버의 기능으로 완벽할꺼 같은데 .... 그리고 구글 클라우드에도 프로그램 수정하면 도커에서 push up hub 를 누르고 docker-compose.yml 누르면 되나요?? 버전 수정 안해줘도 되나요? 추가 질문) 이건 뭐 제가 잘 모르고 좀 시간을 두고 확인해봐야 하는거라서 질문드리기 어렵지만 그래도 아시면 답변 부탁 드려용 ^^))) 테스트 코드 작성중 아래처럼 DSL로 작성하는 경우를 봤는데 꽤나 직관적이고 편리하게 되어 있더라구요... 아래 같은 테스트 코드 많이 사용하나요?? 비동기 방식에서만 사용하나요?? 테스트 코드 작성하는 방법이 꽤나 많아서 이걸 다 익혀야하는 생기네요 ㅠ.ㅠ 감사합니다. 다음 강의 꼭 내주세요. ^^

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
just kim 댓글 2 좋아요 0 조회수 653

테스트 코드와 관련하여 질문이 있습니다.

해결됨

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님! 테스트 코드와 관련하여 질문이 있습니다. 프로젝트를 해보면서 고민이 되었던 것 중 하나가 테스트 코드를 작성할 때 명확한 메서드명을 작성해야하는가에 대해서 고민이었습니다. @Dipslay로 어떤 테스트인지 명시를 하고 있음에도 메서드명이 명확한 것이 좋을까요?

  • java
  • spring
  • kotlin
  • spring-boot
  • 리팩토링
Jin Heung An 댓글 1 좋아요 1 조회수 223

코틀린+스프링에서의 Querydsl 도입 문의

미해결

실전! Querydsl

안녕하세요. 회사에서 기술 스택을 코틀린+스프링으로 변경하는데 Querydsl도 같이 사용하려고 학습하고 있습니다. 자료를 찾아보던 중 Querydsl의 유지보수 문제로 Querydsl 대신 다른 쿼리 빌더를 사용한다는 글을 보게 됐습니다. https://spoqa.github.io/2024/05/03/transfer-jdsl.html kapt 이슈 이외에도 Querydsl의 유지보수가 진행되지 않는건 맞아보이는데 Querydsl을 실무에서 도입하는데 문제가 없을지 고민이 많이 되고 있습니다. 실무에서 Querydsl을 도입하는데 문제가 없을지 많은 분들의 의견이 궁금합니다!

  • java
  • jpa
  • kotlin
max 댓글 1 좋아요 0 조회수 364

itmeView, converView 가 궁금합니다.

미해결

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun bindItem(item : ContentModel) { 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.titleImageUrl).into(rv_img) } override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View? { var convertView = convertView if (convertView == null) { convertView = LayoutInflater.from(parent?.context).inflate(R.layout.listview_item, parent, false) } val date = convertView?.findViewById<TextView>(R.id.ListViewDateArea) val memo = convertView?.findViewById<TextView>(R.id.ListViewMemoArea) date!!.text = List[position].date memo!!.text = List[position].memo return convertView } 안녕하세요 개발자님. 개발자님 좋은 강의 덕분에 많이 배우고, 강의 완강했습니다. 감사합니다. 공부 하면서 매번 궁금한 점이 있어서 질문 남깁니다. 첫번째 코드는 리사이클러뷰 어뎁터 코드이고, 두번째 코드는 리스트뷰 어뎁터 코드입니다. 리사이클러뷰 어뎁터에서는 itemView, 리스트뷰에서는 convertView를 사용하셨는데, 단순히 리사이클러뷰-itmeView 사용, 리스트뷰-converView 사용이라고 생각하면 될까요? 혹시 차이가 있다면 itmeView와 converView의 차이점도 알고싶습니다. 감사합니다.

  • android
  • kotlin
  • firebase
qwerty111222 댓글 1 좋아요 0 조회수 154

Accessing non-final property number in constructor

해결됨

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 먼저, 좋은 강의를 만들어주셔서 감사합니다. 잘 이해가 되지 않는 부분이 있습니다. Accessing non-final property number in constructor가 발생하는 이유를 다음과 같이 정리해보았는데 맞을까요?? 하위 클래스(Derived)를 인스턴스화하면서 상속받고 있는 상위 클래스(Base)가 먼저 생성 된다. init 블럭이 생성자보다 먼저 호출 되므로, init 블럭에서 프로퍼티에 접근하면 초기화되지 않은 기본값을 갖는다. init 블럭이 호출되고 하위 클래스에서 전달한 값이 상위 클래스 생성자에 있는 프로퍼티 값으로 초기화된다. 하위 클래스의 init 블럭이 호출될 때, number 프로퍼티 값은 상위 클래스가 갖는 number 프로퍼티 값을 출력 한다. "Accessing non-final property number in constructor 가 경고창이 드는 이유는 init 블럭에서 초기화되지 않은 number 프로퍼티에 접근했기 때문이다." 라고 정리하면 될까요?! 감사합니다. open class Base( open val number: Int = 100 ) { init { println("Base Class") /** * 호출 순서 : init 블럭 -> 생성자 * 따라서 init 블럭에서 number 프로퍼티에 접근하면 초기화되지 않은 초기값인 0을 갖게 된다. */ println("Base Class number ${number}") } } class Derived( override val number: Int ): Base(number) { init { println("Derived Class") println("Derived Class number : ${number}") } }

  • java
  • kotlin
  • 객체지향
장선애 댓글 2 좋아요 1 조회수 388

인기 태그

인프런 TOP Writers

주간 인기글