Android Volley Tutorial (Android PHP MySQL) – How to Setup Volley Library (Part 1)

안녕하십니까, 제 이름은 Oum Saokosal입니다 오늘 우리는 안드로이드를 만드는 방법에 대해 이야기합니다

PHP와 내 앱은 Volley를 사용합니다 이것은 당신이 나를 찾을 수있는 곳입니다 YouTube, Facebook, Twitter 및 GitHub에서 나를 찾을 수 있습니다 나는 안드로이드 발리에 관한 4 개의 비디오를 만들 것입니다 첫 번째 부분은 발리 라이브러리 싱글 톤과 RequestQueue에 관한 것입니다

두 번째는 PHP와 MySQL에서 데이터를 보내고 읽는 방법에 관한 것입니다 Part 3 데이터를 JSON으로 변환하고 사용자 정의 목록보기로 보내는 방법에 대해 설명하겠습니다 제 4 부 서버에 이미지를 보내는 방법에 대해 이야기 할 것입니다 그래서 안드로이드 발리슛은 멀티 태스킹을 할 것입니다 Android 초기 버전에서는 메인 프레임에서 멀티 태스킹을 할 수 있었지만 메모리 누수 같은 많은 문제

때로는 아주 오랫동안 주 스레드에서 완료 할 작업을 기다려야합니다 그런 다음 Android 30에서 AsyncTask라는 다른 라이브러리를 사용합니다 그래서 그거 좋았어

많은 응용 프로그램에 충분했습니다 하지만 여전히 AsyncTask는 비동기식입니다 작업 A가 완료 될 때까지, 작업 B가 대기해야합니다 이 같은 바닥에 찰 때까지, 여기 그림과 같이 공중에서 기다려야합니다

또한 처음에는 처음이었습니다 대기열에서와 같은 것 웨이터는 사람 작업을 완료해야합니다 그런 다음 다음이 올 수 있습니다 이렇게 긴 큐가 있으면 어떨까요? 그런 다음 Android에서 발리 라이브러리를 소개합니다

사람들은 발리 라이브러리를 혼동합니다 배구와 같이 튀는 공처럼 보입니다 배구가 아니에요 발리는 영어로 다른 뭔가를 의미합니다 동시에 공기와 당신은 하나의 화살을 쏘지 않습니다

동시에 많은 사람들이 화살을 쏘게됩니다 이것이 바로 발리의 모습입니다 좋아, 이제 Google에 가자 안드로이드 발리 라이브러리를 입력하면 안드로이드에서 처음으로 볼 수 있습니다 이것에 대한 좋은 교훈이 있으며 그것을 읽을 수는 있지만, 그것을 설정하는 방법

그래서 안드로이드는 안드로이드 오픈 소스 프로젝트의 일부이므로 프로젝트를 복제하고이를 위해 사용할 수 있습니다 비어 있는 또는 직접하지 않으려는 경우 어쩌면 당신은 이것을 사용할 것입니다

두 번째 링크는 여기에 있습니다 그러나 그는 자신의 도서관이 더 이상 사용되지 않는다고 말했다 따라서 이것을 대신 사용해야합니다 당신이 그 사람을 사용하고 싶다면이 사람을 사용할 수 있습니다 이걸로 행복하지 않다면 스스로 할 수 있습니다

이런 식으로 갈 수 있습니다 안드로이드 발리 라이브러리를 만들면이 블로그의이 링크로 이동합니다 우리는 어떻게 발리 라이브러리를 jar 파일로 변환합니다 처음에는 '자식'과 '개미'가 있어야 코드를 직접 작성한 다음 병을 얻을 수 있습니다 또는 여기에서 jar 파일을 다운로드 할 수 있습니다

그래서 당신은 여기에서 다운로드 할 수 있습니다 아니면 그냥이 것을 사용할 수 있습니다 자, 먼저 이것을 시도해 봅시다 그래서 당신은 다음에 당신의 프로젝트로갑니다 이것은 기본적인 활동입니다

