Best Android Studio Tutorial on How to Upload Image/File to Server (Part 1) ☎️ ANDROID PHONES

안녕하세요 여러분! 내 이름은 Oum Saokosal입니다 오늘 저는 이미지를 서버에 업로드하는 방법에 대해 이야기 할 것입니다

하지만 첫 번째 부분에서는 카메라와 갤러리에서 이미지를 얻는 방법에 초점을 맞 춥니 다 카메라의 경우 몇 가지 권한이 필요합니다 Intent를 사용하여 카메라를 전달하는 방법, OnActivityResult ()에서 이미지를 가져 오는 방법, 이미지를로드하는 방법을 알아야하며 이미지보기에 배치하거나 그냥 서버에 업로드하십시오 갤러리의 경우 특별한 권한이 필요하지 않습니다 하지만 먼저 에뮬레이터에 이미지를 업로드하는 방법을 보여줄 필요가 있습니다

갤러리를 열 수있는 방법을 알고 싶다면 인 텐트를 사용하여 이미지를 얻고 첫 번째 ActivityResult () 호출을 다시하고 이미지를로드하고 그걸로 무언가를 할 수 있습니다 사실 당신은 그것을하기위한 몇 가지 코드와 단계가 필요합니다 그러나 저는 제 자신의 라이브러리를 만들기로 결정했습니다 이 라이브러리는 제 자신의 라이브러리이므로이 튜토리얼에서 사용하게 될 것입니다 좋아요, 방금 빈 프로젝트를 새로 만들고 방금 업데이트했습니다

그럼, 그것을 확인해 봅시다 이제 라이브러리가 2321이고 사용자 인터페이스에 문제가 발생하기 전에 레이아웃이 잘 작동하지 않습니다 그리고 23

10로 다시 변경할 수 있다면 그것은 나에게 잘 맞습니다 그래서 문제가 생겼다면 다시 변경해야 할 수도 있지만 지금은 ID가 업데이트됩니다 그래서 나는 사용자 버전을 사용할 수있다 그래서, 그것은 좋다

그래서, 처음에는 단 3 개의 버튼이 필요하고 아마도 이미지 뷰를 사용 해보자 여기 코드가 더 좋습니다 앱 안드로이드는 안드로이드 라이브러리의 이미지를 사용한 다음 카메라가 필요하고 여기에 작은 이미지가 있거나 아니면 그냥 미리보기를 사용하십시오, 아마도 갤러리가 필요할 것입니다 좋아, 이건 카메라이고이 사진은 갤러리이고이 사진은 업로드 용이며 여기에 있습니다 우리는 여기에 소스를 변경, 갤러리 및이 하나 업로드하고 여기에 YouTube를 사용하여 여기와 이미지 만 업로드하십시오

특별한 것은 없으며 먼저 실행하십시오 저는 Genymotion을 사용하고 있습니다 만약 당신이 이것에 익숙하지 않다면 비디오와 웹 사이트 Genymotion으로 이동하여 다운로드하십시오 이것은 무료입니다 더 빠른 에뮬레이터를 사용하고 얻으십시오

Nettie를 사용해서는 안됩니다 다시 이것은 카메라, 갤러리 및 업로드입니다 나는 생각한다 오, 나는 이름을 바꾼다 그리고 만일 당신이 이처럼 무엇인가 보으면, 당신은 단지 새로 고침을 눌러야한다

따라서 ivCamera를 호출합니다 예, ivGallery 및 ivUpload입니다 ImageView 인 경로를 가져와야합니다 ivCamera, ivGallery, ivUpload; 그리고 이건 메뉴가 필요 없어요 ivCamera = (ImageView) findViewById (R

idivCamera)를 누르고를 누르고로드하십시오 좋아, 그래서 먼저 카메라를 입력해야합니다 ivCamerasetOnClickListener () 그런 다음 익명의 클래스를 사용하고 여기를 클릭하십시오

괜찮아 그래서 카메라의 경우 특별한 허가가 필요합니다 그리고 당신이 모르는 경우에는 제 GitHub에 갈 수 있습니다 여기에서 몇 가지 문서를 확인하십시오 여기에서 보고서로 이동할 수 있습니다

