Best Video Editing App for Android (2018!)

– 지금 우리가 볼거야 현재 사용 가능한 최고의 안드로이드 비디오 편집기 응용 프로그램

그리고 최고의 비디오 편집 응용 프로그램에 대한 내 선택 2018 년에 안드로이드에 대한 모든 테스트를 거친 후 저기, Primal Video의 저스틴 브라운입니다 우리가 당신을 증폭 시키는데 도움이되는 곳 비디오와 함께 귀하의 비즈니스와 브랜드 네가 여기 새로운 사람이라면, 구독 버튼을 클릭했는지 확인하십시오 이 비디오에서 언급 한 모든 것에 대한 모든 링크와 아래의 설명 상자에서 해당 링크를 찾을 수 있습니다 그래서 그것에 뛰어 들어 봅시다

이제 나는 매번이 말을한다 하지만 이것은 3 년 연속으로 뛰는 것과 같습니다 우리가 만든 비디오 비디오 편집 앱의 풍경에 앱은 점점 더 강력 해지고 있습니다 오늘 우리가 다루는 옵션 많은 데스크톱 소프트웨어와 경쟁하기 시작했습니다 당신은 그 모든 힘에 접근 할 수 있습니다

손바닥에 원하는 곳 어디에서나 사용할 수 있습니다 우리의 전체 조사 과정을 거친 후 어떤 새로운 앱이 등장했는지 확인하려면, 지난 번에 앱으로 변경된 사항 모든 경쟁자를 테스트해라 그들이 정말 어떻게 비교하는지 확인하십시오 이 비디오에서 우리는 최선의 선택을 할 것입니다 Android에서 동영상을 수정하는 앱의 인기 앱 그리고 그것은 나의 최고의 제안이다

그래서 우리는 후보 목록을보고 시작할 것입니다 그걸 멀리 만든 모든 앱 중에서 그리고 당신이 알아야 할 모든 중요한 것들 각 옵션에 대해 그리고 우리가 달리면서, 아래에 주석을 삭제하십시오 Android에서 가장 좋아하는 동영상 수정 앱은 무엇이며 그 이유는 무엇입니까? Android 앱 스토어에서 실제로 본 적이 있다면 비디오 편집 응용 프로그램의 경우, 선택할 수있는 방법이 너무 많습니다 그래서 우리의 최고 경쟁자 또는 우리의 명단 우리는이 모든 앱을 축소했습니다 Cute CUT, Adobe Premiere Clip, Quik, WeVideo, KineMaster, PowerDirector 및 FilmoraGo

그리고 이러한 각 앱을 사용하면 동영상을 수정할 수 있지만, 이러한 앱을 사용하면 훌륭한 결과를 얻을 수 있습니다 실제로 제어 수준과 기능 수준 앱에서 얻을 수있는 것들 꽤 많이 바뀐다 그것이 정말로 내려 오는 곳은, 얼마나 많은 컨트롤을 실제로 편집하고 싶습니까? 어떤 종류의 비디오를 편집하고 있습니까? 얼마나 많은 실제 편집을해야합니까 네가 쏜 장면에? 그리고 그게 전부가 될거야 당신을위한 최고의 비디오 편집 소프트웨어입니다 따라서 편집 애플리케이션의 대다수는 우리의 후보 목록에있는 대부분의 편집 응용 프로그램 매우 기본입니다

기본 절단 작업을 수행하고 색상을 추가하고 텍스트를 추가 할 수 있습니다 하지만 꽤 많이 있습니다 확실히 몇 가지 뛰어난 점이 있습니다 정말로 경계를 밀고있는 몇 명 Android 기기에서 수행 할 수있는 작업에 대해 설명합니다 그래서, 당신은 거기에 애플 리케이션을 가지고있어

Adobe Premiere Clip 및 WeVideo와 같은 기기에서 동영상을 편집하는 데 환상적입니다 그러나 그들은 매우 기초적입니다 하지만 그 앱의 가장 큰 장점은, WeVideo에서 편집하는 경우 바탕 화면에서 플랫폼으로 또는 Adobe Premiere Pro, 다음 프로젝트를 실제로 전송할 수 있습니다 그래서 당신은 WeVideo에서 비디오를 시작할 수 있습니다 또는 장치의 Adobe Premiere Clip 그것을 옮기고 당신의 탁상용 컴퓨터에 끝내십시오

그래서 그게 아주 멋진 기능입니다 하지만 뭔가를 원한다면 완벽한 엔드 – 투 – 엔드 솔루션 모바일 장치에서 그런 다음 두 앱 모두 실제로는 기능이 제한되어 있습니다 기기에서 실제로 편집하는 경우입니다 그리고 Quik 앱과 거의 비슷합니다 좋은 비디오 편집 응용 프로그램입니다

당신이 아주 기본적인 편집을했다면, 많지 않은 컨트롤과 다중 비디오 트랙 고급 기능의 힙 다른 앱 중 일부는 따라서 기본 편집을 수행 한 경우, Quik은 여전히 ​​훌륭한 솔루션입니다 하지만 여기에 몇 가지 뛰어난 점이 있습니다 우리가 곧 뛰어 들겠다 Android 기기에서 동영상을 실제로 편집하는 작업 다음 수준으로 전체 목록에서 앱을 전반적으로 살펴 봅니다

실제로 4 개의 우수한 앱이 있습니다 당신이 할 수있는 일의 경계를 밀고 있습니다 Android 기기에서 동영상을 수정하는 것과 관련이 있습니다 그리고 그들은 FilmoraGo, Cute CUT, KineMaster입니다 및 CyberLink PowerDirector

이제 마지막 비디오에서 우리는 귀여운 컷을했습니다 그리고 FilmoraGo는 실제로 많은 것을 얻지 못했습니다 지난 1 년 동안 그들은 실제로 꽤 많이 성장했습니다 그리고 그들이 가지고있는 기능 세트 지금 꽤 단단 해 또한 비디오 편집을 통해 훨씬 더 많은 작업을 수행 할 수 있습니다

지금 가져온 고급 도구로 그 두 앱에서 그러나 말하자면, 상위 2 개 앱 Android에서의 비디오 편집, 우리가 이것을 좁혀 버렸습니다 실망한 KineMaster와 PowerDirector입니다 이것은 작년과 정말로 같은 결과입니다 이 두 개는 다른 앱보다 앞서 있습니다 전문적 수준에 관해서 Android 기기에서 동영상 편집

하지만 지난 한 해 동안이 두 앱 변화를 겪었고 개선되었고 나아가고 있습니다 이제 저는이 두 가지 앱 모두를 매우 좋아합니다 나는 그들이하는 일을 사랑한다 나는 그들이 얼마나 멀리 왔는지 사랑한다 하지만 내가 승자를 골라야한다면, CyberLink PowerDirector로 이동합니다

그리고 몇 가지 분명한 이유가 있습니다 PowerDirector를 KineMaster 이상으로 이동합니다 첫번째 것 그리고 아마 가장 중요한 것, 사용하기 쉽고 직관적 인 방법입니다 여전히 모든 고급 기능을 갖추고 있습니다 둘 다 멀티 트랙 비디오 편집, 고급 오디오 컨트롤, 고급 색상 보정, 손쉽게 클립을 집어 들고 움직일 수있는 능력 그 (것)들을 아래로 정돈하고, 음악을 통합하기 위하여 모든 볼륨 레벨을 조정하십시오

따라서 실제 비디오 편집과 관련하여, 둘 다 매우 비슷하다 PowerDirector의 인터페이스 실제로 편집하는 방법 당신이 가지고있는 성과 KineMaster보다 훨씬 앞서있는 것 같습니다 적어도 내 의견으로는 이제 PowerDirector의 또 다른 큰 특징 인, 당신이 가지고있는 통제 수준입니다 동영상 내부의 색상 보정보다 그것은 어디에서나 비디오 편집에있어 대단한 일입니다

전화를 걸 수 있습니다 실제로 원하는 색상으로 원하는 색상을 얻을 수 있습니다 PowerDirector가있는 곳입니다 제어 및 고급 제어가 훨씬 더 많습니다 그러나 KineMaster를 통해 간단한 방법으로 이루어졌습니다

그래서 KineMaster와 함께, 당신은 당신의 밝기, 대비 및 채도 드롭 할 때 사용할 수있는 필터가 있습니다 Instagram 스타일의 필터와 같은 것 같아 다른 모양을 적용하려면 동영상에 적용 할 수 있습니다 PowerDirector에는 이러한 모든 기능이 있습니다

하지만 훨씬 더 고급 제어 기능도 있습니다 화이트 밸런스 조정과 같은 간단한 작업으로도 최종 비디오 출력에 큰 차이를 만들 수 있습니다 PowerDirector의 또 다른 큰 특징 KineMaster에서 찾을 수없는 실제로 찾지 못한다 밖에있는 많은 다른 응용 프로그램에서, 동영상을 수정할 수있는 기능입니다 가로 및 세로로

그래서 편집을한다면, Instagram 스토리 또는 인물 사진과 같은 것들 PowerDirector에서 실제로이 작업을 수행 할 수 있습니다 세로 비디오를 스쿼시하려고하는 대신 가로 프레임으로 그게 당신이 관심있는 부분이라면 Instagram의 이야기를 한 단계 높은 수준으로 끌어 올리려는 노력, 지금 카드에 링크를 달아 놓을 게 우리가 그 과정을 통해 당신을 데리고 오는 비디오 그리고 실제로 PowerDirector를 사용하고 있습니다

그 비디오 편집을 초상화로하는 것 자, 그 모든 것들과 함께, 그것은 KineMaster를 말하는 것이 아닙니다 솔리드 옵션이 아닙니다 KineMaster에는 두 가지 뛰어난 기능이 있습니다 PowerDirector에는 없습니다

그리고 내가 말할 수있는 가장 큰 것 오디오 파일에 대한 제어 수준입니다 당신이 입을 수있는 전문적인 필터의 양 비디오에서 오디오 음질을 정말 좋게 만드십시오 오디오 압축기와 같은 간단한 것입니다 너는 켜거나 끌 수있다 또한 키 프레임 기반 편집 기능 다른 볼륨 레벨을 조정하는 방법 당신이 가면서 비디오 전반에 걸쳐

정말 저에게 돋보이는 기능입니다 그러나 다시 한번, 정말로 당신이이 두 가지 중 하나를 사용한다면, 둘 다 당신을 줄거야 귀하의 동영상으로 좋은 결과를 얻을 수 있습니다 지금 우리가 아직 만지지 않은 가장 큰 것 이 두 앱의 가격입니다 자, 둘 다 무료로 달릴 것입니다

무료로 편집 할 수 있습니다 동영상에 워터 마크가 추가됩니다 당신이 그것을 구할 때 이제 그 워터 마크를 제거하기 위해 돈을 좀 내야 할 곳이야 우리가 마지막으로 살펴본 시간은 이 두 가지 앱을 나란히 놓고, PowerDirector는 훨씬 더 나은 기능을 제공합니다

앱을 완전히 구매하는 것은 5 달러 또는 6 달러의 정액 요금이었습니다 PowerDirector를 이미 지불했다면, 그러면 돈을 내지 않아도 될 것 같습니다 새로운 가격 모델을 위해, 실제로 구독 모델입니다 월 단위 구독 또는 연간 구독 소프트웨어를 사용하려면, 그것은 KineMaster가 전체 시간 동안 가지고있는 것입니다 따라서 KineMaster에 가입하면 비용이 들게됩니다

한 달에 약 5 달러, 또는 연간 약 42 달러 이제 이것은 호주의 가격 책정이며, 그래서 가격은 약간 다를 수 있습니다 네가있는 곳에 따라, 하지만 그 가격에있을거야 PowerDirector의 새로운 가격 모델 한 달에 7 달러 쯤 올릴거야 또는 연간 약 $ 50

또한 세 번째 옵션이 있습니다 앱에 3 개월 동안 액세스 할 수 있습니다 약 14 달러가들 것입니다 따라서 PowerDirector로, 워터 마크를 제거 할 라이센스를 구입할뿐만 아니라 너에게 줄거야 높은 품질, 1080p 수출

이제 내가보기 엔 가장 큰 것 같아 이 앱의 가격 책정을보고있을 때 그들이 어떻게 지금 모두 움직 였는지 가입 기반 모델로, 그들이 무엇을 할 수 있는지를보고 있습니다 그래서 이들은 전문적인 수준의 비디오 편집 응용 프로그램입니다 가장 가까운 앱입니다 데스크톱 동영상 수정을 모방 한 Android 기기에서 그리고 그 유연성과 장치의 힘을 얻으려면 어디서나 편집 할 수있는 능력이 미치지 않습니다

그래서 저는 개인적으로 생각할 필요가 없다고 생각합니다 동영상을 편집하고 싶다면 Android 기기에서 이 두 가지 앱 중 하나를 진지하게 고려해야합니다 그래서 내 선택은, 당신이 더 전문적인 것을 좇지 않는다면, FilmoraGo를 더 잘 확인하고 Cute CUT도 확인하십시오 둘 다 솔리드 옵션입니다 그리고 그들은 정말로 먼 길을왔다

지난 12 개월 동안에도 그래서 지금 당장 나를 위해, Android에서 최고의 비디오 편집 응용 프로그램, CyberLink PowerDirector로 이동합니다 레벨을 올리려는 분이라면 귀하의 콘텐츠 전문성, 반짝 반짝 빛나는 새로운 소개 애니메이션을 얻고, 또는 맞춤 브랜드 도서, 생각보다 훨씬 쉽게 할 수 있습니다 그런 다음 가져올 수 있습니다 Android 기기에 바로 연결 새 편집 응용 프로그램에서 사용하십시오 지금 화면의 링크를 클릭하십시오

전체 프로세스를 통해 진행되는 비디오의 경우, 나는 너를 곧 볼거야

Dino Dan | Dino Duels # 23 Amazing Dinosaurs Game Spinosaurus Dinosaur Best of For Kids Android Game

디노 댄 | Dino Duels # 23 놀라운 공룡 게임 Spinosaurus Dinosaur 아이들을위한 최고의 안드로이드 게임 Dino Dan – Dino Duels 놀라운 공룡 게임은 유치원 및 유아 (안드로이드 게임)를위한 어린이를위한 최고의 게임에서 아이들을위한 새로운 게임 플레이입니다 채널을 구독하여 새로운 동영상을 시청하십시오! 어린이를위한 최고의 게임 – 게임 및 기타 게임을 찾을 수 있습니다

Best Android Studio Navigation Drawer Tutorial (Part 1) ☎️ ANDROID PHONES

안녕하십니까, 제 이름은 Oum Saokosal입니다 오늘은 Android Studio에서 내비게이션 서랍을 수행하는 방법에 대해 이야기하겠습니다

이 강의에서는 오늘 최신 버전 인 Android Studio 2를 사용합니다 이것이 네비게이션 서랍임을 알 수 있습니다 그것은 요즘 안드로이드 응용 프로그램을위한 전형적인 기능입니다 YouTube에서 저에게 연락하실 수 있습니다 : youtubecom/user/oumsaokosal Facebook

com/kosalgeek twittercom/okosal 또는 kosalgeek에서 내 소스 코드를 다운로드 할 수 있습니다 githubcom/kasolgeek에서 그래서 저는 이런 종류의 것에 대해 3 개의 비디오를 만들 것입니다 덮어 두라

특히이 비디오에서는 Navigation Drawer의 기본 사항에 대해 이야기하고 아이콘, 색상, 메뉴 및 조각을 추가하는 방법에 대해서도 이야기하겠습니다 Part 2에서는 프래그먼트에 뷰를 추가하는 방법에 대해 설명 할 것이다 예를 들어, 버튼, 텍스트 편집, LibView, RecyclerView 그리고 조각에 이벤트 핸들러가 있어야합니다 뿐만 아니라 파트 3은 보너스 일종의 것입니다 필요하지는 않지만 누군가 필요합니다

그것 이것은 네비게이터 서랍을 왼쪽에서 오른쪽으로 바꾸는 방법입니다 Facebook에서 볼 수 있듯이 Facebook 앱으로 이동하면 탐색 서랍이 아직 남아 있습니다 거기에서, 그러나 왼쪽에서 아닙니다, 그것은 오른쪽에서입니다 그래서 저는 이것을 어떻게하는지, 그리고 애니메이션을 클릭하는 것처럼 보여줄 것입니다

왼쪽에서 애니메이션이 나오고, 그런 식으로 슬라이드가 나오게됩니다 전체 애니메이션이 아니지만 기본적인 것입니다 이제 Android Studio로 이동해 보겠습니다 당신이 지금 볼 수 있듯이, 나는 더 빠른 에뮬레이터 인 Genymotion을 사용합니다 네이티브 한

Genymotion에서 다운로드 할 수 있습니다 무료입니다 그래서 이것은 사용자 인터페이스입니다 오! 안드로이드 SDK에 대한 업데이트도 있지만 어쩌면 내가 먼저 건너 뛰겠습니다 Android Studio 2의 사용자 인터페이스입니다

그것은 버전 15 그림과 조금 다릅니다 이제 새로운 Android Studio 프로젝트를 시작하겠습니다 아무것도 바뀌지 않았습니다 똑같은 일을하십시오

이제 Navigation Drawer 예제 1을 입력 해 보겠습니다 다음으로, 당신은 똑같은 일을합니다 자 이제 이걸 고르겠습니다 실제로, 당신은 처음에 이것을 선택할 필요가 없습니다, 당신은 단지 기본적인 활동을 사용할 수 있습니다 또한 나중에 활동을 추가 한 다음 탐색기 서랍을 선택할 수도 있지만 우리에게는 시작 활동이 없기 때문에 예를 들어 알 수 있습니다