좋아요 나는 단지 뭔가 지적하고 싶다 Android Studio 20을 사용 중이며 Android SDK 233으로 업데이트되었습니다

그래서 당신의 인터페이스는 자바 폴더에서와 조금 더 비슷할 수도 있습니다 2 개 대신 3 개의 하위 폴더가 있지만 중요하지 않습니다 테스트 용입니다 그래서 당신이해야 할 일은 주요 활동에서 똑같은 것입니다 따라서 두 번째 라이브러리에서 그리드를 작성해야하고 라이브러리를 추가해야합니다

이 인터넷에서이 하나를 클릭하고 지금 동기화를 클릭하면 인터넷이 필요합니다 그래서 그것을 테스트합니다 몇 가지 코드를 작성하여 테스트 해보고 시작할 수 있습니다 이것은 발리 라이브러리 RequestQueue의 일부입니다 좋구나

확인 해보자 네 이제 올바르게 가져 왔습니다 이 가져 오기가 표시되지 않으면 Windows에서 권한을 제대로 보내지 않았거나 올바르게 보내지 않았을 수 있습니다 당신은 파일에 가서 아무것도 설정하지 않거나 무엇이 설정되어있는 건지 여기에 있습니다

맥, 여기 또는 여기로 가서 "자동 가져 오기"를 여기에 입력하십시오 세 가지 수표를 모두 확인해야합니다 이제 라이브러리를 설치하고 읽었지만 더 많은 것을 필요로합니다 여기에 RequestQueue 클래스이며 당신이 아닌 많은 개체를 만들 수 있습니다 좋은 그래서 Android는 또 다른 개념을 도입했습니다

요청 대기열 설정으로 이동합니다 아래로 그것을 Singleton이라고합니다 싱글 톤은 4 개 그룹의 디자인 패턴의 일부로, 방지하고 생성하는 데 도움이됩니다 한 클래스의 많은 객체 그래서이 부분과 클래스에서 하나의 개체가 있는지 확인하십시오

이것은 요청 대기열을위한 것이지만이 싱글 톤입니다 코드를 복사하고로 돌아 가기 만하면됩니다 기계적 인조 인간 여기에 새로운 Java 클래스를 추가하면 원하는 것을 내 싱글 톤이라고 부를 수 있습니다 MySingleton과 같은 이름을 넣으려는 이유

예를 들어 문제가 생겼을 때 뭔가 이상 할 때가 있습니다 오 안드로이드 발리 mysingleton 것 같은 것 그래서 구글의 제안이 있으며 아마 오류라고 말하면 StackOverflows가 많이 보일 것입니다 똑같은 클래스 이름과 메소드를 사용하면 코드를 가져 와서 여기에서 오류를 수정할 수 있습니다 그래서 MySingleton이라는 이름을 붙이십시오

괜찮아 이제 LruCache에 문제가 하나 더 생겼습니다 LruCache의 맨 끝으로 가십시오 제어 + 공간 이제 Android 지원 android

supportv4util을 사용해야하며 오류가 수정되었습니다 인터넷이 필요하기 때문에 Android 매니페스트로 이동해야합니다 그래서 당신은 인터넷 사용 허가를 요청하는 "사용 허가"인터넷을 사용하는 것입니다

지금 검색하면 잘 될 것입니다 그리고 예를 들면 여기를 볼 수 있습니다 여기에서 가장 중요한 것은 RequestQueue이지만 RequestQueue는 이제 MySingleton이됩니다 MySingleton은 이제 원하는만큼 RequestQueue를 추가 할 수 있습니다 여기에있는 것은 복제품이있는 곳이며 여기에 있습니다

버튼을 작성하고 클릭하면 데이터를 얻을 수 있습니다 그러나 지금 메뉴를 필요로하지 않는다면 그냥 이것을 삭제하면됩니다 그리고 여기에서 요청을 스트링하기 위해 요청할 수 있으며 라이브러리의 일부입니다 문자열 요청, 네트워크 요청, 작업 요청, JSON 요청을 호출 할 수 있습니다 기본은 문자열 요청입니다

