현재까지 발견된 이 책의 오탈자 정보와 오류(출간후 안드로이드 스튜디오 버전업에 따른 갱신까지 포함됩니다), 그리고 보다 매끄러운 문장을 위해 수정한 내용을 안내해 드립니다. 번역과 편집 시에 미처 확인하지 못하고 불편을 끼쳐드려 죄송하다는 말씀을 드립니다. 아래의 오탈자 사항은 추후 재쇄 시에 반영하도록 하겠습니다.
이외의 오탈자 정보를 발견하시면 옮긴이(jcspro777@gmail.com)나 출판사(help@jpub.kr)로 연락주시면 고맙겠습니다.
최종수정일자: 2021년 10월 19일 1쇄본 오탈자 |
661쪽 마지막 코드 블록에서(김O숙 님 제보)
@Entity(ForeignKeys = @ForeignKey(entity = Customer.class,
parentColumns = "id", childColumns = "purchaseId"))
class Purchase {
@PrimaryKey(autoGenerate = true)
@NonNull
@ColumnInfo(name = "purchaseId")
var int id: Int = 0
@ColumnInfo(name = "productName")
⇒
@Entity(ForeignKeys = @ForeignKey(entity = Customer.class,
parentColumns = "id", childColumns = "customerId"))
class Purchase {
...
@NonNull
@ColumnInfo(name = "customerId")
var int id: Int = 0
@ColumnInfo(name = "productName")
663쪽 코드 블록에서(김O숙 님 제보)
fun addCustomer(Customer customer)
⇒ fun addCustomer(customer: Customer)
fun insertCustomers(Customer... customers)
⇒ fun insertCustomers(vararg customers: Customer)
fun deleteCustomer(String name)
⇒ fun deleteCustomer(name: String)
fun deleteCustomers(Customer... customers)
⇒ fun deleteCustomers(vararg customers: Customer)
fun updateCustomers(Customer... customers)
⇒ fun updateCustomers(vararg customers: Customer)
fun deleteCustomers(Customer... customers): int
⇒ fun deleteCustomers(vararg customers: Customer): Int
---------------------------------------------------------------------------------------------------
249쪽 밑에서 3번째 줄 다음에서(옮긴이 지적)
<다음의 빨간색 코드 한 줄을 추가해 주시기 바랍니다.>
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
338쪽 2번째 줄에서(옮긴이 지적)
뷰 바인딩을 활성화하고 사용하도록 변경하자(안드로이드 스튜디오가 자동 생성한 코드에서
⇒ 뷰 바인딩을 활성화하고 사용하도록 다음과 같이 변경하자(안드로이드 스튜디오가 자동 생성한 코드에서
339쪽 밑에서 3번째 줄에서(옮긴이 지적)
앞에서 했던 대로 TextFragment에서도 뷰 바인딩을 사용하도록 변경하자(안드로이드 스튜디오가
⇒ 앞에서 했던 대로 TextFragment에서도 뷰 바인딩을 사용하도록 다음과 같이 변경하자(안드로이드 스튜디오가
341쪽 밑에서 8번째 줄에서(옮긴이 지적)
ToolbarFragment가 선택된 상태에서 속성 창의 layout_width 속성값을
⇒ 컴포넌트 트리에서 ToolbarFragment(id가 fragmentContainerView)가 선택된 상태에서 속성 창의 layout_width 속성값을
446쪽 1~2번째 줄에서(옮긴이 지적)
왼쪽의 속성 이름 필드에 targetId를 입력하고 오른쪽의
⇒ 왼쪽의 속성 이름 필드에 targetId를 입력하고 app:targetId를 선택한다. 그리고 오른쪽의
446쪽 6번째 줄에서(옮긴이 지적)
이번에는 속성 이름 필드에 clickAction을 입력하고 값 필드
⇒ 이번에는 속성 이름 필드에 clickAction을 입력하고 app:clickAction을 선택한 후 값 필드
464쪽 밑에서 3번째 줄~끝줄에서(옮긴이 지적)
하나의 애니메이션에는 KeyCycle이 선언된 KeyFrameSet이 여러 개 포함될 수 있다. 예를 들어, 다음의 KeyFrameSet을 activity_main_scene.xml 파일의 Transition 섹션에 추가해 보자. 그러면 버튼이 이동할 때 회전하는 효과가 추가될 것이다.
⇒ 또한 android:rotation 속성을 추가로 지정하면 이동 중에 회전하는 효과를 추가할 수 있다. 조금 전에 추가한 KeyFrameSet에 다음과 같이 android:rotation 속성을 추가하고 앱을 실행해보자.
527쪽 그림 58-5의 오른쪽 그림에서(옮긴이 지적)
⇒
560쪽 첫 번째 코드 블록에서(옮긴이 지적)
<취소선이 있는 두 줄의 코드를 다음과 같이 한 줄로 붙이고 취소선을 제거해야 합니다.>
// This method is called when the BroadcastReceiver is receiving an Intent
broadcast.
⇒
// This method is called when the BroadcastReceiver is receiving an Intent broadcast.
596쪽 첫 번째 코드 블록의 4번째 줄에서(옮긴이 지적)
class MyIntentService : JobIntentService() {
⇒ class MyJobIntentService : JobIntentService() {
598쪽 밑에서 8번째 줄에서(옮긴이 지적)
실제 장치나 에뮬레이터에서 앱을 실행하면 ‘Job Service Started’ 메시지가 로그캣 창에
⇒ 실제 장치나 에뮬레이터에서 앱을 실행하고 Start Service 버튼을 누르면 ‘Job Service Started’ 메시지가 로그캣 창에
716쪽 코드 블록의 밑에서 5번째 줄에서(옮긴이 지적)
mediaController?.setAnchorView(videoView1)
⇒ mediaController?.setAnchorView(binding.videoView1)
855쪽 코드 블록의 밑에서 밑에서 2번째 줄에서(옮긴이 지적)
<Bold 서체로 처리된 </application>은 진한 글씨가 아닙니다.>
</application>
⇒ </application>
'오탈자 정보' 카테고리의 다른 글
[그림으로 공부하는 TCP/IP 구조]_오탈자 (6) | 2022.01.03 |
---|---|
[빅데이터를 지탱하는 기술]_오탈자 (0) | 2021.08.15 |
[실전에서 바로 쓰는 시계열 데이터 처리와 분석 in R]_오탈자 (0) | 2021.08.02 |
[논쟁적 UX]_오탈자 (0) | 2021.06.25 |
[데이터 과학자와 데이터 엔지니어를 위한 인터뷰 문답집]_오탈자 (0) | 2021.04.26 |