그래서 그것을 선택합시다 좋아, 평소와 같이 MainActivity라고 부르 자 이제 완성 된 것이 아니라 탐색 서랍이있는 새로운 활동을 볼 수 있습니다 이제 실행 해 봅시다 그것과 당신은 탐색 서랍을 이미 볼 것입니다

그래서 그것은 큰 일이 아닙니다 그것이 템플릿이기 때문에, 당신도 알다시피 오늘처럼 예전처럼 네비게이션 서랍을 직접 작성해야합니다 그것은 매우 고통 스러웠습니다 그러나 요즘은 아주 좋아요

하지만 우리는 이해해야합니다 너는 우리가 바꿀 수 없다는 것을 이해하지 못한다 좋아, 그게 다야! 네비게이션 서랍 좋아,하지만 그게 맘에 들어? 아니, 많이 바꿔야하기 때문이 아니야 이건 그냥 템플릿 일뿐입니다하지만 코드를 작성하기 전에, 저는 당신에게 이것의 개념을 알려주세요

실제로 탐색 서랍은 새로운 개념이며 안드로이드는 아주 늦게 넣었습니다 초기 버전은 그걸 가지고 있지 않았고 엉망진창처럼 친절합니다 새로운 것을 좋아하는 것, 그리고 오래된 것을지지하고 싶다 그래서 그것은 아주 많다 코드가 그 뒤에 있습니다

알다시피, 나는 그것을 클릭하면 애니메이션이 슬라이드 인 (slide-in), 슬라이드 아웃 (slide-out) 심지어 당신은 그것이 정말로 애니메이션 인 것을 볼 것입니다 그것을하는 것은 고통 스럽지만 안드로이드는 모든 것을 숨기기위한 어떤 종류의 메커니즘도 가지고 있지 않다 모든 코드를 보여 주며, 코드를 모를 수 있다는 것을 모르는 경우 어쩌면 당신은 거대한 오류로 끝날 수 있습니다 나는 그것을 단계별로 설명 할 것이다 나는 당신이 붙잡을 수 있기를 바랍니다

먼저 레이아웃을 잘 이해해야하므로 하나의 레이아웃에 4 가지 레이아웃이 있습니다 활동 늘 그렇듯이, 주 활동을 기억할 수도 있으므로 주 활동 활동을 생성 할 것입니다 내용은 안드로이드를위한 새로운 것입니다 activity_main은 여기에 대한 실제 레이아웃입니다

코드로 가보면 더 잘 볼 수 있습니다 activity_main에 DrawerLayout이라는 새로운 도구가 있습니다 DrawerLayout은 안드로이드의 초기 버전에는 존재하지 않았기 때문에 추가했습니다 당신도 알다시피, 이걸로 할 수 있을지도 몰라요 여기 다른 모든 것은 DrawerLayout이며 변경할 수 있습니다

크기를 그렇게 만드십시오 그러나 나중에 크기를 변경하는 방법을 알려 드리겠습니다 DrawerLayout, 두 개의 구성 요소가 있다는 것을 알 수 있습니다 하나는 include이고 include에는 include가 포함됩니다 app_bar_main이라는 또 다른 레이아웃

이것은 app_bar_main이며 내부에없는 것을 볼 수 있습니다 여기있어 알았어 따라서 app_bar_main은 계층 액티비티의 activity_main과 유사합니다 툴바 및 부동 액센트 버튼 등이 여기에 특별하지 않습니다

변경하려는 경우 app_bar_main에서 변경 한 다음 activity_main으로 돌아갈 수 있습니다 여기 탐색보기를 보는 것도 새로운 것입니다 여기에는 DrawerLayout과 NavigationView의 두 가지가 있습니다 따라서 실제 탐색이 NavigationView에 있습니다 그래서 메뉴와 nav_header_main을 가지고 있습니다 그럼 여기서 nav_header_main은 무엇입니까? 다음은 nav_header_main입니다

따라서 이것은 탐색 서랍의 상단 부분과 같습니다 아이콘을 변경할 수 있습니다 당신은 색상도 바꿀 수 있습니다 그래서 저는 지금 그것을 바꾸고 싶지 않습니다, 단지 그것을 조금 설명하고 싶습니다 그리고 여기에 메뉴

여기에서 가장 중요한 부분입니다 여기서 그것은 다른 메뉴에 묶여 있습니다 여기에서 볼 수있는 메뉴는 메뉴 안에 있습니다 자, 이제 전체 메뉴를 볼 수 있으며 메뉴에 대한 미리보기가 없습니다 그래서, 두 부분이 있습니다

하나는 그룹이고 다른 하나는 item 태그가있는 그룹입니다 여기에서 볼 수있는 간단한 아이템입니다 하지만, 예를 들어, 여러분이 원하는 부분을 원한다면 이것은 통신 부분과 같습니다 당신은 아이템을 가질 수 있고, 아이템 안에는 메뉴가있을 수 있으며 아이템을 가질 수 있습니다 항목 안에 다른 메뉴와 항목도있을 수 있습니다

여기에는 아무 것도 없습니다 단순한 카메라 일 뿐이므로이 카메라는 탐색과 같은 것입니다 app이므로 여기에서 가져 오기를 참조하십시오 이것은 수입품입니다 메뉴에 어떤 조치를 취하고 싶다면 메인 메뉴와이 메뉴로 가야합니다

여기를 클릭하면이 모든 탐색 항목이 표시됩니다 그것은 네비게이션 메뉴를위한 것입니다 여기서는 무엇이든 할 수 있습니다 이런 식으로 토스트를하고 당신은 갤리에서도 그것을하고 싶습니다 그래서, 여기에 많은 것들이 있습니다

당신에게 보여주고 싶은 것도 있습니다 이 메소드가 중복되어 있으므로 추가로 변경해야합니다 그래서 나는 그것이 IDE 코드의 일종이라고 생각합니다 그래서 앱 메뉴는 이것에 대한 것이지 그다지 중요하지 않으며 단지 변경 만 할 수 있습니다 너는 아무것도 바꾸고 싶지 않고, 그냥 만지지 마라

여기 이것을 바꿀려고한다 모두, 이미지를 변경하고 싶을 수 있습니다 여기 레이아웃은 여기에 있습니다, 배경 여기서 배경을 변경할 수 있습니다 drawable / side_nav_bar에 있습니다

그래서 너는 들으러 간다 이건 괜찮아 변경하려는 경우 여기에 색상을 변경하고 아이콘을 첨부 할 수 있습니다 여기서 메뉴는 XML 코드에 의해 생성 된 아이콘이므로 매우 유연하게 될 것입니다 해상도를 변경하지 않고 크기를 늘리고 크기를 줄일 수 있습니다 하지만 할 일은 어렵습니다

어떻게 그릴 수 있는지 이해해야합니다 그래서 지금은 타이핑하지 않겠지 만, 지적하고 싶었습니다 그래서 그것을 사용하고 싶다면 그것을 사용하거나 원하지 않으면 그냥 탐색 할 수 있습니다 인터넷에서 아이콘을 위해 그리고 그것을 바꿔라 여기 메뉴가 있습니다

보시다시피 이곳 드로어 블 (drawable)의 아이콘으로 이동합니다 당신이 원하지 않는 항목 그래서, 카메라, 갤러리, 그리고 지금은 두 가지만 사용하고 싶습니다 그리고 나는 가야만합니다 main_activity는 카메라, 갤러리 및 공유에 대한 모든 메뉴를 가지고 있기 때문에 여기에 있습니다

우리는 이것을 필요로하지 않습니다 이제는 다른 배경을 보았습니다 원하는대로 다른 메뉴를 만들 수 있습니다 이제 조각을 추가 할 차례입니다 조각은 무엇입니까? 단편을 모르는 경우 단편은 활동 내부의 주제입니다

그것은 전체적인 부분이 아니며, 어떤 종류의 이것일지도 모른다, 알았어 따라서 하나의 액티비티에서 여러 개의 조각을 가질 수 있으며, 현재 볼 수 있듯이 우리가 이것을 클릭하면, 단편적인 텍스트 하나가 여기 있습니다 갤러리를 클릭하면 또 다른 조각이 부착 된 다른 것을 볼 수 있습니다 활동 탐색 서랍에서 조각을 이해하고 사용해야하지만 실제로는 직접 작성해야합니다

단편은 그다지 어렵지 않습니다 단편은 다른 종류의 활동과 비슷하지만 활동은 아니지만, 그것은 활동의 작은 부분입니다 여기에 새로운 단편을 만들어 봅시다 그래서 당신은 새로운 곳으로 가서 여기에서 조각을냅니다 그냥 빈 조각을 사용할 수 있습니다

보시다시피이 부분입니다 모든 것이 아니라 여기에 있습니다 그 단편에는 3 개의 수표가 있습니다 알겠습니다 그래서 첫 번째 것은 매우 중요합니다

왜냐하면 레이아웃을 단편에 첨부하기를 원하기 때문입니다 이 코드는 많은 코드를 작성하지만 언젠가는 그렇지 않습니다하지만 체크하지 않은 사람부터 시작하여이 수표와 마지막으로 다른 활동을 작성합니다 하나는 오래된 수표 좋아, 그럼 이걸 모두 선택 취소하고 어쩌면 우리는 카메라 조각을 그래서 이것은 조각이고 당신은 그것을 알아 차립니다

그것은 AppCompatActivity가 아닌 조각으로 확장됩니다 이것은 AppCompatActivity이지만이 코드는 조각이며 코드는 활동보다 적습니다 단 하나의 메소드 만 필요합니다이 메소드는 onCreateView라고 불립니다이 메소드는 단편에 가장 중요한 메소드입니다

AndroidManifest에서 한 가지를 지적하고 싶습니다 일반적으로 여기 안드로이드 매니페스트에 첨부 된 활동을 볼 수 있습니다 그러나 하나는 그렇지 않습니다 실제로는 조각이 아니므로 AndroidManifest에 코드를 첨부하지 않습니다 그래서 여기 조각이 있습니다

아마도 여러분은 무언가를 더하고 싶을 것입니다 그것은 레이아웃도 가지고 있습니다, 그래서 여기 레이아웃은 fragment_camera입니다 지금은 일종의 엉망입니다 많은 것들이 있습니다 그리고 조각을위한 레이아웃이 프레임이되기 전에, 당신은 자유 롭습니다

무엇이든 바꿔라 RelativeLayout을 사용하고 싶습니다 텍스트 일뿐입니다 여기의 텍스트를 삭제하고 싶을 수도 있습니다 어쩌면 멋진 것을 추가하고 싶을 수도 있습니다

예를 들면 날짜 선택 도구입니다 그래서 main_activity에서 호출하고 싶습니다 나중에이 코드를 설명 하겠지만 여기서는 기본적인 것을 보여 드리겠습니다 이것은 카메라 오른쪽 그래서 당신은 카메라를 호출하기를 원하기 때문에 먼저 camera_fragment, 새로운 camera_fragment 좋아

조각 관리자가 필요해 매니저, getSupportFragmentManager라고 부르 자 여기에서는 조각을위한 레이아웃이 필요합니다 이것을 클릭 할 때, 실제 조각을 가지고 뭔가를 설정하기를 원한다 카메라를 클릭하고 갤러리를 클릭하면이 갤러리에 갤러리를 첨부 할 수 있습니다

그럼이게 뭐야? 이 것은 content_main에 있습니다이 탐색 창을 초기 버전, 아마도 Android Studio, 이제 Android Studio 2를 사용하고 있지만 15는 괜찮습니다 하지만 어쩌면 14 나 그보다 일찍 사용하면 여기에 content_main이 없습니다

여기서 content_main은 여기에 있습니다 여러분이 알고있는 내용과 여러분 앞에 있습니다 모든 activity_main을 가지고 있고 activity_main 내부에 ListView 또는 어쩌면 조각을위한 LinearLayout을 만들었지 만 이제는 내용을 분리 했으므로 content_main 여기 단편을위한 것입니다 왜냐하면 여기에있는 activity_main에서와 같이 app_bar_main을 포함하고 app_bar_main 안에 콘텐츠 메인을 포함하므로 같은 레이어와 레이어 및 레이어 따라서 다소 까다 롭지 만 유연성을 위해서는 중요합니다

이제 조각을위한 별도의 레이아웃을 만들 수 있습니다 코드를 작성할 필요가 없습니다 여기 안에는 자신 만의 레이아웃이 있습니다 따라서 RelativeLayout의 이름을 알아야합니다 그러므로이 버튼을 클릭하면 레이아웃의 ID를 변경할 수 있습니다

그래서 나는 단지 그것을 relativelayout_for_fragment라고 부릅니다 그것은 긴 이름의 일종이지만 그것은 매우 중요합니다 우리가 조각을 여기에 붙일 수 있기 때문에, 그래서 relativelayout_for_fragment, 그러면 너는 간다 여기 main_activity로 돌아 가면 바꿀 레이아웃이 있습니다 그래서 레이아웃 (R

Idrelativelayout_for_fragment) 그리고 이제 어떤 조각을 입력하고 싶습니다 그래서 이것은 대체품이고 이것은 대체품입니다 Replacer는 무엇입니까? 여기 카메라가있어 알았어

그래서 이것은 당신이 대체하고 카메라 조각이 여기에 붙어있는 것을 기억하고 싶은 목표입니다 여기 fragment_camera에 그래서 여기에서 무언가를 대체 할 것입니다 그러므로 조각에서 먼저 개체를 만들고 여기에서 조각 관리자를 사용하고 그런 다음 beginTransaction, Replace 및 this를 호출하십시오 그러나 다른 하나가 필요할 수도 있습니다

이것은 getTag라고 불리는 것과 마찬가지로 매우 중요합니다 프래그먼트에서 프래그먼트를 다시 호출하려면이 옵션의 마지막 옵션이 중요합니다 매니저 태그로 호출 할 수 있습니다 나중에 설명해 드리겠습니다

지금 알고 싶다면이 문제를 다룰 수는 있지만 이제는하지 않지만 나중에는 중요합니다 좋아, 이제 카메라 야 카메라 조각에서 레이아웃을 볼 수 있습니다 따라서 Hello World조차도 제거되지 않습니다 텍스트를 쓰면 마치 장소와 같습니다

그걸로 무언가를 얻었으니, 당신은 content_main에 가서 이것을 제거 할 수 있습니다 이제 끝났지 만 다른 조각을 추가 할 때 더 많이 발견하고 싶을 수도 있습니다 조각을 만들 때 일찍부터 말했던 것처럼 세 가지 옵션이 있습니다 이것을 남겨두고 포함 단편 팩토리 메소드 만 사용하고 싶습니다 아마 갤러리

좋아요 그래서이 코드는 팩토리 메소드를 생성 할 것이기 때문에 조금 엉망입니다 너를 위해서 한 활동에서 다른 활동으로 일부 데이터를 전달하려는 경우 중요합니다 이 경우에는 새 인스턴스를 보유 할 수 있습니다

이 인스턴스는 Gang of Four (GoF)의 디자인 패턴은이 매개 변수를 매개 변수로 사용하며 번들로 전달합니다 그런 다음 param1과 param2에서 다시 가져올 수 있습니다 그러면 다음에서 사용할 수 있습니다 이리 이제 여기에 아무 것도 입력하지 않고 그냥 전화하기를 원할 것입니다

꽤 비슷하지만 여기에서 메서드를 호출하는 방법을 보여 드리려고합니다 그래서 GalleryFragment를 호출하고 GalleryFragmentnewInstance를 호출합니다 이제 여기에서 데이터를 전달할 수 있으므로 some1과 some2라고 말한 다음 여기에서 동일한 코드를 사용합니다 단,이 값을 변경하려는 경우를 제외하고는 RelativeLayout을 전달합니다

조각, 왜냐하면 당신은 동일한 레이아웃을 사용하고자하고 아마도 GalleryFragment에서 원할 것입니다 자원에 가서 뭔가를 바꾸고 싶습니다 다시 Frame Layout을 RelativeLayout으로 바꾸고 싶습니다 여기서 텍스트는 시계를 추가하고 싶습니다 알았어,이 갤러리는 카메라 갤러리 야

하지만 이제는 데이터를 가져 오는 방법을 보여주고 데이터를 GalleryFragment 물론 그것은 매개 변수 1과 매개 변수 2에서 넘어 가고, 이제는 그것을 사용할 수 있습니다 당신이 다른 것을 필요로하길 바라며 다음 비디오와이 비디오에서 당신을 보여 드리겠습니다 로그 만 사용하므로 로그의 데이터를 볼 수 있으며 이것은 mParam1 mParam2입니다 좋아요, 이제 당신은 갤러리에 가고, 그 태그는 GalleryFragment입니다

그래서 여기의 메소드는 새로운 인스턴스가 하나의 인스턴스에서 데이터를 전달하는 아주 좋은 방법입니다 조각을 다른 조각으로 바꾼다 이제 나는 조각의 마지막 부분을 보여주고 싶다 이걸 내가 모두 확인해 볼께 인터페이스 콜백을 포함하십시오

오! 이름 레이아웃을 변경하는 것을 잊어 버렸지 만, 중요하지 않습니다 여기 예제 만 있습니다 그래서 이것은 당신이 그것을 통과시키고 자하는 방법입니다 매개 변수 1과 매개 변수 2 이제 당신은 전화를 다시받을 수 있습니다 콜백 (call back)은 어떤 일이 끝나면 마치 주머니 안의 데이터를 가져올 수 있습니다

활동 새 인스턴스를 호출 할 때 외부에서 갤러리로 데이터를 전달할 수 있음을 기억하십시오 단편이지만 콜백은 단편 상호 작용 수신기에 있으며 콜백입니다 프래그먼트에서 뭔가를 수행 한 후처럼 데이터를 외부로 가져올 수 있습니다 좋아, 전화하자

