inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

개복치개발자님의 게시글

개복치개발자 개복치개발자

@bokchi

수강생
6,367
수강평
418
강의 평점
4.8

게시글 1391

질문&답변

안드로이드 에뮬레이터가 실행이 안 되요...ㅠ

안녕하세요 AI 인턴의 말처럼 환경변수를 다시 설정하는 방법이 있습니다만 가장 쉬운 방법은 그냥 실제 기기를 연결해버리면 가장 쉽습니다. https://www.youtube.com/watch?v=MaY3bCkNTpM 혹시 안드로이드 기기가 있다면 해보시겠어요?

좋아요수
0
댓글수
2
조회수
140

질문&답변

30 강 소스 좀 올려 주십시요

package com.bokchi.goodwords import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.BaseAdapter import android.widget.TextView class ListViewAdpater(val List : MutableList ) : BaseAdapter() { override fun getCount(): Int { return List.size } override fun getItem(position: Int): Any { return List[position] } override fun getItemId(position: Int): Long { return position.toLong() } 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 listviewText = convertView?.findViewById (R.id.listViewTextArea) listviewText!!.text = List[position] return convertView!! } } package com.bokchi.goodwords import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import androidx.databinding.DataBindingUtil import com.bokchi.goodwords.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { private lateinit var binding : ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val sentenceList = mutableListOf () sentenceList.add("검정화면에 대충 흰글씨 쓰면 명언같다.") sentenceList.add("사람에게 하나의 입과 두 개의 귀가 있는 것은 말하기보다 듣기를 두 배로 하라는 뜻이다.") sentenceList.add("결점이 없는 친구를 사귀려고 한다면 평생 친구를 가질 수 없을 것이다.") sentenceList.add("자기 아이에게 육체적 노동을 가르치지 않는 것은 약탈과 강도를 가르치는 것과 마찬가지다.") sentenceList.add("승자는 눈을 밟아 길을 만들지만 패자는 눈이 녹기를 기다린다.") sentenceList.add("두 개의 화살을 갖지 마라. 두 번째 화살이 있기 때문에 첫 번째 화살에 집중하지 않게 된다.") sentenceList.add("그 사람 입장에 서기 전까지 절대 그 사람을 욕하거나 책망하지 마라.") sentenceList.add("뛰어난 말에게도 채찍이 필요하다.") Log.e("MainActivity", sentenceList.random()) 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()) } } package com.bokchi.goodwords import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.ListView class SentenceActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_sentence) val sentenceList = mutableListOf () sentenceList.add("검정화면에 대충 흰글씨 쓰면 명언같다.") sentenceList.add("사람에게 하나의 입과 두 개의 귀가 있는 것은 말하기보다 듣기를 두 배로 하라는 뜻이다.") sentenceList.add("결점이 없는 친구를 사귀려고 한다면 평생 친구를 가질 수 없을 것이다.") sentenceList.add("자기 아이에게 육체적 노동을 가르치지 않는 것은 약탈과 강도를 가르치는 것과 마찬가지다.") sentenceList.add("승자는 눈을 밟아 길을 만들지만 패자는 눈이 녹기를 기다린다.") sentenceList.add("두 개의 화살을 갖지 마라. 두 번째 화살이 있기 때문에 첫 번째 화살에 집중하지 않게 된다.") sentenceList.add("그 사람 입장에 서기 전까지 절대 그 사람을 욕하거나 책망하지 마라.") sentenceList.add("뛰어난 말에게도 채찍이 필요하다.") val sentenceAdapter = ListViewAdpater(sentenceList) val listview = findViewById (R.id.sentenceListView) listview.adapter = sentenceAdapter } } 안녕하세요 이렇게 드리면 될까요? 잘 안되시면 전체 코드를 구글 드라이브에 올리신 후 공유해주세요~

좋아요수
0
댓글수
2
조회수
97

질문&답변

ListView 초기 실행 안됩니다.

