돌아오신 것을 환영합니다
이번 영상에서는 AndroidManifest에 관해서 다뤄볼 예정이고 우리의 앱이 실제로 인터넷으로부터
데이터를 로딩할 수 있도록 필요한 모든 것들을 설정할 것인데
이는 AndroidManifest 파일에서 설정해야 하는 부분이기 때문입니다
자 그래서 우리 앱 안에 manifest라는 폴더가 존재합니다
그리고 이곳에는 manifest.XML이라는 파일이 있습니다
이 파일은 아직 XML 유형입니다
이것은 그냥 정보를 구조화하는 방식입니다
이 경우에는, 설정들과 여러분의 앱이 특징과 기능의 측면에서 스마트폰에
액세스 하고자 하는 앱에 대한 서로 다른 요청들을 구조화합니다
그래서 예를 들면, 여러분의 앱이 사진을 찍기 위해 카메라를 액세스하고자 하면
AndroidManifest 내에서 이에 해당하는 승인을 요청할 필요가 있습니다
그래서 이걸을 설정해야 합니다
이 승인 자체는 사용자에게 표시될 것이며 수락할지 안 할지에 대한 결정을
그들에게 요청할 것입니다
그러나 우리의 특정한 경우에는, 인터넷의 경우 말입니다, 필요없지 않습니까?
이제는 모든 앱들은 인터넷에 대한 권한을 이미 가지고 있거나 인터넷에 대한 액세스를 요청하고
자동으로 권한을 얻을 것입니다
하지만 과거에는 스마트폰으로는 특정해서 일일히 승인해야 했습니다
하지만 요즘에는 이는 불필요한 절차입니다
어쨋든, AndroidManifest파일은 XML 파일이라는 것이 보이실 것입니다
버전은 1.0이고 encoding은 UTF-8입니다
이것을 전에도 본적이 있는데, 이는 JSON 파일을 XML 파일로 변환할 때였습니다
여기 manifest는 namespace가 있고
이는 그냥 라이브러리 같은 것입니다
이 파일의 라이브러리 입니다
그리고 몇가지 도구를 사용합니다
그리고 이것이 이 도구들이 있는 곳입니다
그리고 여기에 앱이 있습니다
그래서 앱은 백업을 허용하고
fullBackupContent를 가졌고
여기 옆의 작은 아이콘을 가졌습니다
여길 보시면 이것의 표시되는 모습을 수정할 수도 있습니다
네임을 가지는데 우리의 경우 Recipe 혹은 My Recipe app일 것입니다
그리고 여기에 roundIcon인 launcher_round도 있습니다
그래서 보시면 여러 유형의 아이콘이 존재합니다
보시다시피 사용자들은 오른쪽에서 왼쪽이나 왼쪽에서 오른쪽을 사용하지 않습니다
그렇지만 오른쪽에서 왼쪽을 지원합니다
기본 설정으로서 targetApi는 31입니다
그래서 보시다시피 여기엔 많은 것들이 정의되어 있습니다
그리고 여기에 우리 앱 안에 잇는 activity가 있습니다
우리의 경우, Main activity 밖에 없습니다 In our case we only have the main activity.
만일 여러분이 더 많은 activity를 추가하고 싶으시면 여기에 반영해야만 합니다
이것은 나중에 다시 보겠습니다
우리의 현재 관심사는 여기 애플리케이션 위에 manifest XML의
열린 괄호의 닫히는 화살표 아래 부분 입니다
괄호 또는 manifest가 여기서 열리고 여기 tag는 이 아래에서 닫힙니다
그러니 여기에 uses-permission을 추가할 수 있습니다
이 uses-permission은
이제 Android:네임으로 되어 있는데
정말 많은 다른 permission들이 존재합니다
예를 들어 uses FINE_LOCATION 또는 COARSE_LOCATION과 같이 말입니다
이는 대강의 폭이 넓은 위치 또는 아주 촘촘한 위치 또는 uses NETWORK_STATE는어떤 네트워크에
연결되어 있는지를 알아야 하는 것이고 WI-FI state도 있고 등등 있습니다
하지만 그 무엇에도 우리는 관심이 없습니다
우리에게 필요한 것은 INTERNET입니다
그래서 그냥 INTERNET을 추가해주면 android.permission.INTERNET을 얻을 수 있습니다
그리고 이는 우리가 원하는 permission입니다
다음 사선(/)을 이용해서 닫아줘야 하고 초과 부등호를 작성합니다
그러면 이제 이것이 우리 앱에 internet permission을 추가할 것입니다
이제 우리 앱은 인터넷으로부터 데이터를 액세스하고 로딩할 수 있을 것입니다
이 줄이 바로 이를 위한 것이었습니다
좋습니다
우리는 네트워크 호출을 발동해야 했었습니다
그렇지 않았습니까?
우리는 무언가를 인터넷으로부터 액세스하는 호출을 가졌습니다
완료되었습니다
잠시만요
자 이제 앱을 실행하면, 아직도 에러가 보이며 이는 baseURL에
작은 에러가 있기 때문입니다
그래서 http요청을 사용할 때마다, 완전한 URL을 사용하는 것이 좋습니다
이 경우에는 https:// 뒤에 링크의 URL의 형식으로 말입니다
좋습니다
그래서 이 www.themeldb... 말입니다
이를 위한 가장 좋은 방법은 URL을 복사하고
주소창에 입력 후에
다시 여기서 복사하는 것입니다
그래서 표시하고 복사합니다
따라서 이것이 제공하는 것은 https를 포함한 전체 URL을 볼 수 있다는 것입니다
그리고 이제 이 엔드포인트를 삭제해 줍니다
이 categories.php 말입니다
그렇게 하면 여러분의 앱 안에 사용할 수 있는 URL을 얻게 됩니다
그래서 그냥 붙여넣기를 하면 됩니다
그러면 문제 없을 것입니다
가봅시다
이 시점에서 마침내 앱을 실행할 수 있습니다
오래 걸렸다는 것을 압니다
긴 영상이었고 긴 날이었습니다만 파일을 잘 받고 있고 요청되는데로
로딩이 이루어지고 있습니다
만약 빠르게 스크롤하면, 보시다시피, 특히 앱 실행의 반복이 이루어집니다
자 이제 로딩 중이라면 볼 수 있게 앱을 도킹하겠습니다
그래서 다시 시작하는 중이라면 로딩 스크린이 있을 것입니다
좋습니다 정말 1초도 안 되는 시간동안 볼 수 있었습니다
mainView 안에 하나의 indicator(로딩 표시)를 볼 수 있었습니다
잠시만 기다려주십시오
response recipeScreen에는 없습니다
자 여기 recipeScreen에 circularProgressIndicator가 정말 짧은 시간동안 보였습니다
그리고 바로 state를 가져와서 로딩을 멈췄습니다
그리고 카테고리 화면을 바로 표시했습니다
정말 많은 내용을 다뤘고
데이터 흐름과 모든 일이 어떻게 진행되는지에 대해서 긴 시간을 들였습니다
이에 대해서만 다루는 영상을 만들겠습니다
개인 판단하에 그냥 넘어가셔도 좋습니다만 모든 일이 어떻게 진행되는지에 대한 흐름에 대해
다시 한번 겪어보고 이 모든 코드들이 각자 서로 반응을 하고 교류를 하는지에 대해 또 다시 느껴보는 것이
느낌이 다르지 않습니까
다음 강의에서 뵙겠습니다