이 인스턴스는 새 인스턴스가 있기 때문에 비어 있습니다 아마도 data1과 data2 일 수 있습니다 어쩌면 내가 번호를 알려줄 것이므로 당신은 방법을 바꿀 수있을 것이다 이것이 문자열이라고 가정 해 봅시다 정수로 변경하고 하나의 매개 변수로 변경하려고합니다

이걸 그냥 삭제 해 봅시다 좋아요 param1은 문자열이므로 문자열입니다 정수로 변경해야합니다 그렇지 않으면 여기에 몇 가지 문제가있을 것입니다

getString 대신에 getInt 이제 여기 안쪽으로, 우리는 무언가를 바꾸고 이것을 기억하고 싶습니다 좋아요 끝나면 데이터를 다시 보내려고합니다 그래서 이것이 방법입니다

ButtonPress는이 조각에서 외부로 데이터를 보내기 위해 호출하는 메서드입니다 괜찮아 그래서 당신은 볼 수있는 것처럼이 방법을 여기와 마찬가지로 호출하기를 원합니다 여기에서 무엇이든 변경할 수 있습니다 그것은 당신을위한 예일 뿐이므로 변경하고 싶다면 아마도 이것을 바꿀 것입니다

문자열로, 그래서, 문자열을 변경하고 싶습니다 이제는 정수로 데이터를 얻었고 5로 곱한 다음 데이터 다시 이것은 단지 예일 뿐이며 데이터를 다시 보내 드리겠습니다 total은 이제 문자열입니다 이제 우리가 그것을 누를 때, 당신은 데이터를 보낼 것이고 당신은 on fragment를 부를 것입니다

상호 작용하고, on 조각 상호 작용 청취자를 구현하는 외부의 누군가는, 당신은 데이터를 볼 수있을 것입니다 이 경우 아직 완료되지 않은 데이터가 사용자에게 전달됩니다 당신이 볼 수 있듯이, 이제 약간의 오류가 있습니다 왜냐하면 당신은 데이터를 얻길 원하기 때문에, 단지 숫자 일 것입니다 5, 알겠습니다

그러면 여기에 같은 코드가 필요합니다 좋아, 그럼 도망쳐 여기에있는 오류는 실제 오류가 아니지만 실제로는 알려주는 것과 같습니다 당신은 프래그먼트 상호 작용 수신기에서 구현하는 것을 잊어 버렸습니다 기억하십시오

이걸 누를 때 데이터를 다시 가져와야합니다 좋아요, 버튼을 누르면됩니다 내가이 방법을 부르면, 누군가는들을 것이다 그러나 지금 지금 듣고있는 사람이있다 그래서 너는 당신이 일하기를 기대하지만 실제로이 활동에 대해 방법, 그래서 그것은 무엇입니까? BlankFragment는 조각 수신기에서 정상입니다

따라서 인터페이스는 빈 조각 안에 있기 때문에 이렇게 호출해야합니다 이제 메소드를 구현하십시오 여기에 데이터를 다시받을 장소가 있습니다 자 이제 데이터를 토스트하고 싶습니다 그래서 우리는 데이터를 정수로 보냈습니다

여기서는 BlankFragment로 가서 계산과 호출을합니다 on 버튼을 누르면 on fragment interaction 리스너가 데이터를 다시 보냅니다 여기에서 조각상 상호 작용을 통해 데이터를 다시 얻을 수 있습니다 그래서 이것은 새로운 방식이며 이것은 안드로이드에서 데이터를 보내는 데 권장되는 방법입니다 조각화하여 데이터를 조각화합니다

탐색 용 서랍의 기본 기능입니다 Part 2에서 이벤트에 대해 알게되고 조각에 대해 살펴볼 것입니다 내 채널을 구독하는 것을 잊지 말고 다음 비디오에서 보게 될 것입니다 고맙습니다

Best Android Studio Navigation Drawer Tutorial (Part 2) ☎️ ANDROID PHONES

안녕하십니까, 제 이름은 Oum Saokosal입니다 이것은 탐색 서랍의 파트 2이므로 이전 비디오에서 계속 진행했습니다

탐색 창 기본 나는 네비게이션 서랍에 기본적인 것들 중 일부를 맞추는 방법에 대해 이야기했다 아이콘, 색상, 메뉴를 추가하고 거기에 조각을 추가하십시오 이제 Part 2로 넘어 가서 일부 사용자를 추가 한 다음 이벤트 핸들러를 추가합니다 그걸로 네, 여기가 탐색 서랍입니다

카메라를 클릭하면 갤러리를 클릭 할 수 있습니다 프래그먼트가 이제는 달라졌습니다 그래도 새 인스턴스 메소드로 데이터를 전달할 수 있습니다 콜백 메소드를 사용하여 데이터를 다시 가져옵니다 이제 우리는 카메라 조각에 버튼을 넣고 싶습니다

그래서 조각으로가 봅시다 카메라가 여기에 있으므로 이제 두 개의 텍스트 편집 버튼과 하나의 버튼이 필요합니다 그래서 당신은 어떤 ID를주고 편집 텍스트와 버튼에 힌트를주고 싶습니다 편집 텍스트를 두 번 클릭하고 etEmail이라고합니다이 텍스트는 etPassword 및 이건 아마도 괜찮아

편집 텍스트에 힌트를주고 싶을 수도 있습니다 그래서 여기에 "Enter Email"과 "Enter Password"라는 힌트를 넣을 것입니다 자 이제이 이벤트에 약간의 이벤트를 넣으려고합니다 아마이 부분을 클릭하면됩니다 camera, 그래서 당신은 CameraFragment

java로 이동합니다, 이전 강의에서 말한 것과 같이, 가장 중요한 메소드는 onCreateView입니다이 뷰는 제목보기를 추가하려는 곳입니다 그걸로 이제 외부에서 텍스트를 선언하고 편집하고 싶습니다 그러나이 텍스트는 첨부해야합니다

그것은 원시 하나 대신에 보게됩니다 이제 EditText를 외부에 선언하고 싶습니다 EditText etEmail, etPassword 버튼 btnOK 평소와 같이 다시 가져올 수 있습니다

하지만 findViewById를 호출하면 여기에 findViewById가 없지만에서 호출 할 수 있습니다 뷰는 여기에서 뷰를 팽창시키기 때문에, findViewById 메소드를 얻을 수 있습니다 보기의 이제 평소처럼 그리고 암호도 마찬가지입니다

그래서 EditText viewfindViewById (RidetPassword) 마지막으로 버튼 btnOK

RidbtnOK 그럼 여기서 이벤트를 가질 수 있습니다 따라서 여기에 이벤트 처리기 콜백을 호출하는 것이 가장 좋습니다

조각에서 이것을 호출하는 것이 낫습니다 그것은 닫힙니다 그러나 나는 Toast가 활동에 붙어있는 것을 기억하고 있기 때문에 이것을 메모한다 그래서 여기가 실제 활동이 아니기 때문에 실제 활동이 아닙니다 그냥 CameraFragment

thisgetActivity를 호출하면됩니다 그래서 조각을 참조하기를 원한다 매니저가 그랬던 것처럼 기억하지? 이리 여기 주요 활동

당신은 FragmentManager를 가질 수 있습니다, 그래서 그것은 상대적인 레이아웃을 카메라 조각으로 대체합니다, 그래서 조각은 이제 주요 활동에 속합니다 이 때문에 조각 내 thisgetActivity를 호출 할 수 있습니다 좋아요, 여기 조각에 findViewById를 호출하는 방법이 있습니다 그리고 컨텍스트 인 활동을 이렇게 부르면됩니다

알았습니다 좋아, 이제 카메라에 간다 알았어 너 알지? 너는 여기 갤러리, 다른 무언가에 간다 kosal, kosal은 테스트 용으로 여기서는 특별한 것이 없습니다

이제 etEmailgetText () toString () equals ()를 비교하려고합니다 자바 문자열, 당신은이 같은 두 번 같음 (==) 말할 수 없습니다

equals () 메소드를 사용해야한다 그리고 나서 평등해질 수 있습니다 "코 살"이라고 해 봅시다 그리고 어쩌면 암호도 etPassword

올바른 말을 해봅시다 그렇지 않으면 잘못된 것입니다

테스트 용으로 여기에는 특별한 것이 없습니다 kosal, kosal을 말한 다음 정정하십시오 다른 것을 입력하면 올바르지 않습니다 좋아요 이제 갤러리에서 뭔가를 바꾸자

갤러리에 ListView처럼 추가하고 싶습니다 그래서 다른 예제를 만들고 싶습니다 물건, 다른 구성 요소 여기서 ListView를 드래그하십시오 그래서 그것을 두 번 클릭하고 lvProduct를 바꾼다

그래서 여기 갤러리 조각에, 지금 당신은 이것을 가지고 있습니다 그러나 실제로 당신은 아무것도 필요로하지 않습니다 이런 식으로 생각하지 마라하지만 이건 똑같다 보기를 호출하고이 코드를 자르고보기를 반환해야합니다

그래서 여기서 ListView에 데이터를 추가 할 수 있습니다 따라서 ListView에 데이터와 데이터가 필요합니다 데이터와 레이아웃이 같아서 데이터를 보관할 클래스를 만들 수 있습니다 그래서 저는 제품을 호출합니다 그래서 개인 문자열 이름; 개인 int 수량; 개인 더블 가격; 그래서 저는 생성자가 필요합니다

코드로 이동하여 생성으로 이동 한 다음 여기에서 생성자를 호출하십시오 그래서 처음에는 none one과 second를 생성하거나, Mac에서는 CTRL + N을, Constructor를 다시 생성해야합니다 세 가지를 확인하십시오 나는 세터와 게터가 필요해 이것은 당신을위한 클래스입니다

그래서 여기로 가십시오 그러면 ArrayList가 필요합니다 제품의 그리고 product = new ArrayList를 호출합니다 그러므로 새로운 제품 인 p1을 추가하십시오 그리고 아마도 콜라 100과 0

5 정수 이걸 자르면 되겠지, 좋아 이제 좀 더 필요할지도 모르지 많은 양의 데이터를 원한다면 for 루프에서 생성 할 수 있습니다 그렇습니다

여기서 중요한 예는 여기에서 중요합니다 이제 모든 데이터를 ArrayList 제품에 추가합니다 그런 다음 어댑터가 필요합니다 간단한 ArrayAdapter를 사용하십시오 그것은 간단합니다

adapter = new ArrayAdapter 그리고이 하나, 당신은 'this'가 필요합니다 나중에 목록을 변경합니다 둘째, 리소스가 없기 때문에 리소스가 필요합니다 Android에서 기본값을 사용하십시오

simple_list_item_1을 사용하십시오 그리고 마지막 것은 데이터 제품입니다 그리고 이건 똑같은거야, 좋아 이제 GalleryFragmentthis

getActivity ()가 필요합니다 과 마지막으로 ListView에 추가하려고하므로 lvProduct를 이렇게 호출합니다 viewfindViewById (Rid

lvProduct) 여기에 있습니다 그리고 lvProductsetAdapter (어댑터)가 완료되었습니다 그래서, 당신은 그것을 실행합니다 이제 알 수 있듯이 데이터가 좋지 않기 때문에 문제가 발생합니다

목록 항목은 하나의 데이터 만 보유하지만 Fundater의 라이브러리를 사용할 수 있지만 라이브러리를 사용하십시오 그러나 Fundapter의 라이브러리를 사용할 수 있습니다 여기에 Fundater를 입력하면 github으로 이동하고 다른 동영상을 볼 수 있습니다 이것은 네비게이션 서랍의 예제 일 뿐이며, 여기서 빠른 것을하고 싶습니다 Gradle로 이동하십시오

여기에 Gradle을 추가하십시오 동조 그래서 인터넷 동기화가 필요합니다 좋아, 그의 도서관은 하나의 버그가있어, Manifest, androidmanifest에 가도록 고치기 위해 실제로 이것은 필요한 때까지는 필요하지 않습니다

알다시피, 우리는 그 일을하는 법을 알고 있지만 목록을 작성한 다음 배열을 만드는 방법을 알고 싶을 수도 있습니다 어댑터 쉽게 그래서 더 배우고 싶다면 더 배우고 싶다면 그냥 앉아서 시계, 그래서 CTRL + SPACE 네임 스페이스를 여기에 추가해야합니다 그리고 이것은 마지막 도구입니다 도구 대체, 좋아, 안드로이드 : 아이콘 문제는 그의 도서관에서 아이콘, ic_launcher 같은 것을 가지고 있다는 것입니다 우리 것

그래서 그것이 문제입니다 이제 동기화 할 필요가 있습니다하지만 실행해야 할 수도 있습니다 작동중인 경우 사용할 수 있습니다 이 라이브러리

좋아, 좋아 보인다 이제는 계속 진행할 수 있습니다 ListView의 경우 레이아웃을 사용해야합니다 그래서 여기 당신이 옳지 않은 간단한 것을 사용합니다 그래서 우리는 레이아웃을 추가해야합니다 ListView 항목 따라서 XML 레이아웃, xml 파일로 이동하여 product_layout이라면 자유롭게 레이아웃을 바꿀 수 있습니다

어쩌면 상대는 좋은 것입니다 좋아, 어쩌면 일부 텍스트, 중간 중간 및 다른 중간 중간 첫 번째 것은 이름에 대한 tvName이고이 tvQty, tvPrice입니다 이제 FunDapter 라이브러리의 BindDictionary를 사용하여 데이터를 함께 바인딩 할 수 있습니다 따라서이 라이브러리는 매우 융통성이 있습니다

어떤 데이터가 다른 라이브러리와 바인딩되는 것처럼 추가 할 수 있습니다 텍스트 중 하나입니다 그래서 문자열 필드를 추가해야합니다 Rid

tvName은 우리가 방금 생성하고 새로 호출하는 문자열입니다 Ctrl + Space, StringExtractor 그리고 나서 당신은 제품을 반환 할 수 있습니다

제품은 지금 getName ()입니다 그래서 당신은 다른 세 사람과 같은 일을합니다 그래서 너는 이것을 바꿀거야, 좋아, 좋아 getQty () 하지만 이건 String이야, 정말 미안해

이 하나는 정수이고 여러분은 문자열을 추가합니다 그래서 같은 일을 부울, 그래서 같은 일을 두 번합니다 이제 더 이상 ArrayAdapter가 필요 없으며 대신 Fundapter를 사용합니다 우리는 github에서 그것을 얻었고 나는 어댑터를 새로운 Fundament라고 부릅니다 그래서 "this"와 ArrayList는 제품이고 리소스 레이아웃입니다

여기 Rlayoutproduct_layout입니다 그리고 마지막 하나는 사전입니다 그러나 우리는 문제가 있습니다

왜냐하면 우리가 전화를해야하기 때문입니다 이 갤러리 조각은 좋아하지만 getActivity, 좋아 그런 다음 어댑터를 사용하여 lvProduct에 연결하십시오 갤러리, 그거 봐? 좋아, 이제 너는 그것을 올바르게 얻었다 마지막 항목에 이벤트가 있기를 원할 것입니다

lvProduct를 호출하면됩니다 항목 클릭 수신기, 새 CTRL + SPACE 및 ENTER 좋아요 여기에서 데이터를 가져올 수 있습니다 클릭하면 데이터를 가져올 수 있습니다

선택한 제품 그래서 그것을 얻으려면 제품과 제품을 호출해야합니다 제품이 최종이어야합니다 익명의 클래스 안에서 제품을 사용하려면 제품이 최종적이어야합니다 그런 다음 SelectedProduct, product

get (position) 객체를 정의 할 수 있습니다 이것이 바로 입장입니다 여기 위치는 0, 1, 2, 3, 4, 5와 같습니다 그래서 칵테일을 클릭하면 0, 1, 2, 3이됩니다 그래서 우리는 위치 # 3의 데이터를 얻을 것입니다

그럼 칵테일이라면 300과 25 알았어 그래서 토스트하세요 다시 한번 GalleryFragmentthis

getActivity (), SelectedProductgetName (), short, show, okay가 필요합니다 좋아 갤러리로 다시 가자 이제 칵테일을 클릭하자 칵테일

자, 이제 그걸로 무엇이든 할 수 있습니다 좋아, 그건 내 비디오를위한거야 당신이 이것을 좋아한다면, 구독하는 것을 잊지 마시고 3 번째 비디오에서 보게 될 것입니다 고맙습니다

Best Android Studio Navigation Drawer Tutorial (Part 3) ☎️ ANDROID PHONES

안녕하십니까, 제 이름은 Oum Saokosal입니다 이것은 네비게이션 서랍의 3 부분입니다

Android Studio 내 채널에서 이전 동영상 (1 부 및 2 부)을 볼 수 있습니다 나에게 연락 할 수 있습니다 : Facebookcom/kosalgeek twittercom/okosal github

com/kasolgeek에서 소스 코드를 다운로드 할 수 있습니다 게다가 첫 번째 비디오에서 기본 탐색 창, 기본 UI 및 단편에 대해 이야기했습니다 Part 2, 뷰에 대해 이야기하고 조각에 뷰를 추가하는 방법, 이벤트 처리기 및 조각을 나열하십시오 이 비디오에서는 탐색 서랍을 왼쪽에서 오른쪽으로 변경하는 방법에 대해 설명하겠습니다

애니메이션을 추가하십시오 좋아요, 이전 동영상의 예입니다 우리는 이미 그것에 대한 메뉴를 만들고 이것과 목록보기에 항목을 추가합니다 이제 위치를 변경하려고합니다 그래서 우리가해야 할 일은, 먼저 여기에있는 활동 _ 메인으로 가서 여기로 START에서 END까지, 그리고 layout_gravity에서 END까지 가능합니다