PhotoUtil은 튜토리얼을위한 라이브러리이므로 3 단계를 추가하면됩니다 권한 및이 하나가 안드로이드 매니페스트에 있습니다 좋아, 먼저 카메라에 추가하고 두 번째 것은 카메라의 기능이며,이 카메라는 권한이 있으며 세 번째 것은 외부 저장소에 쓰기위한 것입니다 괜찮아 여기에서 안드로이드 매니페스트로 가자

따라서 use-feature android : 이름과 유형 android 및 하드웨어와 카메라 이런 식으로 카메라를 사용하면이 카메라가 작동하지 않기 때문에 작동하지 않습니다 이 카메라는 카메라 2를 사용해야하며 필요합니다 이 프로젝트를 게임에 업로드하려고 할 때 하드웨어에 아무 것도 없다면 카메라 사용자는 다운로드 할 수 없지만 다행히도 안드로이드 장치의 모든 사용자는 이제 카메라가 있습니다 그리고 그 카메라를 많이 사용하지 않는 경우에는 false로 설정해야합니다

하지만 지금은 가까운 거리에 있습니다 이것이 우리가 주로하는 튜토리얼의 목적입니다 카메라 또는 사용 권한을 사용하고 거기에 카메라를 입력하고를 누르면 필요합니다 외부 저장 장치에 쓸 다른 권한을 부여하는 것입니다 다음으로해야 할 일은 카메라를 전달하는 것이므로이 라이브러리를 사용하도록하고 너에게 그걸 조금 설명 할 필요가있어

여기서 의도를 사용할 때, 의도는 의도와 비슷하지만 두 가지 의도가 있습니다 외부 의도라고하고 다른 하나는 내부 의도입니다 우리는 내부 의도를 사용할 것입니다 즉, 내부적으로 하드웨어를 사용해야한다는 것입니다 카메라와 내가 코드를 잊어 버렸다고 가정 해 봅시다, 카메라, 알겠습니다

예를 들어, 일반적으로 start 액티비티를 호출해야하고 클래스를 이동하려는 경우, 다른 활동을 열고 싶다고 가정 해 봅시다 이것이 주요 활동입니다 SubActivity 클래스로 돌아갑니다 SubActivity로 이동하기 때문에 StartActivity를 호출하면됩니다 좋습니다

하지만이 때 카메라를 열어야하고 카메라를 닫아야합니다 데이터를 다시 가져 오려면 StartActivity를 사용하지 않는 것이 좋습니다 당신은 결과를 위해 그 활동을 사용합니다 그러나 당신은 어쩌면 당신이 그러나 결과를 다시 얻고 싶습니다 이를 위해 코드를 작성해야하며 일부 코드를 탐색하려는 경우 그 뒤에있는 코드를 확인해보십시오

하지만 시간을 낭비하고 싶지는 않습니다 다운로드하여 사용 방법을 알려 드리겠습니다 그러나 다운로드하는 동안 나는 StartActivityForResult를 호출하는 다른 것을 지적하고자합니다 그러나 당신은 결과를 어디에서 얻는가? 결과를 위해, 여기에 여기에 여기에 메인, 당신은 코드에 가서, 당신은 메서드를 재정의하기 위해 이동, OnActivityResult라는 메서드가 필요하다는 것을 검색하면 여기에 있어야하고 괜찮을거야, 여기 있잖아 괜찮아

그래서 이것은 당신이 카메라에서 돌아온 결과입니다 그래서 그걸로 무엇이든 할 수 있고 카메라를 열려면 코드가 필요합니다 나는 말했고 그래서 당신은 내 도서관이 필요합니다 그래서, 이미 다운로드하고 압축을 풉니 다 그래서 PhotoUtil과 복사가 하나 필요하고 Project로 이동하면 App과 Libs에 가서 여기에 붙여 넣으십시오

여기와 라이브러리에서 마우스 오른쪽 버튼을 클릭하면 Android로 돌아가서 확인할 수 있습니다 여기에 그라데이션을 붙이거나 이미 찍은 사진을 추가하십시오 여기 사진 카메라 사진 라이브러리를 호출 할 수 있습니다 그래서 당신은 아마도 Camera yes CameraPhoto를 선언하고 이것을 실행하고 여기를 실행하십시오 CameraPhoto = new CameraPhoto () 및 여기에 컨텍스트 및 컨텍스트를 넣어야합니다 조각에서 Intent를 사용하면 ApplicationContext를 사용할 수 있습니다