여기서 문자열 요구로 시작합시다 세 가지가 있습니다 첫 번째 방법은 GET 또는 POST입니다 GET 또는 POST를 언급하지 않으면 기본값은 GET입니다 그리고 URL이 필요합니다

URL이 무엇이며 이제는 "Google"이라고 입력하면됩니다 그리고 Google이 https를 사용하기 때문에 여기에 's'가 있는지 확인하십시오 그래서 또 다른 오류가 필요합니다 또한 응답하지만 오류가 응답하고 이것은 데이터 응답입니다 그래서 String 요청을 사용한다면 여기

그래서 당신은 당신이 로그와 logd를 보내고 싶은 데이터를 얻습니다 이제 TAG과 간단한 이름을 만들고 싶습니다 어쩌면 응답을 표시하고 여기에 Google에서 많은 코드가있을 것입니다 어쩌면 뭔가 오류가 있다면

승인 여기 '익명'클래스에서 'this'를 사용하고 있습니다 따라서 여기에서 애플리케이션 컨텍스트를 얻으십시오

이제 당신은 가고 좋은데 Genymotion을 사용하고 있습니다 그리고 원하는 것을 자유롭게 사용할 수 있습니다 자, 로그를 보자 그래서 당신은이 수업의 이름을 사용했습니다 이제 이걸 볼 수 있습니다

Googlecom에서 검색 한 데이터입니다 확실하지 않은 경우 Google에 갈 수도 있고 그렇지 않을 수도 있습니다 그리고 오른쪽 클릭> 소스보기 이제 몇 가지 더 비슷한 것이 있어야합니다

좋아요 매우 유사합니다 Google이 유연한 코드를 사용하기 때문에 정확하게 동일하지 않습니다 여기서 저는 'kh'를 사용합니다 여기에 '

com'을 사용합니다 'kh'로 변경하면 동일한 것임에 틀림 없습니다 자, 여기에 허가서를 쓰지 않았다고합시다 그냥 삭제하십시오

Android 20에는 여기에 2 개의 버튼이 있습니다 일반적으로 실행을 클릭하고 처음부터 자동으로 실행하지만 이제 중지해야합니다 사소한 변화처럼 여기에서 실행하면 그냥 이렇게 실행할 수 있습니다 즉시 실행되고 더 빨라지지만 더 많은 것을 변경하려고합니다

그걸 막으려는 허락 같은 것 지금 오류가 있습니다 여기에 권한을 부여하지 않으면 여기에 로그를 확인하십시오 볼만한 것은 아니지만이 같은 것을 보면 안드로이드 매니페스트에 권한을 추가하는 것을 잊어 버린 것을 알 수 있습니다 그럼 다시 돌려 봐

승인 이제 너는 가야한다 URL이 잘못되면 다른 메시지가 나타납니다 승인 이제 로컬 호스트에서 데이터를 가져 오도록하겠습니다

XAMPP를 사용하므로 WAMP를 사용하면 괜찮습니다 그것은 당신에게 달려 있습니다 지금 시작하십시오 계속 진행하기 전에 안드로이드에서 데이터를 읽습니다 나는 당신에게 로컬 호스트를 사용할 때 매우 중요한 것을 보여주고 싶습니다

당신은 다른 것을 사용하고 있습니다 PC와 달리 하나의 로컬 호스트 만 있지만 여기에 있습니다 안드로이드 에뮬레이터에서 다른 로컬 호스트가 있으므로 지금 말하면 로컬 호스트라고 말하고 싶습니다 이렇게하면 PC 로컬 호스트에 전화를 걸 수 없습니다 대신 10

032를 사용해야합니다 이 숫자 3은 GenyMotion 용이며 네이티브 Android 에뮬레이션을 사용하는 경우 100

22 확인을 사용합니다 다른 포트를 사용하는 경우 포트를 입력하십시오 80을 사용하는 경우 기본 포트, 이렇게 지정하지 않아도됩니다 그리고 아마도 프로젝트