조금 작아 폭을 변경할 수 있습니다 아마도 200dp 일 수 있습니다 그러면 주요 활동으로 가서 듣습니다 당신이 바꿔야 할 것은 여기 있습니다

END로 변경하고 싶을 때이 것을 방지해야 할 때 매우 중요합니다 에서 사용자, 당신이 여기에있는 동안 당신이 다시 누르면, 이것을 뒤로 누르면, 보통 당신이 뒤로 말하자 뒤는 나가기 버튼처럼 행동합니다 따라서 여기서는 뒤로 누를 때 코드가 애플리케이션을 종료하지 못하도록합니다 열린 탐색 창에서 이제 시작부터 끝까지 변경하고 싶습니다

그리고 나서 여기에서 마지막 부분을 변경하고 싶습니다 탐색 아이콘이 선택되었습니다 여기에서도 END로 변경하려고합니다 당신이 조각에 있다고 가정 해 봅시다 이제는 하나의 특정 단편에 있고 다른 단편을 클릭한다고 가정 해 봅시다

메뉴에서 탐색 창을 닫으면됩니다 이제 END로 변경됩니다 그 외에도 무엇이 있습니까? 여기 응용 프로그램에서 그것을 실행하자! 메뉴가 없기 때문에 오른쪽에 햄버거 메뉴가 있습니다 당신이 부르는 것, 여기의 메뉴, 햄버거 메뉴가되는 설정 그래서 당신이해야 할 일은 메인 메뉴로 가서 어쩌면 menuRight로 바꾸고 싶습니다

그리고 이것 당신이 결코 말하지 않을 때, 3 개의 점 메뉴 안에 숨어있을 것입니다 그리고 항상 말하면, 보여 줄 것입니다,하지만 이제는 아이콘을 바꾸고 싶습니다 그리고 아마도 아이콘을 찾을 수 있습니다 인터넷으로부터의 좋은 하나, 햄버거 메뉴와 유사한 하나

그러나 나를 위해 나는 단지 사용한다 이 방금 다운로드 한 후 여기에서 드로어 블 메뉴에 복사하여 붙여 넣으십시오 예, 이제 드로어 블 (drawable)이라고 부를 수 있습니다 그래서 우리가 사용자를 추가하고 싶다고 가정하면, 다른 아이템도 가질 수 있습니다 괜찮아

이것은 단지 예일뿐입니다 좋아요, 특별한 것은 없지만 당신이 원하는 것입니다 사용 바로 메뉴예요 좋아요, 그래서 당신은 여기서 주요 활동으로 돌아갑니다

여기에 onOptionItemSelected가 있습니다 이제 메뉴 오른쪽으로 바뀝니다 서랍을 부르면됩니다 서랍이 없기 때문에 서랍이 없습니다 onCreate 안에 있습니다

자, 이제 바깥쪽에 복사하고 이것을 이쪽으로 두십시오 이제 navbar 메소드에서도 자유롭게 사용할 수 있습니다 그래서 당신은 서랍이 오른쪽에서 열렸다 고 말하면 닫습니다 그렇지 않으면 당신이 그것을 엽니 다 괜찮아

그래서 이것이 가장 중요한 부분입니다 메뉴가 햄버거 메뉴처럼 작동하도록하려면 마우스 오른쪽 버튼을 클릭하십시오 메뉴가 정상에서 왔음을 알 수 있습니다이 메뉴는 더 이상 사용되지 않으므로 이 버튼을 비활성화하고 싶습니다 당신이해야 할 일은 토글을 켜고 토글 설정 onDrawerIndicatorEnable 및 false로 설정하면 햄버거 메뉴가 표시되지 않습니다

이제 햄버거 메뉴가 오른쪽에서 나오고 뒤를 클릭하면 다음과 같이 작동합니다 당신이 원하는 이걸 클릭 해 알았어 그래서 마지막 부분은 애니메이션이지만, 애니메이션 전에는 애니메이션보다 먼저, 나는 뭔가를 지적하고 싶습니다

아마도 당신이 그것을 알아 차릴 지 알 수있을 것입니다 그러나 당신이 처음 당신을 시작할 때 아무것도 보이지 않는 단지 하나의 빈, 실제로는 좋지 않다 하나의 조각을 갖고 싶다 절대적으로 1을 위해, 그래서 아마 당신은 첫번째 것을 선택하고 싶습니다, 좋습니다, 그렇게하기 위해서 그것은 매우입니다 쉽습니다

조각에 대한 코드로 이동하면 onCreate에 복사하여 붙여 넣기 만하면됩니다 방법과 어쩌면이 마지막 부분 이제 기본 조각이 생겼습니다 다른 조각을 클릭하면, 좋아요, 그러나 이것에 대한 애니메이션은 단지 아주 기본적인 것이다 이제 우리는 애니메이션으로 이동할 것입니다

거래를위한 애니메이션은 매우 간단합니다 먼저 무엇을해야합니까? res 및 새 디렉토리에 저장하면 anim을 호출 할 수 있으며 폴더 이름은 모두와 나는 나만의 애니메이션을 가지고있다 이 슬라이드는 슬라이드 인 및 왼쪽에서 슬라이드하여 왼쪽에서 슬라이드하여 가지고있는 내용 어쩌면 지속 시간을 바꾸는 것이고 X는 -100 %이고 X1은 0 %입니다 당신은 0에서 100까지 괜찮아지기를 원합니다 이것은 오프셋에서입니다

델타는 오프셋입니다 이것은 간단한 애니메이션입니다 싸우고 싶다면 Google에서 유용한 정보를 찾을 수 있습니다 그냥 기본적인 것일 뿐이므로 당신은 그것을 쉽게 바꿀 수 있습니다 여기 관리자는 괜찮아요, 여기 주위에, 당신은 내려 가서 setCustomAnimations라고 말하십시오

두 개의 매개 변수가 필요합니다 첫 번째 매개 변수는 사용자가 볼 수있는 입력 값과 종료 값입니다 입력은 슬라이드 인이고 종료는 슬라이드 아웃입니다 그래서 Ranim_slide_in_from_left로 전화하면 출구는 R

anim_slide_out_from_left입니다 복사해서 붙여 넣기 만하면됩니다 저거 봐! 이제 애니메이션이 좋아 보인다 이 동영상 용입니다 내비게이션 드라이버에 대해 더 배워야한다는 것을 알고 있지만 모든 기본 기능을 다뤘습니다

탐색 서랍의 네가 그걸 좋아하고, 내 채널을 구독하는 것을 잊지 말고, 너를 볼거야 다음 동영상에서 고맙습니다

Best Way to Create Android Database App in 30 Minutes (Navigation Drawer) 2017

안녕하세요 여러분, 제 이름은 Oum Saokosal입니다 오늘은 30 분 안에 Android 데이터베이스 앱을 만드는 가장 좋은 방법을 알려 드리겠습니다

이 비디오에서는 Navigation Drawer RecyclerView, Android Volley, PHP 및 MySQL에 대해 배우게됩니다 나는 그것이 당신에게 많이 들리는 것을 안다 그러나 만일 당신이 더 많은 세부를 원한다면 당신은 나의 것 위에서 더 많은 비디오를 찾을 수있다 채널 : Oum Saokosal 내 Facebook 페이지 : KosalGeek, Twitter : @okosal 및 일부 소스 코드 githubcom에서 도서관 kosalgeek뿐만 아니라

따라서 이러한 요구 사항을 충족하려면 Android Studio에 최신 GenyMotion이 있어야합니다 Emulator XAMPP for PHP 및 Sublime Text 용 OK 프로젝트를 시작합시다 OK Android Studio를여십시오 Android Studio 2

12를 사용하고 AndroidDBApp1이라고 부르 자고 버전을 선택하겠습니다 안드로이드 40은 괜찮습니다 안드로이드 네비게이션 서랍을 선택하세요

그것을 사용하고 그냥 그대로 두십시오 이제 끝났으니 테스트 해보고 싶으니까 실행 해 봅시다 이제 작동합니다 이것이 바로 네비게이션 서랍입니다 좋아, 그래서 우리는 아마이 부분을 조각으로 만들려고하는데, 나는 조금만 빨리 바꾸고 싶다

메뉴를 조금만 비켜서이 메뉴에 들어가서이 모든 것을 삭제하면됩니다 좋아, 아마 이런 식으로 그룹을 구성 할 수도 있습니다 우리는 당신이 우리의 뉴스를 말하게하는 것처럼 당신이 알고있는 것과 같이 당신이 알고있는 두 가지 옵션을 제공합니다 어쩌면 당신은 뉴스를 가지고 싶을 것이고 아마도 제품을 좋아할 것이기 때문에 아이템 이름을 주면됩니다 그래서 보통 메뉴, menuNews, menuProduct OK와 같은 이름을 부여합니다

그런 다음이 것을 삭제하지 않고 다른 것으로 변경하고 싶다면 그냥 빨리 바꾸고 싶어 그리고 여기 자바로 가서 내려갑니다 이것은 여러분이 생성 한 인용문처럼 여러분이 알고있는 기본값입니다 여기에 나머지는 모두 삭제하되이 부분은 삭제하지 마십시오 이 중 하나는 매우 중요합니다 그리고 당신은 조각을 가지고 싶어 그래서이 마우스 오른쪽 단추로, 여기에서 조각으로 이동 한 다음 빈 칸을 선택하고 선택을 취소하십시오

그것을 필요로하고 NewsFragment OK처럼주고, 이것에 대해 더 자세히 알고 싶다면 내 YouTube 채널에 내비게이션 서랍에 대한 동영상이 있습니다 그것을 확인하시기 바랍니다 그러나이 목적을 위해 나는 단순한 것을 만들뿐입니다 여기 가져 오기 위해가는 오른쪽 조각을 조각 내십시오 이 같은 것을 볼 수 있다면 OK입니다

그러나 그것을 사용할 때 어떤 문제가 있습니다 미래는 당신이 지원 버전 40을 사용하는지 확인하십시오 OK 여기에서 RecyclerView를 사용할 수 있습니다 프래그먼트 안에 OK

그래서 테스트하기를 원하기 때문에 여기 FragmentNews에있는 레이아웃에서 휴식을 취하십시오 그냥 여기로 가세요 그러면 원하는 것을 알 수 있습니다 그것을 테스트하기 위해, 아마도 이런 시계를 잡아도됩니다 LinearLayout으로 변경하려면 LinearLayout OK를 실행하면됩니다

괜찮아요 다시 끌고 싶다면 걱정하지 마십시오 문제가되지 않습니다 그것을 실행하십시오 아, 여기서 조각을 불러야한다는 사실을 잊어 버렸습니다

물론 우리는 그렇게 부르지 않았습니다 그래서 우리는 여기에서 MainActivity로 이동하십시오 여기에서 NewsFragment를 호출하면됩니다 NewsFragment는 작은 케이스로 알고 있고 NewsFragment는 이와 같습니다 단편이 활동의 ​​일부분이라는 것을 이해해야한다는 점이 하나 더 있습니다

이 단편을 어디로 가길 원하는지 실제로 알아야합니다 그것을 content_main에 여기 넣으십시오 그래서 당신은 여기에서 Relative에 이름처럼 줄 필요가 있습니다 그래서 만약 당신이 콘텐츠 메인 내에서 그것을 삭제하고 당신은 RelativeLayout에 이름을 부여해야합니다 이리

글쎄, 실제로 ID는 이름이 아니야, ID는 이것처럼 그리고 우리는 그런 식으로 그리고 어쩌면 찾아 낼거야 나는 그것을 MainLayout이라고 부른다 그리고 이것은 조각을 모두에 넣고 싶을 장소이다 그래서 여기 MainActivity로 돌아가서 FragmentManager를 호출하고 호출 해 봅시다 관리자, 내부에 있어야합니다

확인을 클릭하고 그런 조각 관리자의 지원을 받으십시오 이제 우리가 할 수있는 일은 managerbegintransaction입니다 그런 다음 교체해야합니다 여기에서 조각을 교체하고 싶습니다

content_main 그래서 Rlayoutmain을 기다리지 말고 no, idMainLayout 그리고 그런 다음 newsFragment 여기에 괜찮 았고 텍스트를 넣으려는 것은 괜찮습니다 네가 그렇게하지 않으면 좋아, 기본 작업을 갖고 싶다면 이것을 복사해서 onCreate에 전달하면된다

여기, 아래쪽에 커밋 ()을 호출해야만 괜찮습니다 그래서 실행되지 않습니다 당신은 그냥 교체를 호출하고 나서 커밋했습니다 다시 실행하십시오 이제 확인해보십시오

시계는 그 활동을 의미합니다, 당신은 조각을 가져다가 그 안에 넣는 것을 알고 있습니다 그리고 여기는 시계가 아닙니다 이제는 RecyclerView를 안에 넣고 싶습니다 newsFragment 여기에서 파편이 그렇게 불려진다 그래서 도서관에 Google이 있고 Android RecyclerView를 입력해야합니다

여기 그리고 어쩌면 이것도 그래서이 블로그에 구글은 아주 좋은 줄 당신이 거기에 예제를 알고 그래서 만약 당신이 단지 원한다면 여기서 코드를 잡아라, 좋아, 이렇게 카드를 필요로한다 당신은 여기에 의존성을 넣어야하지만 당신은이 더하기 기호를 가지고 있습니다 최신 것을 알아라 그래서 당신은 여기에 가거나 어쩌면 그것의 주위에 좋습니다 그리고 당신 Ctr + F 그리고 당신은 RecyclerView를 찾을 수 있습니다

그래서 이것은 RecyclerView에 대한 의존성이므로 다음과 같은 코드를 잡아라 안드로이드에 그리고 당신은 두 번째 하나가 아니라 첫 번째로 gradle로 이동하고 컴파일하라 그런 다음 그것을 붙여 넣으면 또 하나의 cardView가 필요합니다 그래서 cardView는 컴패니언과 같습니다 RecyclerView

그래서 코드를 잡고 다시 컴파일하면 좋습니다 이제 확인하십시오 버전 23으로 컴파일하는 것처럼 알기 때문에 약간의 문제가 있습니다 24 23으로 바꾸어야한다고 생각합니다 나는 버전을 사용했기 때문에 당신이 약간의 오류가있는 이유를 다시 동기화해야만한다

40 프로젝트를 만들 때 기억 나는 안드로이드 4를 사용했고 이것은 하나의 최신 업데이트이므로 24로 이동하고 23을 사용하므로 다운 그레이드를 잘 알고 있습니다 조금이라도 사용하고 싶다면 최신 버전을 사용하십시오 그러나 당신은 그것을 바르게 바꿔야 만합니다 그러나 빨리 끝났습니다

여기로 돌아가서 RecyclerView를 준비하십시오 그래서 여기 복사하고 레이아웃으로 이동하십시오 ~ fragment_news까지 OK 이걸로해라 이건 뭐든지간에 아날로그 시계로 바꾸면 돼 rv에 이건 뉴스 야

그래서 네가 그게 어울리는 부모인지 알 수있어 전체 화면을 일치시킵니다 이것은 RecyclerView를위한 것이지만, cardView를 새로 마우스 오른쪽 버튼으로 클릭하고 XML을 선택해야합니다 여기 Layout을 new_card_view라고 부르면됩니다 이것과 같이 그리고 OK 그게 뭐든 상관 없어요

LinearLayout은 괜찮습니다 나는 하나의 이미지를 갖고 싶고, 두 개의 텍스트를 원한다 그것은 하나의 이미지를 왼쪽에서 하나는 오른쪽에서 2 이미지를 알고 있으므로 그렇게 해 보도록하겠습니다 LinearLayout이라는 내부 레이아웃을 만들고이 레이아웃은 match_parent가 될 것입니다 하지만 부모님과 먼저 일치하는 부모님과 일치하는 부모님의 첫 번째와 안쪽의 부모님과 일치합니다

나는 이미지보기를 가지게 될 것이고 이것은 포장 내용이 될 것입니다 OK 여기 왼쪽에 전화를 걸 수있는 이름이 있어야합니다 ivLeftImage 및 image scaleType centerCrop이 될 것입니다 아마 소스가 없기 때문에 Android에서 사용하고 싶습니다 어쩌면 당신은 하나의 이미지를 가지기를 원할 것입니다

여기 앙코르 당신은 앙코르를 안다, 그것은 나의 나라에서 여기에있다 그리고 우리는이 공간을 채울 필요가있다 대문자가 없으므로 그만큼 작은 케이스 만 있으면 드로어 블을 가질 수 있습니다 Angkor OK OK를 보자 그것은 전체 화면을 사용 하겠지만 높이는 아마도 단지 이 300dp를 줘 좋아

이거 어쩌면 여기 300dp, cardView, 밖에 내가 필요해 CardView 그래서 어딘가에 CardView 잡아 일반적으로 나는 바깥쪽에 CardView 넣어 안쪽이 아니라면 CardView는 좋아하지 않습니다 여기 네임 스페이스는 이렇게 전달합니다 이제 네가 원하는 모든 지점과이 창 하나가있다 하지만 CardView의 너비는 매우 작아서 match_screen처럼 두어야합니다

match_parent 그리고 이건 300이 될거에요 그래서이 match_parents를 넣었습니다 그것은 300이었습니다 지금 그리고이 하나는 14:39 300을 다시 보지 않으므로 이렇게 될 것입니다 왼쪽에서 2 개, 오른쪽에서 1 개를 갖고 싶습니다