이처럼 ApplicationContext를 사용하면 이제이 카메라를 얻을 수 있습니다 TakePhotoIntent를 호출하십시오 오, 이건 IOException이 필요하고 코드를 조금만 보자 그렇다면 카메라 요청이 필요하며 이는 이에 대한 응답 코드입니다 그래서 정수와 같아요

하지만 여기서도 동일해야합니다 결과, 최종 정수 다음에 선언하고 그냥 camera_request라고하고 모든 사람들에게 숫자를 줄 수 있고 그래, 좋아, 이건 당신이 카메라에서 결과를 얻을 수 있지만 우리가 먼저 그것을 실행하자 토스트와 좋아 그래서 우리가 시작할 때처럼 어땠 을까? 좋아, 좋아 카메라에 이미 준비가되어있는 것을 볼 수 있습니다 그래서 이것을 클릭하고 이것을 클릭하면 저장됩니다

여기 takePhotoIntent (), 여기에서 볼 수있는 것처럼 카메라를 보내고 이미지를 외부에 저장합니다 드라이브 좋아요, 그래서 여기에서 결과를 얻을 수 있습니다 먼저 결과 코드를 테스트하여 Result_OK를 호출해야한다는 것을 의미합니다 결과 좋아, 그럼 다른 코드가 필요하고 RequestCode라고 불린다

여기서 카메라 요청 인 요청 코드입니다 좋아요, 그래서 카메라 사진, 도서관 그리고 지금 당신은 프로필을 얻을 수 있습니다 갤러리에서 사진을 볼 수 있으므로 다음 번에 갤러리를 탐색 할 수 있습니다 당신 갤러리의 사진들, 알았어 그리고 이것은 사진 경로이며 이미지를로드 한 다음 패스 할 수 있음을 알 수 있습니다

어쩌면 활동 또는 어쩌면 업 로더 여기 이미지 뷰를 다시 만들어서 이미지를 보여 드리겠습니다 좋아, 이제 나는 이와 같은 새로운 이미지를 추가했다 그리고 그것은 별이 큰 이미지이고, 나는 그것을 가지고있다 그런 다음 마우스 오른쪽 버튼을 클릭하고 ivimage에 전화를 걸면 알겠습니다

그래서 여기서부터 잘해야합니다 알았어 우리가보기에서 나왔어 그리고 여기에 너는 과거를 더 잘 살거야 로그를하려면 여기에 태그가 필요합니다

개인 최종 문자열 태그 = this and so that 여기에 이름을 달아서 여기에 태그를 넣을 수 있습니다 어쩌면 String photoPath입니다 좋아, 여기에 문제가 실제로 그냥 resultCode 및 requestCode 혼동이다 두 번째 것은 RequestCode이므로 다시 클릭하면 이것이 이미지이고 이제 이미지를 여기에 기록 할 수 있습니다 내 도서관 안의 사진 YouTube에서 카메라, 갤러리 및 이미지를 가질 수 있습니다

로더를 사용하여 이미지를로드합니다 그렇게하는 것은 매우 쉽습니다 비트 맵을 필요로하고 비트 맵이 필요하다면 이미지 로더가 필요합니다 그리고 먼저 어떤 파일에서 필요한 파일 이름이고 그것을 확장해야합니다 우리는 전체 이미지를로드하고 싶지 않고 크기를 알고 있기 때문에 2 메가 바이트이고 화면으로 압축하면 200 킬로바이트 또는 20 킬로바이트 만 필요합니다 그 때문에 크기를 조정해야하거나 크기를 요청해야하므로 화면이 무엇입니까? 크기는 좋아요, 너비는 무엇이고 높이는 무엇입니까? 요청 크기는 실제 파일 나는 google에서 물자를 따르고 당신은 안드로이드 사진기를 능률적으로 적재하는 찾아 낼 수있다 그것에 관한 자료를 보게 될 것입니다