안녕하세요 우선 수강에 불편을 드려 죄송합니다. 최신 버전으로 강의를 준비하고 있고 1-2주 내로 공개 예정이니, 잠시만 기다려주시겠어요? 그리고 전체 프로젝트를 압축해서 구글 드라이브에 올려주시면 제가 다운받아서 실행해보겠습니다.

좋아요수
0
댓글수
2
조회수
110

질문&답변

dataBinding 시 오류

여기 kotlin 버전을 바꾸시고 sync now를 눌러보시겠어요?

좋아요수
0
댓글수
2
조회수
84

질문&답변

안드로이드 스튜디오 버전 차이로 초기 empyt activity 선택하면 안됩니다.

안녕하세요 지적주셔서 감사합니다 3. [2024.05 업데이트](왕초보 필수시청 - 1) 최신 안드로이드 스튜디오로 처음 프로젝트를 만들 때 inflearn.com/courses/lecture?courseId=327096&unitId=157884 해당 부분에 관련 보충을 넣어놓긴 했는데, 말씀하신대로 혼란이 있으실 수도 있을 것 같습니다 1-2개월 이내로 전체 강의 리뉴얼을 진행하겠습니다!

좋아요수
0
댓글수
2
조회수
138

질문&답변

context의 구별에 대하여

안녕하세요 혹시 강의 중 어떤 케이스를 보고 말씀주시는 것일까요? 범용적인 케이스에서는(앱 전체 라이프사이클에서는 applicationContext) 그냥 activity에서는 this, fragment에서는 activity의 context를 가져오는 requireContext형태로 사용합니다. 안드로이드 라이프 사이클과 관련이 있는데 activity라는 화면 fragment는 화면 안에 작은 부분 application은 앱 전체 이렇게 생명주기를 관리하고 각 생명주기별 참조하는 context가 달라서 사용하는 것이라고 생각하시면 될 것 같은데 사실 이런 부분은 조금 더 메모리관리를 신경쓰게 되는 순간부터 중요한 것이라 일단 지금 화면(activity)의 context를 this로 참고하고 이 안에서는 requireContext 형태로 fragment에서 참고한다 정도로 이해하시면 될 것 같습니다만, 혹시 충분한 답변이 되셨을까요? 예를 들여 n번째 강의에서는 이렇게 사용했는데 k번째 강의에서는 이렇게 사용해서 왜 그런것인지 궁금하신지 문의주시면 해당 부분 답변드릴 수 있을 것 같습니다!

좋아요수
0
댓글수
2
조회수
84

질문&답변

"프롤로그에서 ..." 오류 관련해 직전 질문에 대한 추가 질문입니다.

안녕하세요 질문은 AI인턴의 답변 참고하시면 좋을 것 같습니다. 저도 처음에 했던 생각입니다 다만, LinearLayout 을 쓰면서 조금 더 디테일하고 복잡한 UI를 구성할 때 constraintLayout 이 더 적절하다고 느껴진 순간이 몇번 있었습니다. 구현의 난이도에 따라 선택하시면 될 것 같습니다.

좋아요수
0
댓글수
2
조회수
80

질문&답변

"프롤로그에서 콘텐츠가 허용되지 않습니다." 오류

확인해봤습니다. ConstraintLayout에서 제약조건(수평/수직) 모두 제약조건이 있어야합니다 android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="parent" /> layout_constraintTop_toTopOf 수직 조건이 있지만 수평 관련된 조건이 없습니다. 아래와 같이 변경해보시겠어요?

좋아요수
0
댓글수
3
조회수
187

질문&답변

"프롤로그에서 콘텐츠가 허용되지 않습니다." 오류

안녕하세요~ Activity와 fragment를 포함한 모든 코드를 공유해주시면 저도 살펴보겠습니다! 압축파일 형태로 구글 드라이브같은 곳에 업로드 후 다운받을 수 있는 링크를 공유주셔도 되고 코드 전체를 복사 붙여넣기 해주셔도 좋습니다!

좋아요수
0
댓글수
3
조회수
187