오리 엔테이션 수평 좋아,이 하나 넣어 layout_weight this과 5 50 %를 넣을 수 없다는 것을 의미하는 50 %, 당신은 5를 넣을 수 있고 이것은 하나가 될 것입니다 왼쪽 및이 하나의 권리 확인 및 다시 정상적으로 그냥 언론을보고 뭔가를 볼 수 있습니다 승인 이제 끝났습니다 OK 중력 센터는 중요하지 않습니다 좋아요

코너는 4입니다 어쩌면 그냥 가지고 있습니다 이미지 만, 일부 텍스트를 원하면 여기에 텍스트를 넣으십시오 이제는 빨리 빨리 할 수 ​​있습니다 좋아, 데이터베이스에서 데이터를 가져 와서 Android Volley가 필요하므로 여기로 돌아가십시오

다시 안드로이드 발리 좋아, 그래서 당신은 당신이 이걸로 갈 필요가 gradle처럼 알아야 할 필요가 처음 하나, 둘째는 마치 연속처럼 알고 있지만 두 번째 것은 잡으려고 할 것입니다 이 코드는 OK가 아닙니다이 코드를 다시 잡고 다시 동기화하십시오 MySingelton에 대한 수업처럼 당신이 필요로하므로 동기화가 완료되었음을 알고 있습니다 부름을 막는 코드예요

복제해야 할 것처럼 말입니다 MySingelton은 클래스에서 많은 객체를 만들 때와 같습니다 이것은 당신을 보호하고자하는 것입니다 우리가 여기서 버전 4를 다시 지원할 필요가있는이 클래스는 괜찮습니다 나는 너를 위해 조금 어려울 것 같은데,하지만 너는 네가 원한다면, 물론 YouTube 채널로 이동하면 MySingelton이 완료되고 Newsfragment로 이동합니다

여기 당신은이 하나의 MySingelton을 요구하고 즉각적으로 그리고이 하나의 문제를 얻을 필요가 있습니다 이제 당신은 외부에서 이것을 필요로하므로 여기서 컨텍스트를 얻을 수 있습니다 context containergetcontext () 여기에서 컨텍스트이므로 여기에 요청을 추가 할 수 있습니다 그렇다면 stringRequest가 필요합니다

OK와 StringRequest new StringRequest 이것은 네트워크를 호출하기 위해서입니다 먼저 메소드와 같은 메소드가 필요합니다 그러면 데이터베이스에서 데이터를 가져 와서 시작합니다 getData OK 그리고 여러분이 사용하는 두 데이터 모두 OK 데이터를 가져오고 여기에 URL이 필요하다 그래서 그것은 URL입니다

그래서 당신은 10320이 될 것입니다 그래서 당신은 로컬 하나를 사용할 것입니다 18시 50 분 그렇게 좋아하지만 당신 도이 하나를 실행해야합니다

좋아, 내가 프로젝트를 만들고 그것을 예배와 같이 부를 것이고 가을이 갈 것이다 PHP에 색인을 붙이는 것입니다 그리고 이것은 새로운 것입니다 여러분은 여기서 처음으로 이렇게 지저분해질 것입니다 URL 및이 하나와 쉼표 및 여기 아래에 새로운 하나가 있으므로이 네 가지가 있습니다

오류가없고 오류가 발생하면 데이터를 가져 와서 오류가 발생합니다 여기 오류 청취자로부터 OK 그러면 Android 매니페스트로 이동해야 할 한 가지 더 필요합니다 여기 당신은 허락을 요청해야합니다이 사람은 이처럼 인터넷이 필요할 것입니다

이제 StringRequest를 모두 사용할 수 있으며 아래에 내려 놓으면 이제 네트워크 OK 그리고 실제 서버를 사용한다면 로컬 호스트를 나타냅니다 Google에서 Google처럼이 사실을 알고 URL을 확인해주세요하지만이 URL은 로컬 호스트와 examplewews 그래서 나는 그들에게 가서 새 폴더를 만들어야 만합니다 Mac의 경우 20시 27 분에 이름을 바꿔서 한 번 더 이름을 바꿉니다 그리고 나서 우리는 더 많은 PHP 인덱스를 생성 할 것이고 여기에 숭고한 텍스트가 필요합니다

당신은 PHP와 이것 만 필요로하고 당신은 데이터를 보낼 것이기 때문에 이것 모두를했습니다 그래서 당신은 데이터를 실제로 잡아서 연결이 필요하지만 어쩌면 그것을 만드는 것이 더 낫습니다 그것들을 외부에 만들어 복사하고 붙여 넣기 할 수 있습니다 그래서 서버가 필요합니다 서버가 로컬 호스트이고 사용자가 루트이고 pass가 공백이고 db이므로 필요합니다

db 데이터베이스 이름이므로 그냥 예기치 않은 코드를 호출하면 mysqlite와 같은 연결이 필요하다 그리고 나서 서버와 사용자 그리고 패스와 db 그리고 이것 하나는 아마 당신이 double을 사용해서 comm를 부를 수있다 m 여기에 그래서 만약 통신 오류가 그냥 오류를 호출 할 수 있습니다 그럼 전화를 죽일 전화 그냥 오류 DB OK 그런 다음 색인에 연결하여 여기에 포함 시키십시오 일단 PHP를 연결하고 OK를하면 알 수있는 모든 데이터베이스를 얻고 싶습니다

데이터베이스를 가지고있어 localhost를 다시 방문하십시오 데이터베이스가 실행되고 있지 않습니다 시작하겠습니다 승인 그래서 다시 한 번 PHP myadmin으로 이동하여 데이터베이스를 만들고, 새로운 데이터베이스 인 examplenews를 사용합니다

UTF-8 일반 CI에 대한 데이터 정렬 4, 하나의 ID를 더한 다음이 기본 키를 자동으로 증가시킵니다 그것은 제목이라고 불리우며 varchar는 아마이 제목처럼 250을 입력 할 것입니다 Image 1, this just just 이미지 URL을 알면 250 OK를 저장하면됩니다 이제 간단한 데이터를 여기에 삽입하여 테스트 이미지 1과이 이미지를 호출 할 수 있습니다 image1

sql 그리고이 하나의 이미지 2 그 다음이 하나의 테스트 이미지 2와이 하나가 3이 될 것입니다 4 OK 좋다, 이제 모든 데이터가 여기에 있으므로 데이터베이스에서 데이터를 가져오고 싶다 여기 OK OK mysql_query 이제 OK 데이터를 얻었고 나는 숭고함을 사용하고 있음을 기억한다 메모장을 사용하는 경우 텍스트 ++ 여기에 코드에 대한 몇 가지 문제점이 있습니다 이제 확인하십시오

데이터를 얻은 다음 여기에 안드로이드에 넣고 싶습니다 그래서 무엇이든하기 전에 여기에서 테스트하고 싶습니다 그래서 이것은 데이터에서 올바른 위치입니다 로그를 사용하는 것처럼 조각의 이름을 넣을 수 있습니다 그리고 이것은 응답입니다

좋아, 여기 안드로이드 모니터를 열고 당신이 할 수있는 새로운 조각으로 필터링을 좋아해 데이터가 이와 같습니다 만약 당신이 이것 앞에서 뭔가를 본다면 당신은 그 상징을 알 것입니다 당신은 숭고한 텍스트로 변경해야하므로 약간의 오류가 있습니다 이제 데이터가 완료되고 이것을 변환하려고합니다

JSon을 arraylist 그래서 내 github KosalGeek에 가서 가야하고 KGJsonConvertor에 가서 확인을 누른 다음 코드를 잡고 돈을 기부하고 싶다면 기부 할 수 있습니다 여기 괜찮아요 사용은 무료입니다 그래서 먼저 GSon이 필요합니다 여기 Gson을 여기에서 다운로드 한 다음 OK를 클릭하면됩니다

그런 다음 여기를 클릭하여 내 프로젝트를 다운로드하거나 다운로드를 클릭하고 확인을 클릭 한 다음 이 하나를 복사하고 돌아가서 여기에 27 : 04 여기를 클릭하고 애플 리케이션에 대한 프로젝트로 이동 – libs를 마우스 오른쪽 버튼으로 클릭하여 전달하십시오 네, 그리고 다른 하나,이 하나의 패스이 그냥 당신이 이것을 알고 라이브러리로 추가, 이 라이브러리를 라이브러리에 추가하면이 라이브러리를 마우스 오른쪽 버튼으로 클릭하는 이유가됩니다 시간이 끝났습니다 이제 완료되었습니다 안드로이드에 대해 잘 알고 있습니다

데이터베이스의 데이터를 나타내는 클래스를 작성하여 뉴스를 호출하겠습니다 그런 다음 공용 정수 ID를 갖게됩니다 이름이 일치해야합니다 데이터베이스의 필드 ID title Image 1 & 2 OK 이제 아무것도 이름을 바꿀 수 없습니다 이 하나의 문자열 제목과 당신도 대중과 문자열을 사용해야합니다

String Image 1 public String 이미지 2 확인을 클릭 한 다음 주 Serializable이 여기에서 응답을 얻고 싶습니다 코드를 arraylist로 변환하면, 여기 내 소재에 들어 있습니다 그런 다음 응답이 이제 끝나고 수업은 뉴스입니다 이제 알았습니다

arraylist 그래서 arraylist를 RecyclerView에 넣고 싶습니다 material, RecyclerView, rv 그리고 그냥 뉴스를 불러라 그래서 이것을 사용하면된다 나는보기에 남기 때문에이 사람이 이렇게 될 것입니다 좋아, 이제이 같은보기를 사용할 수 있고 ID별로보기를 찾을 수 있으므로 이제 rv 예와 우리는 이제 괜찮아 질거야 rvnews 그리고 너는 보통 setLayout처럼 알고 싶다

당신은 선형 레이아웃을 사용합니다 컨텍스트와 컨텍스트는 최종적이어야합니다 이제 hasFixed를 true로 설정해야합니다 그리고 마지막으로 어댑터를 여기에서 가장 중요한 부분으로 설정하기를 원합니다 어댑터를 외부에두면 NewsAdapter를 호출 할 것이므로 OK를 클릭하고 클래스 호출을 생성하십시오

NewsAdapter 그리고 나서 당신은 RecyclerView Adapter를 확장해야합니다 당신은 View holder처럼 RecyclerView, View Holder를 알고 있습니다 그러면 구현해야합니다 이 그래서 메인 메서드 세 가지 방법으로 그래서 우리는 NewsAdapter를 호출 한 다음 NewsAdapter를 호출해야합니다

NewsAdapter입니다 당신은 계약자를 만들 수 있도록 당신이 arraylist를이 사람에게 알려주기를 원합니다 그에 대한 안녕하세요 여러분, 제 이름은 Oum Saokosal입니다 오늘 나는 안드로이드를 만드는 가장 좋은 방법을 가르쳐 줄 것이다

30 분 안에 데이터베이스 응용 프로그램 이 비디오에서는 네비게이션 서랍 RecyclerView, Android Volley, PHP & MySQL 나는 당신에게 많은 소리가 들리지만 더 자세히 알고 싶다면 내 채널에서 더 많은 동영상을 찾을 수 있습니다 Oum Saokosal 내 Facebook 페이지 : KosalGeek, Twitter : @okosal, githubcom kosalgeek의 라이브러리에있는 일부 소스 코드도 있습니다 따라서 이러한 요구 사항을 충족하려면 Android Studio에 최신 GenyMotion이 있어야합니다

에뮬레이터 XAMPP for PHP 및 Sublime Text OK 프로젝트를 시작합시다 Android Studio를 설치합니다 Android Studio 21

2를 사용하고 AndroidDBApp1이라고 부릅시다 Android 40의 버전을 선택하면 괜찮습니다 Android Navigation을 선택하면 서랍은 우리가 그것을 사용하고 싶기 때문에 그냥 그대로 두십시오 이제 끝났어

그래서 테스트 해보고 싶을 테니까요 이제 작동합니다 그래서 이것은 네비게이션입니다 서랍, 그거야 좋아, 그래서 우리는 아마이 부분을 조각으로 만들려고하는데, 나는 조금만 빨리 바꾸고 싶다

메뉴를 조금만 비켜서이 메뉴에 들어가서이 모든 것을 삭제하면됩니다 좋아, 아마 이런 식으로 그룹을 구성 할 수도 있습니다 우리는 당신이 이것과 같이 알고있는 두 가지 옵션을 제공합니다 당신은 뉴스를 말하고 싶어 할지도 모르는 것처럼 알 수 있습니다 제품 괜찮아요 그래서 일반적으로 항목 이름을 부여합니다

나는 메뉴, 메뉴 뉴스, 메뉴 제품과 같은 이름을 부여합니다 승인 그런 다음이 것을 삭제하지 않고 다른 것으로 변경하고 싶다면이 것을 선택하십시오 그냥 빨리 바꾸고 싶어 그리고 여기 자바로 가서 내려갑니다

이 하나는 당신을 위해 생성 된 따옴표와 같이 알고있는 기본값이므로 메뉴로 변경하면됩니다 여기에 나머지는 모두 삭제하고이 부분은 삭제하지 마십시오 여기가 잘되어 있습니다 이 중 하나는 매우 중요합니다 그리고 당신은 조각을 가지고 싶어 그래서이 마우스 오른쪽 단추로, 여기에서 조각으로 이동 한 다음 빈 칸을 선택하고 선택을 취소하십시오 그것을 필요로하고 NewsFragment OK처럼주고, 이것에 대해 더 자세히 알고 싶다면 내 YouTube 채널에 내비게이션 서랍에 관한 좋은 동영상이 있습니다

확인해주십시오 그것 그러나이 목적을 위해 나는 단순한 것을 만들뿐입니다 여기 가져 오기 위해가는 오른쪽 조각을 조각 내십시오 이게 맘에 든다면 OK입니다 하지만 나중에 사용하면 문제가 발생하므로 지원을 사용해야합니다

버전 40 OK 여기에서 RecraglerView를 Fragment OK 내부에서 사용할 수 있습니다 당신은 그것을 시험하기를 원합니다 FragmentNews OK에서 나머지 레이아웃을 여기에 표시하겠습니다 그냥 가서 시험해보고 싶은 것 같은데, 시계는 어쩌면 좋아할거야

이 LinearLayout으로 변경하려면 LinearLayout OK를 실행하면됩니다 괜찮아요 다시 끌고 싶다면 걱정하지 마십시오 문제가되지 않습니다

그것을 실행하십시오 아, 여기서 조각을 불러야한다는 사실을 잊어 버렸습니다 물론 우리는 그렇게 부르지 않았습니다 그래서 우리는 여기에서 MainActivity로 이동하십시오 여기에서 NewsFragment를 호출하면됩니다

NewsFragment는 작은 케이스로 알고 있고 NewsFragment는 이와 같습니다 단편이 활동의 ​​일부분이라는 것을 이해해야한다는 점이 하나 더 있습니다 이 단편을 어디로 가길 원하는지 실제로 알아야합니다 그것을 content_main에 여기 넣으십시오 그래서 당신은 여기에서 Relative에 이름처럼 줄 필요가 있습니다

그래서 만약 당신이 콘텐츠 메인 내에서 그것을 삭제하고 당신은 RelativeLayout에 이름을 부여해야합니다 이리 글쎄, 실제로 ID는 이름이 아니야, ID는 이것과 같이 우리는 그런 식으로 찾을거야 어쩌면 나는 MainLayout이라고 부른다 그리고 이것은 당신이 조각을 넣고 싶은 곳이다

그래서 MainActivity로 돌아 가면 FragmentManager를 호출하고 매니저라고 부르며 안에 있어야합니다 확인을 클릭하고 그런 조각 관리자의 지원을 받으십시오 이제 우리가 할 수있는 일은 managerbegintransaction입니다 그런 다음 교체해야합니다

여기에서 조각을 교체하고 싶습니다 content_main 그래서 Rlayoutmain을 기다린다 no, id

MainLayout 그리고 newsFragment를 기다린다 여기 괜 찮 아 요 당신은 텍스트를 넣어 싶습니다, 그것은 괜찮습니다 네가 그렇게하지 않으면 괜찮아 네가 기본 활동 만 복사하고 여기에 onCreate로 전달하십시오 여기에서 끝내 commit ()을 호출해야합니다

그래서 그냥 실행하기 때문에 실행되지 않습니다 바꾸기를 호출하면 커밋 했으므로 다시 실행합니다 이제는 의미하는 시계를 볼 수 있습니다 그 액티비티들, 당신은 파편을 가져 와서 그 안에 넣어 둬야한다는 것을 알고 있습니다 그리고 이것은 아닙니다

당신과 그것의 시계는 여기 있습니다 이제 RecyclerView를 newsFragment 안에 넣으 려합니다 그 단편은 그렇게 불려진다 그래서 도서관에 Google이 있고 Android RecyclerView를 입력해야합니다 여기 그리고 어쩌면 이것도

그래서이 블로그에 구글은 당신에게 아주 좋은 줄 당신이 예제를 알고 거기서 코드를 여기에서 잡고 싶다면 위와 같이 코드를 필요로합니다 이 정도는 좋지만 무엇보다도 먼저 여기에 의존성을 넣어야합니다하지만 이걸 가지고 있습니다 더하기 부호는 당신이 최신 것을 안다는 것을 알려야한다 그럼 너 여기에 가거나 어쩌면 그것의 주위에 OK 그리고 Ctr + F 그리고 당신은 RecyclerView를 찾을 수 있습니다

이것이 의존성입니다 RecyclerView에서 이렇게 코드를 잡고 Android로 이동하면 gradle로 이동합니다 두번째 것, 첫번째 것 및 아닙니다 당신은 그것을 말하고 다음과 같이 그것을 붙여라 또 하나의 cardView 카드보기는 RecyclerView의 동반자입니다 그래서 코드를 잡고 다시 컴파일하면 좋습니다