그래서 나는이 문제에 영감을 받았다 그래서 나는 512와 같은 크기를 줄 것이다 비트 맵을 얻는다 따라서 파일을 올바르게 찾을 수 없으므로 여기서 예외를 시도해야합니다 그래서 뭔가를 입력하고 여기를 보시면 이제 이미지를 ivImage에로드하고 setImageBitmap ()을 호출 한 다음 괜찮습니다

사진 찍어 이 이미지를 보면 요청한 이미지이므로 요청한 크기는 512 X 512이므로 어쩌면 너는 그걸 늘려야 겠지만 너는 서명을해야한다는 것을 확실히해야한다 그렇지 않으면 문제가 생길 수 있습니다 카메라로 그걸로 끝났습니다 이제 갤러리로 이동할 것입니다

갤러리의 경우 갤러리는 매우 유사합니다 이제 여기는 카메라, ivGallery wetonClickListener (신규), 제어 공간 및 여기 Gallery GalleryPhoto 라이브러리를 호출해야합니다 여기 갤러리 요청을 만들고 이름은 중요하지 않습니다 당신은 어떤 이름이나 숫자도 줄 수 있습니다 여기, GalleryPhoto의 새로운 GalleryPhoto getApplicationContext를 클릭 할 수 있습니다

StartActivityForResult 갤러리를 호출 할 수 있습니다 Photo Open Gallery Intent, 서라운드를해야합니다 시도 잡아서 당신은 요청 코드 GalleryRequest를 가질 필요가 있습니다 여기 다른 경우는 그것을 만들 수 있습니다 그리고 당신은 GalleryRequest 여기와 내부 여기 요청할 수 있습니다 PhotoPath와 비슷하고 GalleryPhoto와 비슷합니다 경로는 코드가 동일해야합니다

예, 저는 그것이 같다고 생각합니다 어쩌면 조금 바뀌었을 것입니다 그래서 그것을 클릭하자 여기 뭔가 빠졌고 문제가 무엇인지 생각해 본다 어쩌면 내가하는 코드, 어쩌면 예, 이것은 찍은 이미지입니다

이 항목을 추가하고 갤러리에 추가 한 다음 호출하지 않으면 이미지가 표시되지 않습니다 여기에 표시 하겠지만 단순한 것일 뿐이지 만 실제 이미지가 필요하지만 먼저 이미지를 선택하고 다른 오류는 괜찮다고 말하면됩니다 무엇입니까? 95 여기 좋아, setImage Uri를 호출하지 않기 때문에 이것은 내가 얻는 URI이다 여기 그리고 그 다음에 데이터

getData를 누른 다음 여기 setPhotouri를 선택하고이 이미지를 선택하십시오 좋아, 이미지 업로드를 허용하므로 이 버튼으로 이동하여 Android UI 모니터를 참조하십시오 여기서는 에뮬레이터를 시작해야합니다 이미지를 시작하면 이미지를 업로드해야하므로 다른 점이 있습니다 예를 들어 4 개의 에뮬레이터가 있고 이제 Nexus 5를 실행하면 이미지를 Nexus 5로 보내면 Nexus 5에서만 이미지를 볼 수 있고 다른 이미지는 볼 수 없습니다

이미 이미지를 업로드 한 것을 사용하십시오 그래서, 당신은 여기에 가서 당신은 SD 카드를 볼 수 있습니다 따라서이 버튼을 클릭하고 파일을 장치로 밀어 넣으면 원하는 이미지를 선택할 수 있습니다 그래서 하나 또는 두 가지를 시도해 봅시다 하나씩 나는 생각한다

그리고 그 앙코르 와트와 그 것은 잘 갔다 다시 시작해야하므로 Genymotion 라이브러리에서 다시 시작해야합니다 그것을 실행 한 다음 갤러리를 클릭하십시오 아마 그것을 선택하지 않았기 때문에 갤러리를 클릭하십시오 갤러리, okay 지금 당신은 갤러리 이미지를 가지고있다

그래서 앙코르 와트를 선택하자 캄보디아에있는 사원, 이제는 앙코르 와트를 볼 수 있습니다 오늘 그게 다야 내 동영상이 마음에 들면 YouTube 사용자 인 Oum에서 내 채널을 구독하는 것을 잊지 마시기 바랍니다 Saokosal

이 이미지를 서버에 업로드하는 방법에 대한 다음 비디오에서 모두 보게 될 것입니다 고맙습니다!