귀하의 프로젝트는이 파일이거나 다음 파일 일 것입니다 승인 따라서 문제는이 코드와 관련이 없으므로 일반적으로 데이터를 쉽게 얻을 수 없습니다 또는이 라이브러리는 wamp 권한에 관한 것입니다 따라서 Google에 가서 WAMP 권한과 같이 입력하면 Android로 이동하면됩니다

당신이 여기에서 많은 문제를 보게 될 것이고 그 문제는 그들로부터 온다 WAMP 기본 IP 주소가 127001이기 때문에 다른 IP 주소에서 전화를 걸지 않도록하십시오

하지만 이제는 다른 IP 주소를 사용하여 로컬 호스트를 호출하므로 phpmyadmins로 가야합니다 이런 식으로 고치고 여기에서 여기로 바꿀 수 있고 어쩌면 당신은 단지 뭔가를 말할 수 있습니다 보다 나은 그리고 아마도 XAMPP를 위해 무언가를 제거해야합니다 나는 당신이 여기에 config와 config를 열어야한다고 생각한다

좋아, 여기 뭔가 있는거야 그래서 당신 자신을 알아 내야하고 더하기 당신이 탐색 할 수 있는지 확인해야합니다 안드로이드 에뮬레이터에서 로컬 호스트 그래서 너는 집에 간다 그리고 당신은 여기에있는 로컬 브라우저에 가서 당신을 찾았습니다

이제 당신은 호스트를 찾지 않겠지 만 10032를 타이핑하면 3은 Genymotion 다음에 좋은 것을 두 가지를 사용하여 하나를 건설하십시오 당신이 이것 같이 볼 경우 당신은 맞다

좋아, 너는 이렇게 할 수 없다 권한이 거부되거나 액세스가 금지 된 것을 확인한 다음 Google을 찾아서 찾아야합니다 해결책 괜찮아 이제 프로젝트가 생겼습니다

고객 및 제품은 여기에 있습니다 맞습니다 이미 첫 번째 일입니다 그래서 돌아 가자 나는 나중에 이것을 설명 할 것이다

이제 이것은 여기에서 대체하고 싶습니까? 그리고 로컬 호스트를 10032로 변경하십시오 이제 데이터를보실 수 있습니다

그래서 마지막으로 요청에 대해 이야기하고 싶습니다 전에 말했듯이 싱글 톤은 원하는만큼의 요청을받을 수 있습니다 그래서 당신은 구글과 어쩌면 다른 하나를 도울 수 있습니다 그래서 다른 하나는 구글입니다kh 캄보디아 그리고 이것을 1과 2라고 부릅니다 이제 두 가지 요청이 있습니다 그래서 보자 좋아, 여기서 무슨 일이 일어나는지 보자

이제 첫 번째 데이터가 표시됩니다 이 로컬 호스트에서 두 번째 하나는에서 Google 그러나 내가 문자열 요청을 호출했기 때문에이 사실을 알아 채면 Google이 먼저 괜찮습니다 하나는 첫 번째이고 두 번째는 두 번째입니다 첫 번째는 Google입니다

두 번째는 로컬 호스트입니다 그러나 여기에서 데이터를 볼 때 먼저 로컬 호스트의 데이터를 가져옵니다 왜 왜냐하면 그것은 멀티 태스킹이기 때문입니다 어떤 작업이 우선적인지 상관하지 않습니다

처음에는 처음에는 아니지만 멀티 태스크입니다 그것은 진짜입니다 첫 번째 데이터가 먼저 완료되면 Android에 먼저 전송합니다 두 번째 것이 나중에 나올지라도 그러나 그때 그것은 상관하지 않습니다

그것은 데이터의 양과 요청 시간에 신경을 쓴다 그것은 그것이 완료 되 자마자 그것을 되돌려 보낼 것입니다 괜찮아 발리 슛은 멋진 일입니다 좋아, 그게 1 부야

나는 2 부에서 너를 만날 것이다 그리고 2, 3 부와 기타 다른 동영상을 내 채널에 구독하는 것을 잊지 마시기 바랍니다 게다가 시청 해주셔서 감사합니다 그리고 다음 비디오에서 만나겠습니다

고맙습니다