이제 확인하십시오 내 문제 때문에 당신은 내가 23 버전으로 컴파일하는 것처럼 알고있다 24를 사용한다 나는 그것을 바꿔야한다고 생각한다 23에 어쩌면 괜찮을 수도 있습니다

네가 가진 이유를 다시 동기화해야 해 버전 40을 사용했기 때문에 일부 오류가 발생했습니다 프로젝트를 만들 때 안드로이드를 사용할 때를 기억합니다 4 그리고 이건 당신이 최신 업데이트처럼 알고 있으므로 24로 갈 것이고 23 그럼 당신이 조금 다운 그레이드를 알고 당신이 사용하려는 경우, 당신도 알다시피, 괜찮아요

최신 것 그러나 당신은 그것을 바르게 바꿔야 만합니다 그러나 빨리 끝났습니다 그런 다음 여기로 돌아가서 RecyclerView를 준비하십시오 여기 복사해서 레이아웃으로 가십시오

그래서 당신은 fragment_news에 가라 OK 당신이 하지마 이건 뭐든지 아날로그 시계 그리고 rv로 바꿀 수 있습니다 그리고 이것은 뉴스입니다

그래서 당신은 그것이 어버이와 일치하는 것을 알 수 있습니다 전체 화면과 일치하게됩니다 이것은 RecyclerView를위한 것이지만, cardView를 새로 마우스 오른쪽 버튼으로 클릭하고 XML을 선택해야합니다 여기 Layout을 new_card_view라고 부르면됩니다 이것과 같이 그리고 OK 그게 뭐든 상관 없어요

LinearLayout은 괜찮습니다 나는 하나의 이미지를 갖고 싶고, 두 개의 텍스트를 원한다 그것은 하나의 이미지를 왼쪽에서 하나는 오른쪽에서 2 이미지를 알고 있으므로 그렇게 해 보도록하겠습니다 LinearLayout이라는 내부 레이아웃을 만들고이 레이아웃은 match_parent가 될 것입니다 하지만 부모님과 먼저 일치하는 부모님과 일치하는 부모님의 첫 번째와 안쪽의 부모님과 일치합니다

나는 이미지보기를 가지게 될 것이고 이것은 포장 내용이 될 것입니다 OK 여기 왼쪽에 전화를 걸 수있는 이름이 있어야합니다 ivLeftImage 및 image scaleType centerCrop이 될 것입니다 아마 소스가 없기 때문에 Android에서 사용하고 싶습니다 어쩌면 하나의 이미지를 갖고 싶다면 여기에 이미지를 가져 가자 앙코르 앙코르, 그것은 우리 나라에서 왔습니다

우리는이 공간과 대문자 만 채울 필요가 있습니다 그렇게 작은 케이스는 드로어 블과 앙코르를 가질 수 있습니다 좋아요 전체 화면을 사용하지만 높이는 아마도 이처럼 300dp를 제공 할 것입니다 어쩌면 300dp 여기, cardView 및 외부 여기 CardView가 필요하므로 어디서든 CardView를 잡아라

예 일반적으로 CardView를 바깥 쪽이 아닌 안쪽에 넣은 다음 CardView를 네가 여기에 네임 스페이스가 없기 때문에 OK 이제 네가 원하는 모든 지점과이 창 하나가있다 그러나 CardView의 너비 200은 매우 작아서 match_screen, match_parent, this와 같이 넣어야합니다 이게 내가 match_parents를 넣었을 때 300이 될거야, 지금은 300이고 이건 내가 보지 않아 14시 39 분 다시 300 이렇게 나는 왼쪽에서 두 사람을 갖고 싶다

오른쪽에서 하나는 오리 엔테이션을 수평으로 놓을 것입니다 OK 하나는 layout_weight를 넣고 05는 50 %를 넣을 수 없다는 것을 의미합니다 당신은 5 개를 넣을 수 있습니다 그리고 이것 하나는 왼쪽과 오른쪽에있을 것입니다

다시 정상적으로 실행되면 OK를 누르십시오 이제 OK 중력 센터 완료되었습니다 상관 없어요 좋아요 코너가 4예요

어쩌면 저는 텍스트 만 원하면 이미지 만 가질 수 있습니다 괜찮아요 그냥 텍스트를 여기에 넣으십시오 좋아요하지만 이제는 빠르게 빠르게 할 수 있습니다

좋아, 데이터베이스에서 데이터를 가져 와서 Android Volley가 필요하므로 여기로 돌아가십시오 다시 안드로이드 발리 좋아, 그래서 당신은 당신이 이걸로 갈 필요가 gradle처럼 알아야 할 필요가 처음 하나, 둘째는 마치 연속처럼 알고 있지만 두 번째 것은 잡으려고 할 것입니다 이 코드는 OK가 아닙니다이 코드를 다시 잡아서 여기에서 다시 동기화하십시오 MySingelton에 대한 수업처럼 당신이 필요로하므로 동기화가 완료되었음을 알고 있습니다

부름을 막는 코드예요 복제해야 할 것처럼 말입니다 MySingelton은 클래스에서 많은 객체를 만들 때와 같습니다 이것은 당신을 보호하고자하는 것입니다 우리가 여기서 버전 4를 다시 지원할 필요가있는이 클래스는 괜찮습니다

나는이 소리를 안다 조금 어려워하지만 당신이 가고 싶은 완벽한 코스를 알고 싶다면 내 YouTube 채널과 이제는 MySingelton을 완료하고 Newsfragment로 이동해야합니다 그것은이 하나의 MySingelton을 요구하고 순식간에 그리고 지금이 한 가지 문제를 얻습니다 외부에서 이것을 필요로하므로 여기에서 컨텍스트를 얻을 수 있습니다 context container

getcontext () 여기에서 컨텍스트이므로 여기에 요청을 추가 할 수 있습니다 그렇다면 stringRequest가 필요합니다 OK와 StringRequest new StringRequest 이것은 네트워크를 호출하기 위해서입니다 그래서 먼저 방법이 필요하고이 데이터를 데이터베이스에서 가져 와서 getData를 시작합니다 OK 그리고 당신이 사용하는 데이터 모두를 OK로 잡고 싶다면 여기에 URL이 필요합니다

그래서 URL입니다 당신은 10320이 될 것이므로 당신은 18:50을 가질 것입니다

그러나 이것도 반드시 실행해야합니다 좋아, 내가 프로젝트를 만들고 그것을 예배와 같이 부를 것이고 가을이 갈 것이다 PHP에 색인을 붙이는 것입니다 그리고 이것은 새로운 것입니다 여러분은 여기서 처음으로 이렇게 지저분해질 것입니다

URL 및이 하나와 쉼표 및 여기 아래에 새로운 하나가 있으므로이 네 가지가 있습니다 오류가없고 오류가 발생하면 데이터를 가져 와서 오류가 발생합니다 여기 오류 청취자로부터 OK 그러면 Android 매니페스트로 이동해야 할 한 가지 더 필요합니다 여기 당신은 허락을 요청해야합니다

이 사람은 이처럼 인터넷이 필요할 것입니다 이제 StringRequest를 모두 사용할 수 있으며 아래에 내려 놓으면 이제 네트워크 OK 그리고 실제 서버를 사용한다면 로컬 호스트를 나타냅니다 Google에서 Google처럼이 사실을 알고 URL을 확인해주세요하지만이 URL은 로컬 호스트와 examplewews 그래서 나는 그들에게 가서 새 폴더를 만들어야 만합니다 에 대한 Mac은 20:27이 될 것이고 이름을 다시 한 번 더 예고합니다

그리고 나서 우리는 더 많은 PHP 인덱스를 생성 할 것이고 여기에 숭고한 텍스트가 필요합니다 당신은 PHP와 이것 만 필요로하고 당신은 데이터를 보낼 것이기 때문에 이것 모두를했습니다 그래서 당신은 데이터를 실제로 잡아서 연결이 필요하지만 어쩌면 그것을 만드는 것이 더 낫습니다 그것들을 외부에 만들고 복사해서 붙여 넣기를 할 수 있습니다 그래서 서버가 필요합니다

서버가 로컬 호스트이고 사용자가 루트이고 pass가 비어 있어야하므로 db가 필요합니다 db 데이터베이스 이름이므로 그냥 예기치 않은 코드를 호출하면 mysqlite connect와 같이 필요할 것이다 그리고 나서 서버와 사용자 그리고 패스와 db 그리고 이것 하나는 아마 당신이 double을 사용해서 comm를 부를 수있다 m 여기에 그래서 만약 통신 오류가 그냥 오류를 호출 할 수 있습니다 그럼 전화를 죽일 전화 그냥 오류 DB OK 그런 다음 여기에 연결하여 색인에 연결할 수 있습니다

아마도 한번 포함하고 PHP OK를 포함해서 모든 데이터베이스를 얻고 싶습니다 알다시피 지금은 데이터베이스가 없으므로 localhost로 다시 이동합니다 데이터베이스가 아닙니다 달리기 시작하자 좋아

그래서 다시 한 번 PHP myadmin으로 이동하여 데이터베이스를 만들고, 새로운 데이터베이스 인 examplenews를 사용합니다 UTF-8 일반 CI에 대한 데이터 정렬 4, 하나의 ID를 더한 다음이 기본 키를 자동으로 증가시킵니다 그것은 제목이라고 불리우며 varchar는 아마이 제목처럼 250을 입력 할 것입니다 Image 1, this just just 이미지 URL을 알면 250 OK를 저장하면됩니다 이제 간단한 데이터를 삽입 할 수 있습니다

여기 테스트 이미지 1을 좋아하고이 이미지 1과 이미지 2를 호출합니다 하나의 테스트 이미지 2와이 하나가 3이 될거야,이게 네 괜찮아 질거야 이제 너는 가지고있다 여기에있는 모든 데이터는 데이터베이스에서 데이터를 얻으 려하므로 OK mysql_query OK 지금 당신은 데이터를 알았고 메모장을 사용한다면 숭고한 텍스트를 사용하고 있음을 기억하십시오 ++ 당신은 여기에 코드와 함께 몇 가지 문제가있을 것이다 이제 당신은 데이터를 얻을 수있다

여기 안드로이드에 넣어 그래서 무엇이든하기 전에 여기에서 테스트하고 싶습니다 그래서 이것은 데이터에서 올바른 위치입니다 로그를 사용하는 것처럼 조각의 이름을 넣을 수 있습니다 그리고 이것은 응답입니다

좋아, 여기 안드로이드 모니터를 열고 당신이 할 수있는 새로운 조각으로 필터링을 좋아해 데이터가 이와 같습니다 너도 알다시피이 앞에서 뭔가를 본다면 어떤 기호는 당신이 약간의 오류를 가지고있어서 숭고한 텍스트로 바꾸어야한다는 것을 의미합니다 승인 이제 데이터가 완료되고 이것을 변환하려고합니다

JSon을 arraylist 그래서 내 github KosalGeek에 가서 가야하고 KGJsonConvertor에 가서 확인을 누른 다음 코드를 잡고 돈을 기부하고 싶다면 기부 할 수 있습니다 여기 괜찮아요 사용은 무료입니다 그래서 먼저 GSon이 필요합니다 Gson을 다운로드 받으실 수 있습니다

여기에서 확인을 클릭 한 다음 돌아가서 여기를 클릭하여 프로젝트를 다운로드하거나 다운로드를 클릭하십시오 확인하고 압축하여이 사본을 복사 한 다음 뒤로 이동하여 여기에있는 27 : 04 여기를 클릭하여 이동하십시오 애플 리케이션에 프로젝트 – libs하고 마우스 오른쪽 버튼으로 클릭하고 그것을 전달하십시오 예, 또 하나,이 하나 이것을 전달하면 이걸 알고 라이브러리로 추가하면됩니다 라이브러리를 마우스 오른쪽 버튼으로 클릭하면 시간이 걸리므로 완료됩니다

다시 안드로이드에 대해 안다 OK 그래서 먼저, 데이터베이스에서 가져온 데이터이므로 뉴스를 호출하고 공용 정수를 갖습니다 ID, 이름이 데이터베이스의 필드와 일치해야합니다 ID title Image 1 & 2 좋아,이 하나의 문자열 제목으로 이름을 바꿀 수는 없습니다

public과 String을 사용합니다 Image 1 public String Image 2 확인을 클릭 한 다음 주 Serializable이 여기에서 응답을 얻고 싶습니다 코드를 arraylist로 변환하면, 여기 내 소재에 들어 있습니다 그런 다음 응답이 이제 끝나고 수업은 뉴스입니다

이제 알았습니다 arraylist 그래서 arraylist를 RecyclerView에 넣고 싶습니다 material, RecyclerView, rv 그리고 그냥 뉴스를 불러라 그래서 이것을 사용하면된다 나는보기에 남기 때문에이 사람이 이렇게 될 것입니다

좋아, 이제이 같은보기를 사용할 수 있고 ID별로보기를 찾을 수 있으므로 이제 rv 예와 우리는 이제 괜찮아 질거야 rvnews 그리고 너는 보통 setLayout처럼 알고 싶다 당신은 선형 레이아웃을 사용합니다 컨텍스트와 컨텍스트는 최종 OK 여야합니다 true로 hasFixed를 설정하고 마지막으로 어댑터를 가장 중요한 것으로 설정하려고합니다 여기서는 부분적으로 어댑터를 외부에 만들어야하므로 NewsAdapter를 마우스 오른쪽 버튼으로 클릭하여 호출 할 것입니다

클래스 호출 NewsAdapter를 만든 다음 RecyclerView 어댑터를 확장해야합니다 그 안에는 뷰 홀더처럼 알게 될 것입니다 RecyclerView, View Holder 그리고 나서 이것을 메인 메소드 세 가지 메소드에서 구현해야합니다 그래서 여기에 우리는 NewsAdapter를 호출 한 다음 NewsAdapter와 같은 NewsAdapter를 호출해야합니다 당신은 계약직을 창출 할 수 있도록이 계약직 자에게 arraylist를 알립니다

공개 뉴스 아답터 그리고 뉴스의 아라 일리 스트를 넣고 싶습니다 이런 식으로 목록을 작성하면 어쩌면 컨텍스트도 넣을 수 있습니다 컨텍스트를 여기에 넣으십시오 newsList 아니,이 하나, 그리고이 하나의 newsList 및 반환해야합니다 있는지 확인하십시오 0이 아니기 때문에 아무런 데이터도 없으므로 newsList가 아닌 경우처럼 말할 것이다 그런 다음 newsList

size ()를 반환하고 그렇지 않으면 0을 반환합니다 OK 이제 컨텍스트와 사용자 목록에이를 전달하고 싶습니다 새 목록이 아닙니다 newsList 그래, 먼저 이것을 생성해야하지만 내부 ViewHolder를 생성해야한다

public static NewsVH public 클래스를 호출 한 다음 RecyclerView ViewHolder를 확장해야합니다 그런 다음 계약자를 구현해야하며 cardView를 확인해야합니다 이 하나, 그래서 여기에 귀하의 카드보기가 있습니다 그래서 당신은 이미지가 왼쪽과 오른쪽, 오른쪽! 그래서 우리는이 것만 필요합니다 제목이 없기 때문에 문제가되지 않습니다 cardView 그리고 우리는 cardView에 대한 이름을 가지고 싶습니다

그래, newsCard라고 부르면 imageView가됩니다 이미지 1과 이미지 2 이렇게 하나의 뉴스 카드, CardView, 여기 34:59 먼저 여기에 idView와 newsCard로 itemView를 호출하면이 뷰가 imageView이므로 이름을 바꿔야합니다 그것도 좋아해 이제는 ViewHolder를 만들어야합니다 그래서 LayoutInflater와 LayoutInflater 여기서 parentgetContext () 및 View view inflater inflate에서 자원을 부 풀린다

here RlayoutnewsCard OK 이제 우리는 그것을 부 풀린 다음 뉴스 뷰를 떠 올립니다 여기에 홀더가있어 뉴스 VH 여기에 뉴스 VH가 있고 그 다음 데이터가 BindView를 통해 올 것입니다 그래서 우리는 여러분이 아는 데이터를 알기를 바랍니다

ArrayList처럼 selectedData를 사용하면됩니다 뉴스를 선택하면 새로운 목록을 얻은 다음 어느 위치에서 가져올 지, 이 위치가이 위치로 이동하면 이미지를 표시하여 다른 이미지가 필요하게됩니다 라이브러리 그래서 우리는 아주 간단 피카소이 하나 필요합니다 나는 보통이 피카소 한 이미지와 URL을 사용합니다 물론 우리는 의존성이 필요합니다

뿐만 아니라 여기에 gradle을 잡아라 그래, 지금 Picasso는 OK 다 그러나 URL is not는 우리가 필요로한다 image 이미지가 URL이 String이면 selectedNews에서 이미지를 가져올 수 있습니다 selectedNews는 arraylist이므로이 이미지를 모두 복사하면 예제로 이동합니다 여기에 당신이 폴더를 알고 오른쪽 클릭하면 이미지를 호출하고 패스합니다

하나는 이미지 1이지만 PNG이므로 데이터베이스를 약간 변경해야합니다 데이터베이스, PNG, 이 이미지의 이름을 PNG로 바꾸십시오 이미지가 PNG이므로 URL이 현재 데이터베이스에 있습니다 그래서 저는 실제 URL 38:05 localhost를 넣을 것입니다이 URL은 괜찮습니다

그리고 examplenews와 폴더 이미지 OK입니다 이제는 이제이 한 자리 표시자를 마쳤으므로 안드로이드 만 할 것입니다 이제 ImageView, ImageView는 View holder의 데이터입니다이 홀더는 일반적으로 holder instanceof의 인스턴스를 사용합니다 뉴스

좋아 그러면 나는 뉴스로 바뀔거야 VH 이건 내부에있다 하나는 이제 이미지 왼쪽과 마지막으로이 URL에 넣습니다 그럼 1시 안으로 가져 가자

2, 이건 1, 2이 하나의 권리! 승인 오, 잊어 버렸습니다 그래서 모든 것을 넣었습니다 이제합시다 1에서 2로 변경하십시오

이전에이 번호가 1 번이었습니다 이제 번호 2에서 보자 OK 이제 실행 중입니다 회전 할 수 있습니다 좋아요,이 동영상 용입니다

마음에 드시고 내 채널을 구독하는 것을 잊지 마시기 바랍니다 나에게 엄지 손가락을 줘 문제가있을 경우 Facebook 및 Twitter에서 친구와 공유하십시오 또는 질문, 아래에 코멘트하십시오 가능한 한 많은 답변을 시도하고 그냥 말할 것입니다 안녕히 계십시오

다음 비디오에서 만나겠습니다 고맙습니다

Android Wear UI Development Best Practices (Google I/O ’17)

AGA MADURSKA :여보세요, 제 이름은 Aga, Android Wear Support Library의 TL 중 하나입니다 OLI LAN : 나는 Oli Lan입니다

저는 Android Wear의 시계 얼굴 담당 수석 엔지니어입니다 여기 와서 반갑습니다 우리는 새로운 것들에 대해 이야기하게되어 기쁩니다 Android Wear에서 앱을 만들고 얼굴을 볼 수 있도록 도와줍니다 몇 가지 도구를 소개하겠습니다

합병증을 지원하는 시계 모드를 만드는 데 도움이됩니다 하지만 우선, 아가가 너에게 말할거야 지원에 대한 큰 변화에 대해 Android Wear 용 라이브러리 AGA MADURSKA : 감사합니다 따라서 스마트 워치가 처음 출시되면 많은 개발자들이 이 새로운 폼 팩터를위한 앱을 만들기 위해 애를 먹었습니다 작은 화면, 라운드 스크린, 처음으로, 또한 브리징 정보 전화에서 시계로

우리는 웨어러블 지원 라이브러리를 구축했습니다 이러한 문제를 해결하는 데 도움이됩니다 그리고 오늘, 저는 우리가 시작하고 있다고 발표하게 된 것을 기쁘게 생각합니다 오픈 소스 코드 웨어러블 지원 라이브러리는 Android 지원 라이브러리로 이동 중 소위 마모 모듈이 될 것입니다

이것은 Android Support Library의 다른 모듈과 유사합니다 그게, 잘하면, 너 이미 Core UI 나 Recycler View 또는 Design처럼 그래서 그것은 또 다른 모듈이 될 것입니다, 다시, 오픈 소싱 코드 Android 지원 라이브러리 260

0-beta1로 시작합니다 실제로 이틀 전에 시작되었습니다 그래서 당신은 거의 즉시 그것을 사용할 수 있습니다 코드에 쉽게 추가 할 수 있습니다 정규 종속성을 추가하기 만하면됩니다

다른 모듈과 매우 유사한 구조로되어 있습니다 그곳에 착용하고 베타 1을 착용했는지 확인하십시오 잘하면,이 변화는 당신을 행복하게 만듭니다 행복해야 할 몇 가지 이유가 있습니다 무엇보다 먼저, 내가 전에 말했듯이, 코드는 오픈 소스가 아닙니다

지금 리버스 엔지니어링을 중단 할 수 있습니다 그것은 모두 거기에있을거야 이제 API는 지원 라이브러리의 일부가 될 것이며, Android의 나머지 부분과 일관성을 유지할 것입니다 나머지 지원 라이브러리 Android에서 더 자주 출시 될 예정입니다

약 2 개월마다 지원되는 라이브러리를 지원하십시오 그리고 이것은 우리가 취할 수 있음을 의미합니다 더 많은 의견을 보내고 더 빨리 반응하십시오 우리가 전에 있었던 것보다 그러나 우리는 모든 코드를 한꺼번에 옮기지 않을 것입니다

그것은 생태계에 충격이 될 것입니다 모든 것을 움직이기 이제 UI 구성 요소부터 시작하겠습니다 그리고 저는 나머지 이야기를하기 위해 그것에 집중할 것입니다 첫 번째 패키지는 오픈 소스입니다

보기 패키지이거나 지금 진행 중입니다 위젯 패키지라고합니다 그리고 거기에, 우리는 라운드 친화적 인 UI를 구현하는 데 중점을두고 싶습니다 공간 효율적인 상호 작용 패턴을 제공합니다 따라서 우리는 개발자들이 직면 한 두 가지 주요 이슈를 목표로 삼고 있습니다

물건을 만드는 UI가 있었다 안드로이드에서 처음으로 라운드 스크린을 위해, 정말 작은 화면을위한 건물이기도합니다 아주 작은 화면 재산 그런 조건에서 좋은 UI를 만드는 것은 쉽지 않습니다 그래서 그것이 바로 우리가 먼저 집중하고있는 것들입니다

다음은 개선 된 방법에 대한 좋은 예입니다 전형적인 안드로이드 목록 당신은 이전에 안드로이드에서 아주 똑똑한 목록을 가지고있었습니다 모든 요소가 하나씩 차례로 나옵니다 맨 처음부터

우리가 여기 입은 것은 우리는 시계의 둥근 요인을 이용했습니다 커브를 따르기 위해이 목록을 채택했습니다 그리고 이것은 더 많은 정보를 제공한다는 것을 의미합니다 화면에 그냥 똑바로 목록으로 할 수보다 다음은 가장 친숙하고 친숙한 UI입니다

실행기가 있습니다 날짜 / 시간 선택기가 있습니다 새 주머니에 최근에 출시 된 – 새로운 책상 시계 앱 그런 다음 LifeSum을 얻었습니다 은 타사 앱의 좋은 예입니다

친숙한 UI를 제공합니다 그래서이 모든 것들은 화면의 곡률을 이용합니다 모두 UI에 더 많은 정보를 넣을 수 있습니다 그리고 일반적으로 사용하기에 더 즐겁습니다 그래서 이들은 우리가 원하는 종류의 UI입니다

당신은 미래에 건설 할 것입니다 또한 지원을 통해 이러한 UI를 구축 할 수 있도록 돕고 자합니다 도서관 그래서웨어 위젯 모듈을 만들 때 – UI 구성 요소 – 우리는 UI에 대해 생각하고있었습니다 일반적으로, 구성 요소의 관점에서 – 안드로이드 지원과 아주 흡사하게, 안드로이드 프레임 워크와 매우 유사합니다

도서관 따라서이 모듈을 통해 우리는 두 배로 늘리고 싶습니다 더 쉽게 만들 수있는 빌딩 블록 모음 개발자가 UI를 구성 할 수 있습니다 Android Wear에서 직관적이고 모국어 인 느낌을줍니다 유연하게 구축 할 수 있습니다

성격을 표현할 정도로 충분합니다 및 귀하의 응용 프로그램의 성격 그래서 우리는보기와 같은 작은 빌딩 블록을 모두 탐험하고 있습니다 이미지 뷰 또는 텍스트 뷰 우리는 또한 더 큰 것들을 탐구하고 있습니다

WearableRecyclerView 또는 SwipeDismissFrame 레이아웃과 같습니다 그리고이를 컴포넌트, 구체적으로 컴포넌트라고 부릅니다 그리고 이러한 구성 요소 – 이러한 더 큰 데이터 – 함께 UI를 구성하십시오 따라서 개발자가 될 수있는 곳입니다 우리 구성 요소와 견해를 재사용 할 것입니다

자신의 앱을 만들 수 있습니다 이러한 뷰와 레이아웃 중 일부는 이미 Android에 있으며, 일부는 구체적으로 구현해야합니다 마모 그것들은 우리가 원하는 것들입니다 위젯 UI 라이브러리의 마모 모듈에 넣으려고합니다

여기 시각화가 있습니다 UI에 대한 우리의 생각 재사용이 가능한 빌딩 블록입니다 맞춤식 또는 특수 케이스 인터페이스 바라건대, 그건 당신에게 큰 소식이 아니에요

그러나 나는 그것을 아주 명백하게하고 싶었다 이것이 우리가이 새로운 도서관으로 갈 것이라는 것입니다 다시 한번,이를 염두에두고 우리가 당신을 가능하게 할 수 있기를 바랍니다 좋은 인터페이스 – 기능적 인터페이스, 매우 부유 한 사람들 – Android Wear를 기본으로하지만 느낄 수있는 앱의 성격 그래서 이것은 꽤 긴 프로젝트입니다

마모 모듈의 전체 구성 시간이 좀 걸릴거야 그래서 나는 지금 내 남은 시간을 보내고 싶다 우리가 어디에서 일어날 지에 대해 조금 이야기하기 그리고 그것에 대한 타임 라인은 무엇입니까? 단계별로 그래서 우리는 기존의 모든 마모 UI 요소를 나누었습니다

크게 세 가지 범주로 나뉩니다 이미 마모 된 부품을 이전 할 것입니다 새로운 마모 모듈에 특정한 마모 특성을 가지고 있습니다 병합 할 일부 구성 요소 그것들은 유용한 구성 요소입니다

웨어러블 기기뿐만 아니라 핸드 헬드 기기에도 적합합니다 그래서 그들은 휴대폰에서 재사용 될 수 있습니다 그들이 착용 할 수있는 공간에서만 살 필요는 없습니다 그래서 우리는 그들을 프레임 워크로 졸업하거나 병합 할 것입니다 또는 다른 핸드 헬드 또는 일반 지원 모듈로 전송할 수 있습니다

그런 다음 마지막 그룹이 구성 요소입니다 우리는 더 이상 사용하지 않을 것입니다 그것들은 주로 입증되지 않은 모든 디자인 패턴과 관련 우리의 사용자들과 성공적이었습니다 그리고 저는 그것에 대해 조금 더 이야기 할 것입니다 그래서, 우선, 그 구성 요소에 대해 이야기하고 싶습니다

마이그레이션 할 것입니다 나는 그들에게 스포트라이트를주고 싶다 그것들이 가장 중요한 것들입니다 그들은 Support와 함께 시작하는 것들입니다 라이브러리 26

00-beta1 이것이 WearableRecyclerView입니다 우리가 사용한 멋진 곡목 목록을 제공합니다 실행기를 빌드하십시오

그리고 나서 우리는 BoxInsetLayout, 모든 UI를 화면에 맞출 수 있습니다 스크린 중앙 중앙 사각형에 기본적으로 정사각형 사이의 UI를 재사용 할 수 있습니다 그리고 둥근 시계 그런 다음이 SwipeDismissFrameLayout을 얻었습니다 꽤 흥미로운 사건이다

디자인 패턴을 캡슐화했기 때문에 당신이 사용하기를 원합니다 따라서이 패턴은 뒤로 버튼을 대체합니다 핸드 헬드 장치에 착용시, 뒤로 몸짓으로 단추를 사용하지 않습니다 우리는 당신이 당신의 견해를 쓸어 버리기를 바랍니다

그것은 개발자들의 구체적인 요청이었습니다 개발자 프리뷰 프로그램 기간 동안, 우리는이 구성 요소를 사용할 수있게 만들고 있습니다 웨어러블 지원 모듈에서 다음 그룹은 – 오, 죄송합니다 – 코드면에서 보면, 정말 간단한 짧은 슬라이드 여야합니다 WearableRecyclerView의 예제에서, 이 코드를 코드로 가져 오는 방법입니다

그리고 이것이 onCreate 메소드에서 사용하는 방법입니다 및 예를 들어, 활동 그래서 새로운 모듈로 이전 할 때, 우리가 할 수있는 변화가 거의 없다 코드 측면에서 당신에게 필요합니다 다행히도, 매우 간단하고 구현하기 쉽습니다

먼저 패키지 이름을 supportwidget–로 변경합니다 지원 라이브러리에서이 새로운 UI 마모 모듈을 구별 할 수 있습니다 그리고 두 번째로 우리가 소개 할 것입니다 API를 최소한으로 수정하여 기존 Android API 및 지원과 일치합니다

라이브러리 API 이것들은 더 나은 API이며, 잘하면, 일반적으로 코드가 더 건강합니다 앱을 매우 쉽게 업데이트 할 수 있습니다 정말로 큰 문제는 아닙니다 리모 커, 알았어

그래서 몇몇 수업들 우리가 합병하는 것들은 착용에만 적용됩니다 우리가 말했듯이, 내가 말했듯이, 병합한다 주요 프레임 워크 또는 다른 지원 라이브러리 모듈 그래서 여기에 우리는 대부분 아이콘으로 둥근 것들을 호출했습니다 때로는 내부

그들 중 많은 수가 있습니다 그들 모두는 똑같이 보입니다 거기에 별도의 UI 구성 요소가 필요하지 않습니다 별도의 종류의 레이아웃 조각 당신이 사용해야 할 또한 이미 원 이미지보기가 있습니다 핸드 헬드 용 지원 라이브러리

그래서 우리는 모든 추가 API를 사용할 것입니다 우리가 만든 것을 하나의 구성 요소에 병합합니다 그래서 정말로 강하고 단 하나의 종류 만 존재합니다 당신이 사용할 구성 요소 그리고 세 번째 그룹은 여기 있습니다

이 대화 예에 관해 이야기 해보십시오 행 아웃은 우리가 사용하지 않는 레이아웃 그룹입니다 그래서 그것들은 관련된 레이아웃입니다 성공을 입증하지 못한 사용자 패턴이 있음을 입증하지 못했습니다 우리 사용자들에게 인기가 있습니다

여기에서 우리는 2 차원 공간 모델을 취하고 있습니다 수직 또는 수평으로 이동할 수있는 곳 앱 또는 시스템 UI에서 선형 레이아웃으로 변형시키고 있습니다 여기서 수직으로, 다음과 같이 재료 디자인 원칙 그래서 관련된 모든 클래스들 그 2 차원 공간 모델은 더 이상 사용되지 않을 것입니다 이것이 바로 GridViewPager입니다

그것은 다른 액션 버튼, 액션 레이아웃, 그런 것들 그래서 이것은 당신의 의존성을 줄여 줄 것입니다 거의 모든 것을 포함합니다 우리가 2017 년에 할거야 그리고 여기에 나는 방금 이야기하고있다

오늘, 우리는 발표하고 시작합니다 처음 세 가지 핵심 구성 요소가있는 마모 모듈 다시 시작합니다 Android 지원 라이브러리 260

0-beta1 그 프로그램이 베타에서 졸업하면 오 런칭과 함께 – 우리는 현재 위치에있는 오래된 API를 더 이상 사용하지 않을 것이며, 그리고 나서 우리는 정말로 사람들을 격려 할 것입니다 새 API로 이동하십시오 그런 다음 정기적으로 버그를 수정합니다 마모 모듈의 업데이트 및 릴리스 안드로이드 지원 라이브러리

그리고 얼마 후, 2018 년 중반을 말하면서, 내년 중반, 우리는 시작할 것입니다 이전 API를 제거하여 우리가 다시 슬림화되도록 우리가 사람들에게 사용하기를 원하는 것들에 대한 의존성 그래서 나로부터 온 것입니다 그것으로, 나는 넘겨 줄거야 합병증에 대해 이야기하기 위해 올리에게

고마워, 애가 거기에 몇 가지 중요한 변화가 있습니다 [박수 갈채] 그래서 저는 우리가 추가하고있는 새로운 것들에 대해서 이야기 할 것입니다 시계 얼굴 개발자 용 그리고 이것이 시계 얼굴을 만드는 사람에게는 큰 승리이기 때문에 – 네, 공중에서 뛰어 내리는 또 다른 이유입니다

일몰의 보다 개인화 된 유용한 시계 모드 Wear 20의 핵심 부분입니다 이것이 지난 해 I / O에서 우리가 여기있는 이유입니다 Android Wear 용 Complications API를 선보였습니다

전통적인 시계 제작과 마찬가지로 착용시, 합병증은 시계면에 데이터를 표시하는 것입니다 그래서 이들은 모두 합병증의 예입니다 Complications API를 사용하는 앱은 데이터 제공 업체, 또는 시계 얼굴 일 수 있습니다 Android Wear는 둘 사이의 데이터 흐름을 관리합니다 따라서 API를 사용하여 얼굴을 볼 수 있습니다

임의의 데이터 제공 업체를 표시하도록 구성 설치되어 있습니다 이렇게하면 사용자가 정보를 입력 할 수 있습니다 한눈에 신경 쓰지 마라 그리고 데이터 공급자를 만드는 경우, 앱의 데이터를 모든 시계 모드에 적용 할 수 있습니다 이러한 모든 앱에는 이미 데이터 제공 업체가 포함되어 있습니다

합병증 Strava와 같은 피트니스 앱이 있습니다 Robinhood와 같은 금융 애플리케이션이 있습니다 AccuWeather와 같은 날씨 앱과 다른 앱이 많이 있습니다 따라서 시계 모드에 합병증 지원을 추가하는 경우 당신이 만들고있는 사용자는 이러한 앱 중 하나를 선택할 수 있습니다

기본 제공 업체뿐 아니라 설치된 경우 세계 시계, 다음 이벤트 및 배터리 수명과 같은 기능을 추가하는 것과 같습니다 모든 앱에서 그들에 대해 알기 많은 시계 얼굴에는 이미 합병증 지원이 추가되었습니다 Ultimate Watch 2– 독과 같은 더 추상적 인 스타일 및 슈퍼 커스터마이즈 가능한 스타일 Pujie Black처럼 그리고 약간 다른 것들이 있습니다

이동 중에는 [INAUDIBLE] [? 기분?] 컬렉션 – 외부의 고리는 복잡합니다 여기에 배터리 수명이 표시됩니다 그러나 그것은 또한 당신의 피트니스 진행 상황을 보여줄 수 있습니다 Mesh Turbine HD는 스포크에서의 합병증을 보여 주며, 화면 중앙에서 나오는 스크롤 텍스트 효과 그리고 Fit Cat에는 고양이가 있습니다

그러나 그것은 또한 자신의 스타일로 API 그래서 다양한 스타일이 있습니다 Android Wear의 시계 모드 이것이 API가 시계 모드를 완벽하게 제어 할 수있게하는 이유입니다 그들이 데이터를 그리는 방법에 대해 – 합병증이 완벽하게 맞는지 확인 새로운 흥미로운 표현 방법을 허용하는 것 정보 그러나 이러한 자유로 인해 합병증을 추가하기가 어려울 수 있습니다

시계 모드를 지원합니다 시계 모드를 만들면 액세스 할 수 없습니다 레이아웃 또는보기로 이동합니다 캔버스에 직접 그립니다 그리고 설정 UI를 직접 만들어야합니다

오늘, 우리는 이것을 쉽게하기 위해 몇 가지를 소개합니다 모든 종류의 텍스트를 그리는 데 도움이되는 TextRenderer가 있습니다 캔버스에 ComplicationDrawable은 완벽한 렌더링 솔루션입니다 합병증

새로운 설정 샘플은 사용자가 쉽게 구성 할 수 있도록하는 방법을 보여줍니다 합병증 및 스타일 또한 테스트 스위트 공급자를 사용하면 합병증이 올바르게 표시되는지 확인하십시오 첫 번째는 TextRenderer이고, 이것이 웨어러블 지원에 있음을 알았을 수도 있습니다 몇 달 동안

TextRenderer는 텍스트를 캔버스에 쉽게 그리게합니다 그리고 그것은 중요합니다 가장 유용한 합병증 유형들 짧은 텍스트 유형, 긴 텍스트 유형 및 범위 값 유형이 있습니다 짧은 텍스트 및 범위 값 유형의 문자열 짧은 것입니다 최대 글자 수는 최대 7 자 여야합니다

긴 텍스트에서와 같이 문자열은 길이가 될 수 있지만, 텍스트를 렌더링하는 데 어려움이 있습니다 두 경우 모두 여기 간단한 텍스트 예제가 있습니다 이 문자열은 7 자이며, 이 글꼴 크기에 잘 맞습니다 그러나이 문자열 역시 7 자입니다

그래서 이들 모두를 다루고 그것들을 적합하게 만들기 위해, 그리기 및 조정하기 전에 텍스트를 측정해야합니다 그에 따라 글꼴 크기 다음은 긴 텍스트 예제입니다 짧은 끈은 세로 중심에 잘 어울립니다 그러나 텍스트는 길이가 될 수 있으므로 쉽게 할 수 있습니다

상자 밖으로 흐른다 정적 레이아웃과 같은 것을 사용할 수 있습니다 이걸 도와 줘 하지만 중계하지 않도록 조심해야합니다 모든 프레임의 텍스트

TextRenderer를 사용하여 범위를 지정합니다 텍스트를 넣기를 원합니다 7 개의 문자가 맞지 않으면 때까지 글꼴을 축소합니다 더 긴 텍스트는 여러 줄로 흘러 갈 수 있습니다 끝에 줄임표가 붙습니다

이제 코드를 살펴 보겠습니다 따라서 시계 모드를 초기화 할 때, 이 단순한 생성자를 사용해 TextRenderer를 작성해, TextPaint를 전달하면됩니다 TextPaint는 글꼴, 텍스트 크기, 색깔 – 그런 것들 이제 TextRenderer는 레이아웃과 같은 것을 캐시하기 때문에, 각 필드에 대해 하나를 만들어야합니다 여기에 본문이 있습니다

우리는 또한 제목을 가지고 있습니다 필드간에 TextRenderer를 공유하지 마십시오 이제 그리기를 원할 때 렌더러에 텍스트를 설정합니다 그래서 당신은 setText를 호출합니다 그리고 텍스트를 얻기 위해 getText를 호출합니다

지금 이것은 현재 시간을 필요로합니다 당신이 그릴 때마다 이것을하는 것 TextRenderer를 사용하든 사용하지 않든 상관 없습니다 그리고 그것은 몇 가지 합병증 때문에 시간에 의존한다 그래서 세계 시계 합병증을 상상해보십시오, 텍스트가 바뀌고, 시간에 따라

텍스트를 설정하면 범위를 그립니다 당신이 지정합니다 이제 텍스트와 경계를 전달하는 것이 좋습니다 TextRenderer는 텍스트를 놓기 때문에 항상 이렇게 무언가가 바뀌면 다시 밖으로 나가십시오 그것은 때때로 당신이 TextRenderer에 변경이 있음을 알릴 필요가 있습니다

페인트의 텍스트 크기를 변경하는 경우와 같이 발생했습니다 그리고 그것은 페인트가 다른 대상이기 때문입니다 TextRenderer에서 가져옵니다 자, 텍스트를 더 크게 만드는 코드가 있다고 상상해 봅시다 무언가가 일어날 때

이 경우 requestUpdateLayout을 호출해야합니다 TextRenderer에서 조정할 수 있도록합니다 이제 TextRenderer가 할 수있는 또 하나의 기능 항상 렌더링을 조정합니다 화면에서는 대기 모드에 대해서도 마찬가지입니다 이 모드에서는 많은 시계 모드가 흑백입니다

색 이모티콘과 같은 것들을 원하지 않을 수도 있습니다 TextRenderer에 알려야합니다 장치가 주변 모드로 들어갔 기 때문에, InAmbientMode 시계 모드에서 변경하면 inAmbientMode Boolean을 TextRenderer에 전달하십시오 TextRenderer입니다 텍스트를 렌더링 할 때마다 사용하는 것이 좋습니다

직접 캔버스에 그러나 만약 당신이 텍스트를 원한다면 그러나 전체적인 복잡성이 그려져있다 표준 방식으로 당신을 위해? 그것이 바로 새로운 ComplicationDrawable이 나오는 곳입니다 ComplicationDrawable은 모든 것을 렌더링 할 수 있습니다 6 가지 주요 합병증 유형 중 그리고 그것은 당신을 위해 모든 레이아웃과 스타일링을 처리합니다

예를 들어, 짧은 텍스트를 렌더링하려면해야 할 일이 있습니다 이 같은 합병증 CompletionDrawable이 없으면, 데이터가 도착하면 이미지를 디코딩해야합니다 포함되어 있습니다 또한 이미지를 캐시해야합니다

두 번 이상 해독하지 않으려는 경우 이제 그릴 때마다, 먼저, 당신은 해당 데이터가 활성 상태인지 확인해야합니다 그리고 그것은 몇몇 합병증 데이터 특정 시간 프레임 내에서만 관련이 있습니다 예를 들어, 다음 회의를위한 것이라면, 회의가 끝난 후 그것을 보여주고 싶지 않습니다 그리기 위해서, 우리는 배경을 그립니다 이미지를 그리고 텍스트를 그립니다

아마도 TextRenderer를 사용하고있을 것입니다 ComplicationDrawable을 사용하면 훨씬 간단합니다 데이터가 도착하면 드로어 블에 전달합니다 setComplicationData를 호출하여 그리고 모든 프레임에서 draw를 호출합니다

그것은 drawable입니다 이제 TextRenderer와 마찬가지로 다른 drawable과 마찬가지로, ComplicationDrawable은 범위 내에서 그립니다 그리고 레이아웃은 범위 모양에 맞게 조정됩니다 그래서 여기 당신은 사각 경계 내에서, 순환 합병증이 생깁니다 반대로 넓은 범위는 알약 모양을 나타냅니다

아이콘의 위치가 두 경우 모두 다르다 스타일 매개 변수를 설정하지 않으면, 기본보기를 얻을 수 있지만 배경색과 같이 설정할 수있는 많은 것들 – 코너 반경, 뭔가 더 갖고 싶다면 광장과 원처럼 테두리를 변경하거나 테두리를 전혀 사용할 수 없습니다 색상을 변경할 수 있으며 서체를 변경할 수 있습니다 CompleicationDrawable을 만들 수 있습니다

간단한 생성자를 사용하여 프로그래밍 방식으로 프로그래밍 할 수 있습니다 그런 다음 활성 모드에 대한 스타일 옵션을 설정할 수 있습니다 주변 모드 용 그러나 당신이 설정하기 위해 많은 스타일링을 가지고 있다면, 대신 XML을 사용하는 것이 더 쉬울 수도 있습니다 이 작업을 수행하려면 API 레벨 24를 사용해야합니다 그러나 당신이 그것을하는 한, 이제 드로어 블을 표준 방식으로 팽창시킬 수 있습니다

이제 렌더링 할 컨텍스트가 필요합니다 그래서 우리에게도 그걸 drawable에 전달해야합니다 그리고 그렇게하면 XML이됩니다 이런 식으로 보일 수도 있습니다 따라서 최상위 수준의 속성이 적용됩니다

주변 및 활성 모드 모두 – 주변 모드에서 오버라이드되지 않는 한 주변 구역의 속성에 따라 드로어 블에 전달해야 할 몇 가지 사항이 있습니다 앞서 언급했듯이 물론, 당신은, 그것을 합병증 데이터를 제공해야합니다 따라서 onComplicationDataupdate에서 시계 모드의 경우 데이터를 수신하는 곳입니다 그 데이터를 드로어 블에 전달하십시오 당신은 또한 합병증 드로어 블을 말할 필요가 있습니다

장치가 주변 모드로 들어가고 나갈 때 그 이유는 drawable handle 당신을위한 스타일의 변화 따라서 setInAmbientMode를 호출하면됩니다 그것이 바뀔 때마다 그리고 드로어 블에게 화면의 특정 속성이있는 경우 따라서 LOW_BIT_AMBIENT 모드를 사용하는 경우, 또는 BURN_IN_PROTECTION이있는 경우 드로어 블에 다음과 같이 말합니다 이러한 속성에 대한 렌더링을 적용 할 수 있습니다

그리기 위해, 지금 처음이라면, 또는 뭔가가 변경된 경우 경계를 설정해야합니다 그래서 경계를 설정하면 setBounds 복잡성 드로어 블에 이제 여기에 전달하는 범위 시계면 경계에 비례하여 정의되어야합니다 따라서 화면 너비의 4 분의 1에 위치한다고 말할 수 있습니다 건너서

고정 된 치수를 사용하지 마십시오 시계의 크기가 매우 다양하기 때문에, 그래서 절대적인 방법으로 물건을 정의하고 싶지는 않습니다 그럼 너는 필요할거야 ComplicationDrawable에 이 방법에도 시간이 걸리므로 최신의 정확한 값을 얻을 수 있습니다

이것이 바로 ComplicationDrawable에 있습니다 그래서 실제로 합병증을 추가하는 것이 훨씬 쉬워졌습니다 시계 모드를 지원합니다 이제는 ComplicationDrawable이 가장 큰 추가 기능입니다 착용 할 수있는 지원

그러나 다음 두 가지를 샘플로 사용할 수 있습니다 시계의 요구에 맞게 조정할 수 있습니다 얼굴 첫 번째 설정입니다 합병증이있는 시계 모드 구성 방법을 포함해야합니다

일반적으로 시계 모드 설정에 있습니다 그러나 복잡한 UI를 설정 UI에 묻어두면, 사용자에게 불편할 수 있습니다 주변 상황을 바꾸고 싶다 LG Watch 스타일 및 지원의 경우, 우리는 파트너들과 함께 일했습니다 사용자가 합병증을 설정하기위한 비주얼 인터페이스 또한 다른 설정에 빠르게 액세스 할 수 있습니다

그래서 여기에 어떻게 설정되어 있습니다 맨 위에는 시계의 이미지가 있습니다 얼굴이 명확하게 표시된 합병증 슬롯 이를 통해 사용자는 어디에 있는지 알 수 있습니다 데이터가 나타납니다

공급자 아이콘은 현재 무엇이 있는지 보여줍니다 각 슬롯에서 선택됩니다 아래에서 아래로 스크롤하면 다른 모든 설정을 참조하십시오 이제 배경 이미지가 특별한 경우입니다 기술적으로, 그것은 합병증입니다

큰 이미지 유형을 사용합니다 그러나 연구 결과에 따르면 사용자는이 점을 더 잘 이해하고 있습니다 별도의 항목으로 그래서 이것은 시계 부분에 보이는 것과 같습니다 그리고 이제 그것을 실제로 보자

따라서 사용자는 해당 슬롯 중 하나를 탭하기 만하면됩니다 상단에 그것은 합병증 공급자 선택기를 엽니 다 각 슬롯에서 원하는 것을 신속하게 선택할 수 있습니다 목록을 작성하는 것보다 훨씬 쉽습니다

왼쪽 슬롯, 오른쪽 슬롯, 위쪽 슬롯 등이 있습니다 실제 시계 모드에서이 기능을 사용하려는 경우, ustwo look 또는 Moods Collections 다운로드 Wear 20을 실행하는 모든 시계에서 이러한 시계 모드는 모두이 UI를 사용합니다 이제 업데이트 된 UI에서 구현 된 UI를 확인할 수 있습니다

시계 얼굴 샘플 AnalogComplicati onWatchFaceService를 확인하십시오 샘플에서 새로운 내용으로 업데이트되었습니다 우리가 오늘 소개하고있는 것이기 때문에 지금은 ComplicationDrawable을 사용합니다

구성 UI는 AnalogComplicati입니다 onConfigActivity 그리고 UI에 표시되는 항목 AnalogComplicationConfigData에 정의되어 있습니다 복잡 그 수업을 잠깐 살펴 보겠습니다 그래서 여기에서이 방법을 찾을 수 있습니다

데이터를 가져 와서 어댑터를 채 웁니다 그리고 설정 항목 목록을 반환합니다 따라서 설정 목록의 항목을 정의합니다 따라서 최상위 항목은 아마도 PreviewAndCompli가 될 것입니다 cationConfigItem

슬롯이있는 시계면의 모습입니다 그런 다음 배경 옵션을 사용할 수 있습니다 우리는 더 많은 옵션을 가지고 돌아올 수 있습니다 실제 샘플에는 이것보다 몇 가지 세부 사항이 있습니다 이것이 설정입니다

이제 합병증 지원을 추가했다고 가정 해 봅시다 당신의 시계 얼굴에 모든 것이 작동하는지 어떻게 확인할 수 있습니까? 대부분의 합병증 유형에는 처리해야하는 필드의 여러 조합입니다 예를 들어 시계 모드가 짧은 텍스트를 지원하는 경우 텍스트가있는 아이콘의 형태 일 수있는 합병증, 또는 텍스트 일 ​​수도 있고 또 다른 텍스트 일 ​​수도 있습니다 또는 단 하나의 텍스트 조각

테스트 스위트 제공 업체는 쉽게 확인할 수있게 해줍니다 모든 조합은 시계 모드에서 잘 어울립니다 따라서 테스트 스위트를 설치할 때, 데이터 제공 업체 목록에 표시됩니다 그리고 당신이 그것을 선택할 때, 당신은 선택할 수있을 것입니다 검사 할 합병증 유형

짧은 텍스트를 선택한다고합시다 시계 모드에 표시되는 방법은 다음과 같습니다 그리고 나서 당신이해야 할 일은 합병증을 두드리는 것입니다 다른 조합을 통해 순환합니다 그래서 이들 모두는 짧은 텍스트 합병증입니다

시계 모드가 짧은 텍스트를 지원하는 경우, 이 모든 것을 올바르게 렌더링해야합니다 이것은 긴 텍스트 예제이고, 긴 텍스트의 경우, 더 많은 조합이 있습니다 따라서이 기능을 사용하면 정말 유용합니다 모든 것이 제대로 작동하는지 확인하십시오 텍스트 및 제목, 텍스트 및 제목 만있는 아이콘, 또는 이미지도 포함됩니다

우리는 GitHub에서 테스트 스위트 제공 업체 오픈 소스를 공개하고 있습니다 어떻게 작동하는지 알 수 있도록 원하는 경우 자신 만의 테스트 케이스를 추가 할 수 있습니다 시계 모드가 아닌 데이터 제공 업체를 구축하는 경우, 너도 이것 좀 봐 왜냐하면 그것은 각각에 대한 제공자의 좋은 예이기 때문입니다 다른 합병증 유형 중 그게 전부입니다

그래서이 네 가지 도구는 시계에 복잡성 지원을 훨씬 간단하고 쉽게 추가 할 수 있습니다 얼굴 그들을 보내주십시오 여기 I / O에서 시험해 볼 코드 연구소가 있습니다 또는 dev 사이트에서 샘플을 확인할 수 있습니다

또는 Android Studio를 통해 또는 웨어러블 지원의 새 버전을 사용할 수도 있습니다 바로 시계 앞에서 직접 시도해보십시오 그리고 당신이 생각하는 것을 저희에게 알려주십시오 [박수 갈채] 그래서 이것은 우리의 존재를 요약 한 마지막 슬라이드입니다 – Google I / O 2017의 Android Wear Presence 어제의 이야기를 9:30 AM에 보지 못했다면, 그것은 기록됩니다 플랫폼이 어떻게 작동하는지에 대한 일반적인 개요였습니다

그리고 올해 플랫폼에 새로 추가 된 것들 그리고 오늘의 강연도 녹음됩니다 I / O가 끝나면 다시 돌아올 수 있습니다 고맙습니다

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

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