#7 Android MVVM Architecture Tutorial – Handling API Exceptions

여러분 안녕하세요! 이것은 Belal Khan이고 당신은 Simplified Coding을보고 있습니다 모든 것이 당신 편에 있기를 바랍니다

이 비디오를 진행하기 전에이 비디오를 일시 중지하고 앱 아래에 댓글을 달아주십시오 지금까지 일하고 있습니다 이 비디오에서는 API 호출 코드를 약간 변경합니다 잘 작동하지만 전화를 좀 더 추상적으로 만들고 싶습니다 또한 한 곳에서 오류를 처리하고 싶습니다

보시다시피 UserRepository 내에 userLogin이 있습니다 그리고 그것은 우리에게 AuthResponse 유형의 응답을 제공하지만 ViewModel에 대해 걱정하고 싶지 않습니다 확인해야 할 때마다 ViewModel에서 응답을 얻는 것처럼 응답 responseisSuccessful 한 곳에서이 작업을하고 싶습니다

이를 위해 API 요청을 수행하는 일반 함수를 작성해야합니다 응답을 반환합니다 따라서이 일반 함수에서 Response 유형의 Response를 직접 얻을 수 있습니다 이 경우에는 AuthResponse가 있습니다 따라서 네트워크 패키지 안에 클래스를 하나 더 만듭니다

여기서 오류를 처리하므로이 클래스의 이름을 SafeApiRequest로 지정하십시오 SafeApiRequest 파일이 있습니다이 파일 안에 추상 클래스를 만들겠습니다 SafeApiRequest 와이 클래스 내에서 또 다른 일시 중단 일시 중단 기능을 만들 것입니다 네트워크 작업을 수행하려고하며 비동기 작업입니다

비동기 작업에는 일시 중단을 사용합니다 그래서 우리는 재미를 중단했고이 함수는 일반적인 함수이므로 여기서 정의하겠습니다 Any 유형의 T 이 함수는 api를 수행하기 때문에이 함수의 이름을 apiRequest로 지정합니다 의뢰 이 함수는 T를 반환합니다

이제이 함수로 API 호출을 전달하고 이 호출은 또 다른 일시 중단 기능입니다 따라서 매개 변수가없는 일시 중단 기능이 있으며이 함수는 응답을 반환합니다 T 형으로 끝났습니다 이제이 함수 apiRequest 내에서 호출을 호출하고 응답을 얻습니다 따라서 val 응답은 call

invoke ()와 같습니다 이제 API 호출의 응답이 있으며 응답이 성공적인지 확인할 수 있습니다 responsebody를 반환하고 null이 아닌지 확인하십시오 응답이 성공하면 응답 본문이 있기 때문입니다 응답이 성공하지 못한 경우 오류를 처리하므로 먼저 응답 오류 본문에서 오류가 발생했습니다

val error = responseerrorBody ()가 있습니다 따라서 응답이 성공하지 못하면 본문을 얻을 수 없지만 errorBody () errorBody ()에서 문자열을 가져 오므로 오류에 응답이 무엇이든간에 그 문자열 형식을 가져옵니다 먼저 API를 보여 드리겠습니다 우린 POSTMAN이 있습니다

따라서 로그인 시도가 잘못되면 상태 코드가 401이며 401과 같은 응답 코드는 오류이므로 다른 것으로 들어갑니다 블록 else 블록 안에서 JSON 문자열 인이 문자열을 얻습니다 따라서 API 코드에서 정의한 오류 응답을 얻는 경우 좋아, JSON 응답을 구문 분석 할 수 있지만 때로는 404와 같은 오류가 발생할 수 있습니다 API를 찾을 수 없거나 호스트가 작동하지 않으므로 JSON을 얻지 못합니다

응답 본문 그러나 JSON의 유효성을 검사하기 전에이 오류가 null이 아닌지 확인해야합니다 그래서 우리는 error?let을 확인 하고이 let 블록 안에서이 오류를 변환 할 것입니다 JSON 객체에 대한 문자열입니다

그러나 오류 응답에 JSON 객체가있는 경우에만 JSON 객체로 변환 할 수 있습니다 따라서 API 에서이 오류를 코딩하면 JSON 응답, JSON 오류 응답이 있지만 오류가 다른 경우 API Not과 같은 JSOn 응답을 얻지 못합니다 찾거나 호스트가 작동하지 않습니다 따라서 JSON 공명을 변환하기 위해 시도하고 잡아야합니다 문자열을 확인하는 것은 JSON 객체로 변환 가능 여부입니다

내부에서 문자열을 JSON 객체로 변환하면 오류 메시지가 나타납니다 내 API를 디자인 할 때 오류 응답의 경우 항상이 메시지 키가 있습니다 오류 메시지를 포함합니다 그래서 당신은 또한 내 API를 사용하고 있으므로이 경우 아무런 문제가 없습니다 그러나 애플리케이션에서 작업 할 때 이에 따라 API를 설계해야합니다

여기이 문자열에있는 JSON 객체에서 오류 메시지가 나타납니다 또는이 문자열에있을 수도 있습니다 JSONObject를 작성하고 전달한 다음이 JSONObject에서 문자열이며 메시지입니다 따라서 오류 응답에 JSON 응답이 있으면 메시지가 표시되지만 오류 응답에 json 응답이 없으므로이 catch 블록 안에 들어갑니다 하지만이 캐치 블록 안에서는 아무것도하지 않습니다

catch 블록 우리는 오류 코드 인 응답 코드 만 표시하지만 오류가있을 때 표시 할 메시지가 표시됩니다 여기서 내가 할 일은 StringBuilder를 만들어서 이 StringBuilder 이제이 메시지를 작성하는 대신 여기에 messageappend를 작성할 수 있습니다 우리가 가진 오류 메시지

잘라서 붙여 넣습니다 그래서 우리는이 StringBuilder 안에 오류 메시지를 가지고 있습니다 내 메시지에 새로운 줄 새로운 줄을 추가해 봅시다 그리고이 let 블록 다음에 메시지 StringBuilder에 오류 코드를 추가합니다

그래서 여기에 messageappend를 작성하고 오류 코드를 추가하고 이 응답 객체의 오류 코드 여기에 $ {responsecode ()} 응답을 작성하겠습니다 우리는 메시지를 받았습니다 첫 번째 줄에는 오류 메시지가 있고 두 번째 줄에는 에러 코드

그런 다음 우리는 예외를 던질 것입니다 API 예외를 처리하기 위해 사용자 정의 클래스 ApiException을 만듭니다 이 프로젝트에서 원하는 모든 사용자 정의 예외는 유틸리티 패키지 여기에 새로운 kotlin 파일을 만들어 보도록하겠습니다 그리고이 파일 안에 모든 클래스를 만들 것입니다

우리가 원하는 첫 번째 클래스는 ApiException이며이 클래스는 문자열 유형의 메시지를받습니다 생성자 매개 변수로 사용하면 IOException이 상속됩니다 그리고 우리는 메시지를 IOException에 전달할 것입니다 이제 SafeApiRequest로 돌아와서 여기서 ApiException을 발생시킵니다 따라서 throw ApiException ()을 작성하고 message

toString ()을 전달합니다 메시지를 보내면이 메시지를 문자열로 변환합니다 따라서 오류가 발생하면 ApiException이 발생합니다 이제 일반 함수가 준비되었으며이 함수를 사용하여 API를 수행합니다 의뢰

따라서 UserRepository 클래스에 들어가면이 클래스는 SafeApiRequest를 확장합니다 이제 여기에서 만든이 함수를 사용할 수 있습니다 API를 수행하기위한 apiRequest입니다 UserRepository 클래스 내부에서 요청하십시오 그래서 내가 할 일은 여기에 apiRequest를 반환 하고이 apiRequest 안에 MyApi ()를 호출 한 다음 userLogin 및 이메일 비밀번호를 입력하십시오

이제 반환 유형을 AuthResponse로 변경할 수 있습니다 이제 함수가 AuthResponse를 직접 반환하므로 AuthViewModel로 돌아와서 여기서 AuthResponse를 직접받습니다 val authResponse = UserRepository () userLogin ()과 같이하겠습니다 이메일과 비밀번호도 마찬가지입니다

실제로 authResponse와 동일한 줄을 작성했지만 여기서는 응답이 성공적인지 확인하지만이 authResponse를 try 및 잡기 그리고 우리는 ApiException을 잡아야합니다 우리는 ApiException 타입의 e를 가지고 있습니다 이제 오류가 발생하면 authListener? onFailure ()를 호출하고 전달합니다

이 예외 인스턴스에서 가져올 메시지 emessage를 전달할 수 있습니다 그리고 null이 아닌지 확인할 수 있습니다 authResponse가있는 경우 authListener? onSuccess ()를 호출하면 authResponse의 사용자이므로 authResponse

user를 작성하면됩니다 null이므로 여기에 authResponse? user를 작성하고 사용자가 null이 아니다 사용자가 null이 아닌 경우 onSuccess를 호출하고 전달합니다 null이 아니다 사용자가 null 인 경우 다시 onFailure ()를 호출하여 메시지를 얻을 수 있습니다 authResponse에서 authResponse

message !!를 작성합니다 이 성공 후에는 return을 호출하여이 행을 실행하지 않습니다 성공하면 끝입니다 나는 그것이 작동해야한다고 생각하므로 응용 프로그램을 실행 해 봅시다 빈 값을 입력하면 유효하지 않은 이메일 또는 비밀번호가 표시됩니다

올바른 값을 입력하면 "Belal Khan이 로그인되었습니다"라는 메시지가 나타납니다 그래서 그것은 절대적으로 잘 작동합니다 오류가있는 경우이 작업도 시도해보십시오 잘못된 이메일 또는 비밀번호, 오류 코드 401이 표시됩니다 그래서 그것은 절대적으로 잘 작동합니다

그러나이 토스트 대신 스낵바를 표시하고 싶습니다 레이아웃 파일에서 볼 수 있듯이 coordinator_layout을 사용했습니다 coordinator_layout입니다 토스트 대신 스낵바를 사용하고 싶기 때문에이 레이아웃을 사용합니다 그리고 다시 스낵바를 위해 하나 이상의 확장 기능을 만들 것이므로 ViewUtils에 들어 오십시오

여기에서는 View의 확장 기능을 만듭니다 그래서 재미있는 Viewsnackbar를 작성 하고이 함수는 우리가 원하는 메시지를 가져옵니다 이 스낵바 안에 표시합니다 그리고 여기에 snackbar

make를 작성할 수 있으며 그것이 취하는 첫 번째 매개 변수는 View입니다 이 함수는 View의 확장이기 때문에 여기에 View가 있으므로 간단히 전달할 수 있습니다 여기 요 그런 다음 두 번째 매개 변수에 대해 표시하려는 메시지와 세 번째 매개 변수는 스낵바의 길이를 가지므로 스낵바를 갖습니다 그리고 나는 또한 쓸 것이다 그리고 이것은 또한 우리에게 스낵바를 줄 것이다 이제이 스낵바에 다음과 같이 조치를 설정하여 snackbar

setAction 및 버튼 이름을 Ok로 지정하고 클릭 기능 내부에 있습니다 이 함수 내에서 실제로 람다, 또는 람다 나는 스낵바를 닫을 것입니다 그래서 snackbardissmiss ()를 작성하고 마지막으로이 중괄호 뒤에 스낵바를 표시하려면 show () 토스트 대신에이 스낵바를 사용할 수 있지만이 스낵바를 사용하는 것은 매우 쉽습니다

coordinator_layout이 필요합니다이 coordinator_layout에 root_layout 인 id입니다 그래서 이것을 사용할 수 있으므로 LoginActivity로 돌아와서 토스트 대신 root_layoutsnackbar를 작성합니다 그런 다음 표시하려는 것과 동일한 문자열을 전달합니다

이제 토스트를 삭제하면 어디에서나 같은 것을 사용할 수 있습니다 따라서 실패의 경우 실패 메시지를 표시하고 양호합니다 따라서 응용 프로그램을 다시 실행하면 이번에는 스낵바가 표시됩니다 스낵바가 작동하는 것을 볼 수 있습니다 이제 잘못된 비밀번호를 입력하십시오

그리고 잘 작동하고 있습니다 토스트보다 낫다고 생각합니다 이 비디오 친구를위한 모든 것입니다이 강의를 즐기 셨으면 좋겠습니다 네 편이야 문제가있는 경우 아래 의견에 알려주십시오

이 비디오를 좋아하고 친구들에게 공유하십시오 이것이 지금 Signing Off 인 Belal Khan입니다

iOS VS Android – Did You Make The Right Choice?

이 비디오는 WIX에 의해 가능해졌습니다 웹 사이트를 만들 준비가되면 wix

com/go/infographics2019로 이동하여 사용해보십시오 지금 프리미엄 플랜 중 하나를 2019 년 5 월 현재 전화 운영 체제의 시장 점유율은 실제로 두 마리에 불과합니다 경쟁-iOS 및 Android, Android가 시장 및 iOS의 75 % 이상을 제어 함 23 % 미만입니다 Kai OS와 Nokia의 OS와 같은 다른 업체들은 무시할만한 시장 점유율을 보였습니다 이 세상에는 안드로이드 팬과 iOS 팬이 있다는 사실이 사실이되었습니다

사람들은 반대편으로 넘어가는 경향이 없습니다 우리는 모두 자신의 아이폰, 삼성을 포기하지 않을 사람들을 알고 있습니다 iPhone이 가격이 비싸고 필요 이상으로 액세서리가 많다고 말하는 사람들을 알고 있습니다 그러나 어떤 운영 체제가 실제로 최고입니까? 그것이 우리가 시도하고 찾아내는 것입니다 각 시스템의 장단점에 도달하기 전에 먼저 역사를 살펴 보겠습니다 이 두 OS 중 하나입니다

우리는 안드로이드로 시작할 것입니다 Android Inc라는 회사는 2003 년에 많은 사람들에 의해 설립되었지만 가장 많이 아마도 앤디 루빈 일 것입니다 처음에는 전화가 아닌 디지털 카메라 용으로 개발 된 운영 체제가 그러나 곧 제작자가 마음을 바꾸고 기술이 곧 Microsoft Windows Mobile과 경쟁합니다 많은 사람들이 그것을 믿지 않았고이 회사를가는 것은 쉽지 않았습니다

실제로, 그들이 파산해서 돈을 지불 할 여력이 없다고보고되었습니다 사무실 공간과 창립자의 가장 친한 친구조차도 무언가에 있었다 그러나 구글은 그들의 OS를 믿고 키와 함께 안드로이드 (Android Inc)로부터 인수했다 회사의 구성원 안드로이드와 관련하여 많은 비밀이 있었지만 소문이 시작되었습니다

구글이 자체 휴대 전화 용 소프트웨어를 개발하고 있음을 알기 위해 우리는이 소프트웨어가 대부분의 주머니에 얼마나 빠를 지 알고있었습니다 그리고 2007 년 애플은 폭탄을 떨어 뜨려 아이폰을 출시했다 그 전에 Google 운영 체제는 표준 전화에서만 실행되도록 개발되었습니다 터치 스크린이있는 것은 아닙니다 아이폰이 나왔을 때 안드로이드 팀은 할 일이 많다는 것을 알았습니다

같은 해에 Handset Alliance라는 그룹이 모여 대담한 진술을했습니다 "모바일을위한 최초의 개방적이고 포괄적 인 플랫폼을 만들 것" 장치” 이 동맹의 회원은 Google, Samsung, HTC 및 Motorola뿐만 아니라 다른 사람들이었습니다 그들은 단지 뜨거운 공기로 가득 차 있지 않았으며 곧 우리는 다른 버전을 보았습니다 안드로이드 이들은 "Cupcake", "Donut", "Eclair"및 "Froyo"입니다

나중에 우리는“Kit-Kat”을 얻었습니다 컴퓨터 소프트웨어가 왜 내가 먹는 음식의 이름을 따서 명명했는지 궁금 할 것입니다 나중에이 소프트웨어를 실행하는 모바일 장치가 달콤한 인생 최초의 안드로이드 폰은 T-Mobile G1 또는 HTC Dream이었습니다 미국

리뷰는 혼합되었지만 많은 사람들이 theOS에 많은 잠재력이 있다고 말했습니다 이제 iPhone 및 iOS 용입니다 2005 년에 유일하게 Steve Jobs만이 할 일이 많았습니다 Mac을 축소하고 완벽한 핸드 헬드 장치 2007 년에 애플은이 새로운 휴대폰을 운영체제와 함께 발표했다

첫 번째 시스템은 iPhone OS 1이며 Google과 달리 Apple은 가지 않았습니다 달콤한 소리가 나는 이름으로 계속 숫자를 세어 보았습니다 지금까지는 전화 만 언급했지만 두 운영 체제가 모두 실행되는 것을 알고 있습니다 다양한 모바일 장치 최초의 아이폰은 화려한 장치로 칭찬되었고 잡스의 신비에만 추가되었습니다 어떤 사람들에게는 테크노 신과 같은 사람이었습니다

iPhone의 초기 평가를 읽어야 iPhone이 어떻게되는지에 대한 칭찬을 찾을 수 있습니다 매끄럽고, 환상적이며, 혁신적이며, 웹 서핑을위한 최고의 장치입니다 그 전에 기즈모도는 이렇게 말했습니다 놀러 다니는 청년

" 그것은 자체 리그에있었습니다 완벽하지는 않았고 몇 가지 기능이 부족했지만 아무도 부정적인 말을하지 않았습니다 한 가지를 제외하고이 장치에 대해 이것이 499 달러의 기본 가격으로 너무 비싸다는 사실이었습니다 179 달러에 출시 된 최초의 안드로이드 폰과 비교해보십시오 그러나 모바일의 미래로 아이폰이 환영 받았을 때 가격은 중요하지 않았다

장치 그것은 그 이후로 일종의 이야기 였지만, 그 이후 몇 년 동안 보았 듯이 고급형 안드로이드 폰도 이제 매우 비싸다 현금이 많이 들지만 iPhone을 사는 사람들을 막을 수는 없습니다 당신은 항상 가장 많이 팔리는 전화를 보면 당신이 그것을 차지하는 것을 볼 수 있습니다 초기 Nokia 폰 그리고 말이됩니다

벽에 던질 수 있고 파손되지 않으며 배터리가 인간이 깨어있을 수있는 것보다 오래 지속되었습니다 즉, 목록의 세 번째 전화는 iPhone 6 및 iPhone 6 Plus이며 먼 길에 안드로이드 폰 2 억 2 천만 명이 그 전화를 샀습니다 역대 가장 많이 팔린 안드로이드 폰은 삼성 갤럭시 S4이며 8 천만 대, 먼 길 Android 4

22 "Jelly Bean"을 실행했습니다 하지만 바로 아래에 판매 한 iPhone 5, iPhone 7 및 iPhone 7 Plus가 있습니다 70 및 6,590 만 단위 iPhone 4와 iPhone 4S는 그다지 뒤지지 않으며 다양한 버전의 삼성 갤럭시도 괜찮습니다

2009 년에 찾을 수있는 운영 체제의 과거 시장 점유율을 살펴보면 안드로이드는 거의 블록에서 벗어나고 있었고 iOS는 정면에있었습니다 Nokia와 같은 여러 대기업에서 사용하는 Symbian이라는 운영 체제 둘 다 앞서 있었지만 곧 바뀌 었습니다 앞으로 몇 년 동안 보게 될 것은 Microsoft Mobile이 거대한 코 다이빙과 안드로이드를 복용하고 있다는 것입니다 정상에 로켓 그러나 iOS는 수년에 걸쳐 약간의 하락과 상승을 가져 왔지만 대부분은 꽤 안정적입니다

최근에야 아이폰에 약간의 문제가 생겼습니다 몇 년 동안 전용 사용자에 대해 말할 수 있습니다 그러나 2013 년 이래로 안드로이드는 80 %의 시장 점유율을 누리고, 조금주고 받거나 가끔 애플이 열성적인 팬을 가지고 있다는 것을 아무도 부인할 수 없지만, 안드로이드는 시장의 왕입니다 그러나 무언가가 더 많이 팔린다고해서 더 나은 것은 아닙니다

우리가 알다시피, iPhone은 매우 비싸서 많은 사람들을 퇴치시킵니다 우리는 Fast Company의 기사와 웹 사이트의 직원들과 일부 디자이너들에게 갔다 그리고 기술 사상가들은 사상 최고의 전화에 대해 이야기했습니다 이 기사는 2018 년에 발표되었습니다 선택한 휴대 전화 목록이 다양한 버전의 아이폰

포플러 모토로라와 마찬가지로 초기 블랙 베리와 같은 일부 구식 전화에 대한 언급이 있습니다 플립 폰과 노키아 우리는 목록에서 안드로이드 폰을 찾을 수 없었습니다 어쩌면 그 사람들은 좋은 옛날을 좋아했을 수도 있습니다 또는 어쩌면 거기에 없었습니다 거의 완벽한 안드로이드 폰입니다 2019 년은 어떻습니까? 우리는 사람들이 무엇을 말하는지 2019 년에 살 수있는 최고의 전화라는 것을 알았습니다 글쎄, 이제 안드로이드를 실행하는 삼성 전화가 목록에 있지만 iPhone XS를 포함하십시오 어디에서 보더라도 상관없이 삼성 갤럭시 폰은 최고의 장소를 채우는 다양한 종류의 갤럭시 폰은 이상한 화웨이를 주거나 가져갑니다

전화 현재 상위 10 개 목록 중 일부에는 iPhone도 포함되어 있지 않습니다 몇 년 전에 출판 된 유사한 목록이 있다면 전문가에 따르면 화웨이, 삼성, 샤오 미 여부에 관계없이 안드로이드 폰에 따르면 또는 One Plus는 iPhone보다 선호됩니다 얼마 전까지 만해도 아이폰은 거의 항상 리뷰 상단에 있었지만, 요즘 사람들은 전화의 몰락에 대해 이야기하고 있습니다

2018 년에 시작된 것 같습니다 요즘에는 세련된 디자인이 일부 사람들에게는 너무 비싸고 그들은 당신이 안드로이드 폰으로 더 싼 가격으로 더 나은 기계를 얻을 수 있다고 생각합니다 그래도 여전히 최고의 운영 체제를 알려주지는 않습니다 다시 말하지만 전문가들은 어떤 전화가 가장 좋은지뿐만 아니라 어떤 운영이 시스템이 최고입니다 대부분의 사람들이 지적하는 첫 번째는 안드로이드가 소비자에게 더 많은 다양성을 제공한다는 것입니다

그것이 더 잘 팔리는 이유입니다 모든 종류의 전화기가 너무 많습니다 기능과 모든 가격에 그러나 그것은 그 이상입니다 Android에서 사용할 수있는 앱의 수는 약 350 만 건이며 iOS의 경우 250 만 하지만 더 많은 무료 Android 앱과 다양한 앱이 있지만 적어도 한 명의 검토자는 애플이 특히 게임을 할 때 더 좋은 품질의 앱을 가지고 있다고 말합니다

일부 사람들은 애플이 안드로이드보다 의심스러운 앱을 제거하는 것이 더 낫다고 말합니다 앱 스토어는 Play 스토어보다 탐색하는 것이 좋습니다 또 다른 큰 문제는지도입니다 우리는 Apple Maps와 Google Maps의 몇 가지 비교를 살펴 보았으며 한 사람이 Apple을 말하지 않았습니다 지도가 더 좋았습니다

대부분의 검토 자들은 Apple Maps가 점점 나아지고 있으며 멀지 않다고 말했습니다 뒤에, 그러나 당신은 단지 구글과 함께 가야합니다 많은 사람들에게도 중요한 것은 장치의 배터리 수명입니다 배터리가 거의 소모되었을 때 아무도 배터리를 소모하는 것을 좋아하지 않기 때문에 큰 일입니다 전화 작업이 필요합니다

다시 말하지만, 그것은 다양성에 관한 것입니다 iPhone에는 배터리가 전혀 없지만 많은 Android 기기를 찾을 수 있습니다 뛰어난 배터리로 대중이 이에 동의합니다 대부분의 영역에서 Android가 승리하는 것처럼 보이지만 Apple이 우월 해 보이는 부분은 업데이트 새로운 기능, 일부 버그 수정 및 보안 업데이트 추가와 관련하여 Apple 앞서있다 다른 두 가지 이야기는 휴대 전화를 맞춤 설정하는 방법과 얼마나 쉬운 지에 관한 것입니다

쓰다 커스터마이징 측면에서 Android는 더 많은 옵션을 제공합니다 너무 많은 전화입니다 그러나 단순한 단순성 측면에서 대부분의 사람들은 애플이이기는 것이라고 생각하는 것 같습니다 그러나 휴대 전화를 판매하고 새 휴대 전화를 구입하려면 어떻게해야합니까? 어느 시스템이 그 가치를 더 잘 유지합니까? 이에 대한 답변은 하나 뿐이며 동의하지 않습니다

iPhone입니다 당신은 여전히 ​​2 살짜리 전화기로 꽤 괜찮은 금액의 돈을받을 수 있습니다 당신은 또한 여전히 잘 작동하는 것보다 오래된 아이폰을 사용하는 사람들을 알고있을 것입니다 결국 대부분의 사람들이 개인 취향에 관한 것이라고 말한 것 같습니다 더 나은 OS는 없습니다

선택의 양과 사용자 정의 범위의 우선 순위를 정하면 Android를 사용해야합니다 그러나 디자인과 사용 편의성을 중시한다면 iPhone을 잘못 사용할 수는 없습니다 그것을 감당할 수 있습니다 그러나 Android 또는 iOS를 선호하더라도 관계가 하나뿐입니다 웹 사이트 구축-Wix

Wix는 귀하의 개인 웹 사이트를 디자인 할 때 고유 한 수준에 있습니다 완전히 맞춤 설정 가능한 수백 가지 템플릿 중 하나를 모두 드래그 앤 드롭 인터페이스를 사용하기 쉽습니다 또는 고유 한 사이트를 모두 만들 수있는 놀라운 ADI 기능을 활용하십시오 몇 가지 간단한 질문에 답하면됩니다 사용자가 사용중인 모바일 OS에 대해 걱정할 필요가 없습니다

Wix는 플랫폼에 관계없이 멋지게 보일 것입니다 설명의 링크를 방문하거나 wixcom/go/infographics2019로 이동하여 Wix를 사용해보십시오 의견, Android, iOS 또는 다른 하나에서 가장 좋아하는 OS를 알려주십시오 이상한 것, 그리고 우리의 다른 비디오 애플 대 삼성을 확인하십시오-어느 것이 더 큽니까? 시청 해주셔서 감사합니다

항상 그렇듯이 공유하고 구독하는 것을 잊지 마십시오 다음에 또 만나요

안드로이드 강좌 – 컨스트레인트 레이아웃을 사용해보자 1/3(ConstraintLayout)

안녕하세요 웹나우테스입니다 : ) 이번 시간에는 컨스트레인트 레이아웃에 대해 알아봅니다 컨스트레인트 레이아웃에서 사용하는 개념에 대해 금방 익숙해 지도록 반복적으로 말하는 부분이 있는 점을 염두에 두고 보세요 컨스트레인트는 우리말로 제약이라는 의미입니다 컨스트레인트 레이아웃에서는 자식뷰의 위, 아래, 왼쪽, 오른쪽에 대한 컨스트레인트를 주어서 자식뷰의 위치를 결정합니다 부모뷰를 기준으로 자식뷰의 위치를 결정하는 것부터 알아봅니다 진행하기 전에 뷰에 붙여주는 이름에 익숙해져야 합니다 부모 뷰의 왼쪽에는 Left 또는 Start, 오른쪽에는 Right 또는 End, 위쪽에는 Top, 아래쪽은 Bottom이라고 이름을 붙여줍니다 자식 뷰에도 같은 방식으로 Left, Right, Top, Bottom을 붙여 줍니다 여기에서도 Left 대신에 Start, Right 대신에 End를 사용할 수 있습니다 본 영상에서는 통일성을 위해 Left와 Right를 사용합니다 안드로이드 스튜디오에서 Empty Activity를 선택하여 프로젝트를 생성시 디폴트로 생성되는데 레이아웃 파일입니다 컨스트레인트 레이아웃을 사용하며 내부에 텍스트뷰가 정중앙에 배치됩니다 텍스트뷰에 추가되어 있는 다음 4가지 항목에 의해서 텍스트뷰가 정중앙에 배치 됩니다 각각의 의미에 대해 알아보겠습니다 앞에서 살펴본 자식뷰와 부모뷰에 붙이는 이름을 숙지해야 이해할 수 있습니다 첫번째는 자식뷰의 Top에 부여되는 컨스트레인트입니다 자식뷰의 Top이 등호 뒤에 오는 뷰의 Top에 배치되도록 합니다 여기에서는 parent이므로 부모뷰의 Top에 자식뷰의 Top이 배치됩니다

자식뷰의 Top에 대한 컨스트레인트만 추가해보면 텍스트뷰 가 왼쪽 위로 이동합니다 가로방향으로 정중앙 위가 아닌 왼쪽위로 이동하게 됩니다 왜냐하면 가로 방향에 대한 컨스트레인트가 지정되지 않았기 때문에 왼쪽으로 이동하는 것입니다 다음 2개의 컨스트레인트를 추가하면 텍스트 뷰는 상단 정중앙으로 이동하게 됩니다 가로방향에 대한 컨스트레인트로 자식뷰의 Left는 부모뷰의 Left에 배치하고 자식뷰의 Right는 부모뷰의 Right 배치하도록 했기때문입니다 이렇게 자식뷰의 양쪽을 각각 부모뷰에 배치하도록 하면 자식뷰는 정중앙으로 오게 됩니다 지금 추가한 2개의 컨스트레인트 의미는 영상을 계속 보시면 이해가 되실것이니 걱정 마세요 텍스트뷰의 Top, Left, Right에 대한 컨스트레인트가 추가된 상태라는 것을 안드로이드 스튜디오 에서 확인할 수 있습니다 0 이라고 표시된 것은 추가된 컨스트레인트에 대한 Margin, 즉 부모와의 여백이 지정되지 않았다는 의미입니다 자식뷰의 Bottom에 대한 컨스트레인트입니다 자식뷰에 Bottom이 등호 뒤에 오는 뷰의 Bottom에 배치되도록 합니다 여기에서는 parent이므로 부모뷰의 Bottom에 자식뷰의 Bottom이 배치됩니다 자식뷰의 Bottom에 대한 컨스트레인트만 추가해보면 텍스트뷰가 왼쪽 아래로 이동하게 됩니다 정 중앙이 아닌 왼쪽 아래로 이동하게 됩니다 왜냐하면 가로 방향에 대한 컨스트레인트가 지정되지 않았기 때문에 왼쪽으로 이동하는 것입니다 다음 2개의 제약(컨스트레인트)을 추가해주면 텍스트뷰 는 하단 정중앙으로 이동하게 됩니다 가로 방향에 대한 컨스트레인트로 자식뷰의 Left는 부모뷰의 Left에 배치하고 자식뷰의 Right는 부모뷰의 Right에 배치하도록 했기때문입니다 이렇게 자식뷰의 양쪽을 각각 부모뷰에 배치하도록하면 자식뷰는 정중앙으로 오게 됩니다 추가한 2개의 컨스트레인트 의미는 영상을 계속 보시면 이해가 되실 것이니 걱정 마세요 텍스트뷰의 Bottom, Left, Right에 컨스트레인트가 추가 된 상태라는 것을 안드로이드 스튜디오 에서 확인할 수 있습니다 0 이라고 표시된 것은 추가된 컨스트레인트에 대한 Margin이 지정되지 않았다는 의미입니다 자식뷰의 Left에 대한 컨스트레인트입니다 자식뷰의 Left가 등호 뒤에 오는 뷰의 Left에 배치되도록 합니다 여기에서는 parent이므로 부모뷰의 Left에 자식뷰의 Left가 배치됩니다 자식뷰의 Left에 대한 컨스트레인트만 추가해보면 텍스트뷰가 왼쪽 위로 이동합니다 왼쪽 정 중앙이 아닌 왼쪽 위로 이동하게 됩니다 왜냐하면 세로 방향에 대한 컨스트레인트 가 지정되지 않았기 때문에 위로 이동하는 것입니다 다음 두 가지 제약(컨스트레인트)을 추가하면 텍스트뷰는 왼쪽 정 중앙으로 이동하게 됩니다 세로 방향에 대한 컨스트레인트로 자식뷰의 Top을 부모뷰의 Top에 배치하고 자식뷰의 Bottom을 부모뷰의 Bottom에 배치하도록 했기 때문입니다 이렇게 자식뷰의 양쪽을 각각 부모뷰에 배치하도록 하면 자식뷰는 정 중앙으로 오게 됩니다 텍스트뷰의 Left, Top, Bottom에 대한 컨스트레인트가 추가된 상태라는 것을 안드로이드 스튜디오에서 확인할 수 있습니다 0 이라고 표시된 것은 추가된 컨스트레인트에 대한 Margin이 지정되지 않았기 때문입니다 자식뷰의 Right에 대한 컨스트레인트입니다 자식뷰의 Right가 등호 뒤에 오는 뷰의 Right에 배치되도록 합니다 여기에서는 parent이므로 부모뷰의 Right에 자식뷰의 Right가 배치됩니다 자식뷰의 Right에 대한 컨스트레인트만 추가해보면 텍스트 뷰가 오른쪽 위로 이동합니다 오른쪽 정중앙이 아닌 오른쪽 위로 이동하게 됩니다 왜냐하면 세로방향에 대한 컨스트레인트가 지정되지 않았기 때문에 위로 이동하는 것입니다 다음 두 개의 제약(컨스트레인트)을 추가하면 텍스트뷰는 오른쪽 정 중앙으로 이동하게 됩니다 세로방향에 대한 컨스트레인트로 자식뷰의 Top은 부모뷰의 Top에 배치하고 자식뷰의 Bottom은 부모뷰의 Bottom에 배치하도록 했기 때문입니다

이렇게 자식뷰의 양쪽 끝을 각각 부모뷰에 배치하도록 하면 자식뷰는 정중앙으로 오게됩니다 텍스트뷰의 Right, Top, Bottom에 대한 컨스트레인트가 추가된 상태라는 것을 안드로이드 스튜디오 에서 확인할 수 있습니다 0 이라고 표시된 것은 추가된 컨스트레인 트에 대한 Margin이 지정되지 않았다는 의미입니다 처음 살펴보았던 레이아웃을 다시 보겠습니다 이제 정중앙에 텍스트뷰가 오는게 이해 되시나요 텍스트뷰의 Top과 Bottom은 각각 부모의 Top과 Bottom에 배치되도록 해서 세로방향으로 정중앙이 되는 거고 텍스트뷰의 Left와 Right는 각각 부모뷰의 Left, Right에 배치하도록 해서 가로 방향으로 정 중앙이 되는 것입니다 지금까지 웹나우테스였습니다 감사합니다

안드로이드 강좌 – 컨스트레인트 레이아웃을 사용해보자 2/3(ConstraintLayout)

이제 여러 개의 자식뷰를 가로방향으로 배치하려면 어떻게 하는지 알아보겠습니다 두개의 텍스트뷰를 가로방향으로 연속해서 배치하는 경우입니다

하나의 텍스트뷰만 있을때와 마찬가지로 각 텍스트뷰마다 Left, Right, Top, Bottom을 붙여줍니다 이제 자식뷰와 부모뷰와의 관계뿐만 아니라 자식뷰간의 배치 관계도 생각해야 합니다 이런 배치를 가능하도록하는 레이아웃입니다 두개의 텍스트뷰에 추가된 다음 항목의 의미에 대해 하나씩 살펴보도록 하겠습니다 우선 텍스트뷰1과 텍스트뷰2 사이의 배치관계를 살펴보겠습니다

텍스트뷰1의 Right는 텍스트뷰2의 Left에 배치됩니다 텍스트뷰2의 Left는 텍스트뷰1의 Right에 배치됩니다 앞에서 살펴본 컨스트레인트만 사용하면 다음처럼 레이아웃이 구성됩니다 세로방향에 대한 컨스트레인트가 없기때문에 텍스트뷰들이 위쪽으로 이동하게 됩니다 부모뷰의 Top에 텍스트뷰의 Top을 배치한다는 것을 설정하기 위해서 다음 컨스트레인트를 각 텍스트뷰에 추가해줍니다

레이아웃 구성에는 변화가 없지만 세로방향에 대한 컨스트레인트를 지정해주는 것이 좋습니다 텍스트뷰 위치를 가로방향으로 중앙으로 옮기려면 컨스트레인트를 추가해줘야 합니다 텍스트뷰1의 Left가 부모뷰의 Left에 배치된다고 컨스트레인트를 추가하고 텍스트뷰2의 Right가 부모뷰의 Right에 배치된다고 컨스트레인트를 추가하면 됩니다 두개의 컨스트레인트를 추가한 결과 텍스트뷰가 수평방향으로 중앙에 위치하게 됩니다 이번엔 3개의 자식뷰를 가로방향으로 배치하는 경우입니다

다음처럼 텍스트뷰가 가로방향으로 3개 배열되는 경우를 살펴봅니다 오른쪽에 보이는 레이아웃을 작성하여 만들었습니다 앞에서 본거에 비해 코드양이 늘었지만 규칙만 이해하면 새로울것은 없습니다 이해를 돕기위해 부모뷰와 자식뷰에 Left, Right, Top, Bottom을 표시합니다 뷰의 왼쪽에는 Left, 뷰의 오른쪽에는 Right, 뷰의 위쪽에는 Top, 뷰의 아래쪽에는 Bottom을 표시합니다

첫번째 텍스트뷰와 두번쩌 텍스트뷰의 배치관계부터 알아봅니다 텍스트뷰1의 Right를 텍스트뷰2의 Left에 배치합니다 텍스트뷰2의 Left를 텍스트뷰1의 Right에 배치합니다 두번째 텍스트뷰와 세번째 텍스트뷰의 배치관계에 대해 알아봅니다 텍스트뷰2의 Right를 텍스트뷰3의 Left에 배치합니다

텍스트뷰3의 Left를 텍스트뷰2의 Right에 배치합니다 텍스트뷰1, 텍스트뷰2, 텍스트뷰3은 서로 배치관계가 설정되어 있기 때문에 같이 움직이게 됩니다 3개의 텍스트뷰가 가로방향으로 화면 중앙에 정렬되도록 컨스트레인트를 추가해야 합니다 왼쪽 끝에 있는 텍스트뷰1의 Left가 부모뷰의 Left에 배치되도록하고 오른쪽 끝에 있는 텍스트뷰3의 Right가 부모뷰의 Right에 배치되도록 하면 3개의 텍스트뷰는 가로 방향으로 화면 중앙에 오게 됩니다 텍스트뷰가 세로방향으로 중앙으로 오도록하려면 추가 컨스트레인트가 필요합니다

각 텍스트뷰의 Top이 부모뷰의 Top에 배치되도록하고 각 텍스트뷰의 Bottom이 부모뷰의 Bottom에 배치되도록 하면 결과적으로 텍스트뷰가 세로방향으로 정중앙에 배치됩니다 컨스트레인트 레이아웃에서는 자식뷰를 가로방향으로 배치하는 방법으로 다음 3가지를 제공합니다 spread는 부모뷰와의 간격을 포함하여 자식뷰를 일정한 간격으로 배치합니다 ChainStyle을 지정해주지 않았을때 디폴트 값이 spread입니다 3개의 텍스트뷰중 하나에만 추가해주면 됩니다

spread_inside는 부모뷰와의 간격을 제외하고 나머지 간격을 일정하게 합니다 packed는 자식뷰를 간격없이 붙입니다 bias를 사용하여 자식뷰를 가로방향에 대하여 어느쪽으로 정렬할지 결정할 수 있습니다 ChainStyle로 packed를 사용한 상태에서 진행해보겠습니다 0

5면 가로방향으로 정중앙에 오게되며 05보다 작으면 왼쪽으로 정렬, 05보다 크면 오른쪽으로 정렬됩니다 075이면 정중앙과 오른쪽 끝의 중간쯤에 배치됩니다

3개의 텍스트뷰중 하나에만 적어주면 됩니다 Weight를 지정하면 자식뷰의 너비를 비율로 설정할 수 있습니다 ChainStyle로 packed를 사용한 상태에서 진행해보겠습니다 텍스트뷰의 너비를 각각 0dp로 하고 Weight를 각각 1,2,3으로 설정하면 텍스트뷰의 너비가 1:2:3의 비율로 조정됩니다 지금까지 웹나우테스였습니다

감사합니다

안드로이드 강좌 – 컨스트레인트 레이아웃을 사용해보자 3/3(ConstraintLayout)

이제 여러 개의 자식뷰를 세로 방향으로 배치 하려면 어떻게 하는지 알아보겠습니다 먼저 두 개의 텍스트 뷰를 세로방향으로 배치하는 경우입니다 먼저 두 개의 텍스트뷰 간의 컨스트레인트를 설정합니다 텍스트뷰1의 Bottom을 텍스트뷰2의 Top에 배치합니다 텍스트뷰2의 Top을 텍스트뷰1의 Bottom에 배치합니다 이제 두 개의 텍스트뷰를 같이 움직이게 할 수 있습니다 텍스트뷰가 세로 방향으로 정중앙에 올 수 있도록 위에 있는 텍스트뷰1의 Top을 부모뷰의 Top에 배치합니다

아래 있는 텍스트뷰2의 Bottom을 부모뷰의 Bottom에 배치합니다 텍스트뷰가 가로방향으로 정중앙에 위치 하기 위해 각 텍스트뷰의 좌우에 컨스트레인트를 추가합니다 텍스트뷰의 Left를 부모뷰의 Left에 배치하고 텍스트뷰의 Right를 부모뷰의 Right에 배치합니다 이제 3개의 자식뷰를 세로방향으로 배치하는 경우를 알아보겠습니다 먼저 3개의 텍스트뷰 간의 컨스트레인트를 설정합니다 텍스트뷰1의 Bottom을 텍스트뷰2의 Top에 배치합니다 텍스트뷰 2에 Top을 텍스트뷰1의 Bottom에 배치합니다 텍스트뷰2의 Bottom을 텍스트뷰3의 Top에 배치합니다 텍스트뷰 3의 Top을 텍스트뷰2의 Bottom에 배치합니다 이제 세 개의 텍스트뷰를 같이 움직이게 할 수 있습니다 텍스트뷰가 세로 방향으로 정 중앙으로 올 수 있도록 맨 위에 있는 텍스트뷰1의 Top을 부모뷰의 Top에 배치합니다 맨 아래에 있는 텍스트뷰 3의 Bottom을 부모뷰의 Bottom에 배치합니다 텍스트뷰가 가로 방향으로 정중앙으로 올 수 있도록 각 텍스트뷰의 Left를 부모뷰의 Left에 배치합니다 각 텍스트뷰의 Right를 부모뷰의 Right에 배치합니다

컨스트레인트 레이아웃에서는 자식뷰를 세로 방향으로 배치하는 방법으로 다음 3 가지 방법을 제공합니다 spread는 부모뷰와의 간격을 포함하여 자식뷰를 일정한 간격으로 배치합니다 Chain Style을 지정해주지 않았을 때 디폴트 값입니다 3개의 텍스트뷰중 하나에만 추가해주면 됩니다 spread_inside는 부모뷰와의 간격을 제외하고 나머지 간격을 일정하게 합니다 packed는 자식뷰를 간격 없이 붙입니다 bias를 사용하여 세로 방향으로 어느쪽으로 정렬할지 결정할 수 있습니다 ChainStyle로 packed을 사용한 상태에서 진행해 보겠습니다 05 이면 세로 방향으로 중앙에 오게 되며 05 보다 작으면 위쪽으로 정렬, 05 보다 크면 아래쪽으로 정렬됩니다 075 이면 세로 방향 정 중앙과 아래쪽 끝의 중간쯤에 배치됩니다 3개의 텍스트뷰 중 하나에만 적어주면 됩니다 컨스트레인트 레이아웃에서는 자식뷰의 높이를 비율로 설정하는 방법을 제공합니다 ChainStyle로 packed을 사용한 상태에서 진행해 보겠습니다 텍스트뷰의 높이를 각각 0dp로 하고 Weight를 각각 1, 2, 3으로 설정하면 텍스트뷰의 높이가 1:2:3의 비율로 조정됩니다 이번엔 Baseline에 맞추어 자식뷰를 정렬하는 방법을 알아봅니다 Baseline이란 텍스트뷰가 있을때 텍스트뷰에 포함된 문자열의 아래쪽에 존재하는 가상의 선 입니다 다음처럼 폰트의 크기가 다른 경우 글자의 Baseline 위치가 일정하지 않습니다

텍스트뷰3의 문자열의 아랫부분에 위치하는 Baseline에 맞춰 정렬하도록 하면 다음처럼 정렬이 됩니다 컨스트레인트 레이아웃에서는 match_parent 대신에 match_constraint를 사용해야 합니다 어떻게 동작하는 지 살펴보겠습니다 이미지의 크기에 맞추어 이미지뷰의 너비를 조정하도록 wrap_content를 사용한 후 에디트 텍스트에서 너비로 0dp 로 사용하게 되면 나머지 공간을 에디트 텍스트에서 모두 사용하게 됩니다 코드에서는 match_constraint 대신에 0dp 를 사용합니다 세로 방향에서 똑같이 동작합니다 이미지 크기에 맞추어 이미지뷰의 높이를 조정하도록 wrap_content를 사용한 후 텍스트뷰에서 높이로 0dp 를 사용하면 나머지 공간을 모두 텍스트뷰에서 사용하게 됩니다 지금까지 웹나우테스였습니다 감사합니다

How I Made My Own Android Phone – in China

어-오,, 내가 잠긴 메인보드를 샀나? 여기서 문제는 나는 오래 안드로이드를 사용하지 않았다 나는 이것에 대해 어떻게 해야하는지 모르겠다

몇년 전 저는 나만의 iPhone을 만들었습니다 그것은 나를 중국 휴대폰 시장의 미친 토끼굴로 데려갔다 사람들이 나 한테 물어 본 이후로 "그래, 언제 너만의 안드로이드폰을 만들거야?" 나는 계속 같은 비디오를 만들고 싶지 않다고 계속 말했습니다 단지 다른 전화를 만드는 것이기 때문에 그러나 나는 그것에 대해 생각해 봤고, 나는 너무 많이 배웠다는 것을 깨달았다 처음 아이폰을 만들었을때 처럼, 그리고 휴대폰 시장의 모든 부분이 있습니다

나는 아직 탐험조차하지 못했고, 안드로이드에 대해서는 거의 아무것도 모른다 내가 더 많은 것을 배우고 싶다 왜냐 하면 내가 아이폰에서 했던 것보다 훨씬 흥미로운 수정을 할 수 있다고 생각했고 또 나는 궁금했다 "안드로이드 폰도 같은 방식으로 만들어 졌습니까? 부품을 쉽게 찾을 수 있습니까?" 나는 그것을 결합하는 법을 알아낼 수 있다고 생각한다 제가 실제로 부품을 찾을 수있는 한, 부품이 조금 더 쉬워지기를 희망합니다

나는 2년동안 시장을 탐험했고, 나는 조금 더 만다린어(중국어)를 할 수 있다 나는 또한 어떤 전화를 만들고 싶은지에 대해 많은 생각을 해왔다 처음에는 Google Pixel을 생각하고있었습니다 그러나 솔직히 여기에 아무도 Pixel에 대해 들어 본 적이 없기 때문에 부품을 찾기가 정말 어려울 것입니다 그리고 나서 화웨이폰을 생각했는데, 최근의 뉴스를 보아한다면, 솔직히 말해서 지금은 문제를 묻는 중일 때라고 생각합니다

그래서 삼성 갤럭시 S10을 만들기로 했습니다 비교적 최근의 플래그십 폰이며, 좋은 리뷰를 받고있습니다 그리고 시장에서 삼성 부품들을 많이 볼 수있었습니다 그러니 다시 한 번 나와 함께 토끼굴로 내려와서 부품을 사러 가봅시다 심천(선전)[深圳]시, 중국 솔직히 여기서 촬영하는 건 날 겁나게 한다

아무도 카메라에 안 찍히려고 한다 그래서 가끔은 조심해야 합니다 이 안에 누군가가 내가 촬영 중이라는 걸 알게 된다면 어떻게 될까 하는 경우도 있다 화가 난 중국 시장 상인들에 의해 엉덩이를 걷어차이고, 내 버킷 리스트는 올라가지 않을것입니다 나는 많은 사람들이 괜찮거나 적어도 다른 사람들을 알고 있다

그들은 단지 안전을 위해 그들의 얼굴이나 그들의 간단한 위치같은 것을 보여주기를 원하지 않는다 먼저 메인보드를 찾으러 예정이다 과거의 경험에서 찾기에 가장 어려운 부분이였고 S10 메인보드를 찾을 수 있을지 모르겠고, 내가 그 부품을 찾기만 한다면, 다른 부품들을 찾을 수 있을 것이다 문제 없어 이곳은 매우 복잡하다

넌 다시 완전 초보자처럼 느껴진다 이게 뭐야? G935(갤럭시 S7 엣지의 모델명)? 도무지 모르겠다 이것이 삼성 보드인지도 모르겠고, 시장을 맞게 찾아온 건지도, 맞는 건물인지도 모르겠다 안녕하세요 S10 있나요? -S4요? -S10이요

-아니요 없어요 -알겠어요 감사합니다 이곳의 시장 판매자들은 단지 그들이 판매하는 것에 기반을 둔 것이 아니라 함께 뭉치는 경향이 있다 그것은 나를 매우 혼란스럽게 한다

안녕하세요, S10 있나요? S10, 없나요? 알겠습니다 안녕하세요, S10 있나요? -S10, 메인보드 -없어요 -없어요? 아무도 가지고 있지 않군요 감사합니다 나는 다시 해야한다는 것을 알았다 이 삼성 부품들을 다 찾아보고, 내가 뭘 원하는지 알아야 하며

그리고 내가 이런 걸 하러 가는 곳에 Ifixit에서 만든 분해 가이드가 있다 또한,이 영상에 협찬해 준 것에 대해 감사하고 싶다 너도 알다시피, 내가 직접 협찬한 걸 수도 있고 아닐 수도 지만, 하지만 그들이 내가 이것에 많은 시간을 쓰게 해주었고, 모든 부품을 사는 것을 가능하게 해줘서 기쁘다 좋아, 여기 삼성 갤럭시 S10에 대한 분해 가이드가있다 메인보드가 어떻게 생겼는지 보았고, 케이스를 찾을 때 어떤 걸 봐야하는지 알겠다

자, 이제 모든 초록 기판이 그것을 보고 같은 것인지 알수 있으며, 나는 또한 내가 찾는 기기 번호 를 찾아야 한다 G935는 S7, S10은 G973 G973

어디에서도 안보이네요 여보세요 필요한거 있으신가요? 잘 모르겠으면 전부 조금씩 사보세요 이건 S9인가요? 무슨 말을 하고 있는지 모르겠네요

-찾으시는게 있나요? -아니요 없어요 감사합니다 s10 보드는 없는 것 같고 삼성 메인보드를 판매하는 판매자는 거의 찾기가 어렵습니다 iPhone과 비교하면 재미있는 부분이 많이 있습니다 나는 지하의 지하 부품 시장이라고 불렀다 물리적으로 지하에 있기 때문이고 그리고 여기엔 중고나 암시장에서 물건들이 흘러들어온다

사람들은 전화기를 분해 한 다음 모든 부품을 분리하고, 청소하고, 테스트 한 다음 수리용이나 리퍼비시 제품으로 판매한다 이런 일은 모든 곳에서 일어난다 아가씨들이 바깥 보도에 앉아 내 오래된 아파트 근처에서 굴과 같이 노점애서 판매하는 것에 충격을 받았다 나는 많은 부품들이 제조 과정에서 낭비 될 것이라고 생각한다 제조사의 프로토타입이나 불량 제품 같은 것들 대형 제조사들이 부품들이 이런 곳에 들어간다는 사실에 크게 기뻐할지는 모르겠지만

하지만 솔직히 말해서, 고철을 얻기 위해 그것을 분쇄하는 것보다 훨씬 더 나은 것입니다 이 세상에 이런 곳이 훨씬 더 많아야 합니다 하지만 이 곳의 한가지 문제는, 부품을 사고 싶다면 부품을 사려면 부러진 뼈가 충분히 들어올 때까지 (파손이나 고장으로 부품들이 나올때까지) 기다려야 부품 공급을 할 수 있다 나는 지금 S10을 만드는 것을 포기한다 더 많은 사람들이 전화기를 떨어뜨릴 때까지 기다려야 할것이기 때문이다

나는 대신 S9을 제작할 것이다 안녕하세요, 나는 S9용으로 구하고 싶어요 플러스요? -아뇨 플러스는 필요 없어요 – S9(일반)이요 – 없어요 – 없어요? 플러스만 있군요

S9 보드도 찾기 힘들다 S8은 매우 많다 9용 부품은 없는 거죠? -없어요 -알겠습니다 이건 얼마인가요? 괜찮은건가요? -네 괜찮은 겁니다 -좋네요 -ID등이 필요한가요? -아니요 필요 없습니다 -언락폰(정상해지폰)입니다

알겠어요, 하나 주세요 그래, 그래 이걸로 할게요 위챗페이 (*카카오페이와 비슷합니다) 가능한가요? 네, 음, 성공했네요

S9 대신 S9+를 구했지만, 그래도 괜찮습니다 나는 단지 그것이 작동하고 잠겨있거나 도난신고된게 아니길 바랄 뿐이다 지금 내가 필요한 것은 다른 주요 부품인 배터리, 액정, 케이스입니다 그것들은 찾기 어렵지 않아야 합니다

-안녕하세요 -안녕하세요 S9을 찾고 계신가요? -S9+ 요 -좋네요 위챗페이 가능한가요? -네 -알겠습니다 이 QR코드인거죠? 감사합니다

-안녕하세요 -안녕하세요 이것과 비슷한걸로 S9+용이요 이거 하나에 얼마인가요? -하나요? -네 하나요 25위안 (365달러) (=약 4,300원) 네, 위챗페이로요 안녕하세요 S9+용으로 원하는데요 S9+중에 어떤 색상으로 해드릴까요? -검정? -네 검은색으로 주세요 카메라 프레임도 필요하신가요? 네, 주세요 감사합니다

모든 아이폰 부품들은 독특한 외모를 가지고 있다 삼성 부품은 그렇게 많지 않다 제대로 된 가게도 찾기가 어렵다 안녕하세요 S9+용으로 구하고 있는데요 -삼성? -네 우리는 삼성 부품은 가지고 있지 않아요 우리는 노키아 부품만 팔아요

이제 더 작은 부품을 찾아야 합니다, 카메라, 나사, 그리고 가장 중요한 헤드폰 잭까지 나는 그것에 대해 꽤 흥분된다 안녕하세요 S9+용 있나요? -카메라? -카메라요? 네 2개 해서 얼마인가요? 알겠습니다 -안녕하세요 -안녕하세요 -이거 하나 주세요 개당 16위안 (232달러) (=약 2750원) 입니다

S9용 있나요? S9+요 -검은색이요 -몇개나 필요하세요? – 1개만 필요해요 35위안 (5달러) (약 6000원) 마지막 몇몇 부품을 찾는 것은 항상 힘든 일이다 난 아직도 접착제와 나사 그리고 무선충전 코일을 찾고 있다

– 안녕하세요 나사 있나요? – 삼성폰용 나사요? – 네 삼성용이요 -이게 S9용인가요? -모든 삼성 모델용이에요 알았어, 알았어 이거 하나 주세요 -이거 1팩 필요하신가요? -네 감사합니다 지금까지이 모험을 즐기고 있고, 더 많은 영상을 보고 싶으시다면 아래에 있는 구독 버튼을 누르십시오

오케이 내 생각엔 모두 구했다 이제 진실의 순간이 오는건가? 이제 전부 조립하고 동작하는지 확인해야 한다 여기서 주요 부분을 살펴 보겠습니다 이제 여기에 이미 많은 것들이 이미 장착되어 있습니다 나는 그것이 모두 중고품이라고 생각한다

Ifixit 을 보고 있는데, Ifixit에 있는것 갔지는 않네요 ifixit에 수리 가이드가 있다면 내가 시도해야 하는 것은 부품에 대해 가장 상세하게 설명되어있는 수리 가이드를 찾아야 한다 이게 이 전화기의 액정인가? 메인보드부터 시작해서 아래서부터 차근차근히 올라가 봅시다 부품들이 잘 맞는지 맞춰 봅시다 ifixit에서 써보라고 드라이버를 제공해 주었습니다

한번 봅시다 오 괜찮네요 액정 분리 도구, 집게들, 두 전선을 빼먹었습니다 파란선과 흰색 선이 있습니다 이게 있어야하고 그게 안테나 선이라고 생각합니다 음, 그걸 잊고 있었어

다시 시장으로 돌아갑시다 삼성용 있나요? 삼성이요? 나는 이 전선을 구하고 있어요 2개인데 하나는 흰색이고 하나는 파란색이에요 -잠시만요, 사장님께 물어볼께요 -아, 감사합니다 아 사장님 이런 모양의 삼성용 전선 있나요? -아니요 우리는 삼성용이 없어요 -감사합니다

안녕하세요 이런 전선 있나요? 네 있어요 어떤 모델인가요? S9+요 아 여기있네요 – 얼마인가요? – 2위안 (03달러) (약 350원) 입니다

– 네 감사합니다 좋았어! 작은 두 전선이지만, 꼭 필요합니다 좋아, 케이블을 연결했고, 마지막으로 남은 부분을 조립 후 제대로 동작하는지 확인합시다 진실의 순간 나는 이것이 작동하는지 확인해야 하기 때문에 아직 뒷판을 닫지 않았다

한번 해봅시다 첫번째에 성공했네요 신난다! 그 느낌은 결코 늙지 않는다 나는 이 폰을 써본적이 없다 오랜만에 처음으로 삼성 갤럭시를 사용한다 잠겨 있어? 어-오 카메라 작동 양쪽 카메라 작동 내가 잠긴 메인보드를 샀나? 여기서 문제는 나는 오래 안드로이드를 사용하지 않았다

나는 이것에 대해 어떻게 해야하는지 모르겠다 단순히 공장 초기화하거나 아니면 iCloud 잠금과 같이 활성화 해줘야 하는가? 모르겠다 잠금을 풀때까지 이 전화기를 끄지 않을 겁니다 나는 약간의 인터넷 검색을했고 단지 공장 초기화 하면 되는 것 같다 그게 가능하길 바란다

OK 됐어, 데이터 삭제 / 공장 초기화 시작해 봅시다 좋았어! 잠금을 풀었고 제대로 동작하니, 이제 해야 할 것은 모두를 위해 완전히 조립하는 것 뿐이다 이것이 바로 조립 완료한 삼성 갤럭시 S9+ 입니다 모든게 제대로 작동하는것 같습니다 홍채인식, 지문 인식, 안면 인식 작동, 카메라 작동 내가 알기엔 가게에서 산 S9+와 똑같다

하지만 솔직히 말해서, 내가 직접 본 건 이번이 처음이야 가게를 포함해서 말이야 온라인에서 사진으로 본것처럼 이 영상은 ifixit으로부터 후원받았습니다 처음부터 그들은 내 미친 전화 모험의 파트너였습니다 심지어 그들이 알기도 전에 말이죠

나는 항상 카메라 밖에서 노트북을 꺼내어, 그들의 분해 가이드나 수리 가이드를 전화기를 조립하는데 참고자료로 사용하였다 핵심은 어떻게 하면 전화기를 분해하고 재조립하는지 에 대한 그들의 가이드 중 하나에서 시작하는 것이다 그리고 소문자로 시작하는 이름을 가지고 있음에도 불구하고 말이다 소문자 i로 시작하는 이름을 가지고 있음에도 불구하고, 아이폰보다 더 많은 안드로이드 폰부터, 드론, 텔레비전, 모든 것을 위한 분해/수리 가이드 및 부품 및 공구까지 나는이 프로젝트에서 프로 테크 드라이버 세트를 사용했다

그러나 그들은 프로 테크 도구 키트 를 나에게 보냈습니다 카메라를 수리할 때나, 적절한 툴이 없는 경우에 만약 이 도구 키트를 가지고 싶다면 설명에 있는 링크를 클릭하시거나 영상 끝부분에 설명하도록 하겠습니다 마지막에 몇 가지 생각을 덧붙여 보았습다 아이폰 제작 과정과 비교해보면 어떤가요? 솔직히 말해서, 이것은 iPhone을 만드는 것보다 쉬웠습니다 나는 꽤 놀랐습니다

어쩌면 그것은 단지 내가 경험이 많기 때문일 것이다 그러나 그것은 내가 모르는 것처럼 느꼈다 금속 브라켓 같은 것이 훨씬 적거나, 한종류의 나사만 쓰는것이 놀랍다 중간 프레임의 플라스틱 과 나사들을 그것들은 iPhone이 사용하는 모든 금속 클립을 대신하며 10개 정도보다는 약 3개 정도만 있습니다 애플은 여러개의 금속 클립이 있고 어디에 어떻게 끼워야 하고 어디에 끼우면 안되는지 찾기 힘들며 나는 그것이 처음에 동작한것에 대해 매우 놀랐다

아이폰의 터치 ID 버튼이나 페이스 ID 와 같이 암호로 쌍을 이루는 구성 요소와 관련된 문제는 없었습니다 전부 꽂고, 부품을 끼우고, 몇개의 나사를 조이면 끝입니다 어려운 부분은 사실 부품을 찾는 것이었습니다 시장에 삼성 부품은 훨씬 적었고, 찾기에도 혼란스럽고, iPhone 부품이 매우 구별되는 것을 나는 모릅니다 그리고 내 이론은 적어도 모델 당 더 많은 iPhone이 세상에 있다는 것입니다

마치 삼성보다 더 많은 것들이 세상에 존재하는 것처럼 그러나 나는 약간의 연구를했고, 실제로 그것이 완전 사실은 아니라고 말할 수있다 그래서, 나는 모른다 나는 최소한 더 많은 iPhone 부품이 심천에 있는것 같고, 느끼기는 일반적으로 시장의 50 ~ 75 %가 iPhone 부품이고, 남은 폰, 삼성과 화웨이, 비보 및 오포와 그 나머지 모든 것들이 약 25%~50%를 차지하고 있습니다 그래서 그들은 같은 부품을 판매하는 부스가 훨씬 적습니다 그래서 훨씬 더 많이 사냥해야합니다

iPhone은 중국에서 만들지만 삼성폰은 그렇지 않고, 하지만 당신은 비보 나 오포 폰 부품을 찾을수 있습니다 많은 가게가 있지만 iPhone과 가까운 것은 아닙니다 그래서 잘 모르겠습니다 나는 아직 완전히 이해하지 못하겠다 이번에도 그렇게 끝낼 것인가? Strange Part의 Scottie 였으며 이 영상이 좋으시다면 아래의 구독 버튼을 눌러주세요

다음 영상에서 다시 만납시다

안드로이드 강좌 – 안드로이드 앱 만들기를 처음 시작하는 분을 위한 영상( 안드로이드 스튜디오 기본 사용 방법)

안녕하세요 웹나우테스입니다

이번 영상에서는 안드로이드 스튜디오를 사용하여 앱을 다루는 과정을 간단히 다룹니다 프로젝트를 생성하여 실행하는 방법과 SDK Tools 사용방법을 알아보며 안드로이드 프로젝트 구조와 안드로이드 프로젝트에 포함된 파일들에 대해 알아봅니다 안드로이드 앱을 만들려면 안드로이드 스튜디오를 설치해야 합니다 안드로이드 스튜디오는 안드로이드 앱을 만들기 위한 공식 통합개발환경(IDE)입니다 IntelliJ IDE를 기반으로 하고 있으며 Gradle 빌드 시스템을 사용합니다

Google에서 "android studio"를 검색합니다 검색 결과에서 "Download Android Studio"를 클릭합니다 사용중인 운영체제를 감지하여 해당하는 안드로이드 스튜디오 다운로드 링크를 보여줍니다 "DOWNLOAD ANDROID STUDIO"를 클릭하고 체크 박스를 클릭하여 약관에 동의합니다 이제 다운로드 버튼을 클릭하면 다운로드가 시작됩니다

다운로드 받은 설치파일을 실행하여 안드로이드 스튜디오 설치를 진행합니다 에뮬레이터를 설치하기 위한 패키지인 "Android Virtual Device"를 체크합니다 안드로이드 스튜디오 설치 위치를 변경할 수 있습니다 "Do not import settings"를 선택합니다 잠시 기다리면 설치 위자드가 실행됩니다

"Custom"을 선택하여 진행해보겠습니다 유저 인터페이스(UI) 테마를 선택합니다 안드로이드 에뮬레이터를 사용할거라면 둘다 선택해야 합니다 Android SDK 설치 위치입니다 폴더 아이콘을 클릭하여 설치 위치를 변경할 수 있습니다

SDK 설치 위치는 탐색기에서 숨김 항목을 체크해야 보입니다 Intel HAXM을 선택했다면 에뮬레이터 가속을 위해 사용할 메모리 양을 물어봅니다 디폴트 값을 사용해도 됩니다 설치될 컴포넌트 목록을 보여줍니다 Finish 버튼을 클릭하면 다운로드 및 설치가 진행됩니다

나중에 사용하게 되는 keytool을 위해 PATH를 추가해야 합니다 윈도우키와 R을 누른후 다음 명령을 입력하여 실행합니다 sysdmcpl 고급 탭에서 환경 변수 버튼을 클릭합니다 시스템 변수에서 Path를 선택하고 편집 버튼을 클릭합니다 새로 만들기 버튼을 클릭하고 다음 경로를 입력합니다

C:Program FilesAndroidAndroid Studiojrebin PATH 설정이 잘 되었는지 확인하기 위해 윈도우키와 R을 누르고 cmd를 입력후 엔터를 눌러 실행합니다 명령 프롬프트에서 keytool을 실행해봅니다 문제 없으면 다음과 같은 화면이 보입니다 Configure를 클릭하여 Check for Updates를 선택합니다 지금은 업데이트 할게 없어서 다음처럼 보입니다

안드로이드 스튜디오 버전에 따라서 사용방법에 약간 차이가 있을 수 있기 때문에 업데이트를 꼭 해주는 것이 좋습니다 안드로이드 스튜디오에서 사용하는 SDK 관련 도구를 살펴보겠습니다 Configure에서 SDK Manager를 선택합니다 설정창의 일부로 SDK Manager가 보입니다 상단에 Android SDK 위치가 표시됩니다

SDK Platforms 탭에는 안드로이드를 빌드할때 사용하는 플랫폼 패키지가 버전별로 준비되어 있습니다 오른쪽 아래에 있는 Show Package Details를 체크하면 세부항목들이 보입니다 하나의 버전에는 SDK 플랫폼과 에뮬레이터용 시스템 이미지가 포함되어 있습니다 Google Play 시스템 이미지를 사용하면 에뮬레이터에서 플레이 스토어를 사용할 수 있습니다 설치된 패키지를 선택하면 제거 대상이 되며 설치 안된 패키지를 선택하면 설치 대상이 됩니다 Apply 버튼을 클릭해야 설치와 삭제가 진행됩니다

SDK Tools 탭에는 안드로이드 프로젝트 빌드를 위한 도구, 에뮬레이터, 라이브러리등이 포함되어 있습니다 Android SDK Build-Tools는 안드로이드 앱을 빌드하기 위해 필요한 도구들입니다 Android SDK Platform Tools에는 플랫폼 및 디바이스 작업을 위해 필요한 도구들을 포함하고 있습니다 Android SDK Tools에는 Android Studio를 포함하여 안드로이드 개발 및 디버깅을 위한 도구들이 포함되어 있습니다 안드로이드 에뮬레이터를 사용하려면 다음 두 항목이 필요합니다

메뉴에서 Start a New Android Studio project를 클릭합니다 프로젝트를 열었던 적이 있었다면 메뉴에서 File > New > New Project를 선택하면 됩니다 프로젝트에 추가할 액티비티로 Empty Activity를 선택합니다 Empty Activity는 최소한의 구성요소만 포함된 레이아웃 파일과 자바 코드 파일을 생성합니다 앱 이름을 입력합니다

첫번째 글자는 대문자여야 합니다 입력한 앱 이름이 패키지 이름에 자동으로 입력됩니다 자동으로 입력된 앱 이름 앞에는 원하는이름으로 바꾸어 주면됩니다 한번 입력해 놓으면 다음 번 프로젝트 생성시에도 패키지 이름 앞부분은 그대로 유지됩니다 패키지 네임은 구글 스토어에서 고유 식별자로 사용됩니다

사용할 언어로 자바를 선택했습니다 선택한 최소 API 미만의 운영체제를 사용하는 안드로이드 디바이스에서는 앱이 설치 및 실행이 되지 않습니다 Help me choose를 클릭하면 버전별로 사용되는 안드로이드 디바이스의 비율을 알려둡니다 Use androidx* artifacts가 체크된 상태로 비활성화 되어있습니다

Support 라이브러리 대신에 androidx를 사용하게 됩니다 Support 라이브러리는 지원이 중단될 예정이기 때문에 androidx를 사용할 수 밖에 없어보입니다 임포트하는 패키지 이름이 변경된거 외에는 별차이 없이 프로그래밍이 가능합니다 상태표시줄에 작업 수행중이라는 메시지가 사라질때 까지 대기해야 합니다 처리하는 중에 파일을 수정하면 문제가 될 수 있습니다

다음처럼 레이아웃 파일과 자바 파일이 보일때 까지 대기하면 됩니다 androidx로 시작하는 패키지를 임포트 한 것을 볼 수 있습니다 자바코드는 하나의 액티비티이며 사용할 레이아웃 파일을 지정하고 있습니다 레이아웃 파일에서 Text 탭을 클릭하면 레이아웃 코드가 보입니다 왼쪽에 위치한 프로젝트 창에 폴더와 파일들이 보입니다

안드로이드 프로젝트 구조를 android 뷰와 project 뷰로 볼 수 있습니다 디폴트 뷰는 android 뷰입니다 모듈별 파일 용도 별로 분류되어 있습니다 매니페스트 파일에는 안드로이드 시스템이 앱을 실행하기 위해 필요한 정보를 정의합니다 패키지 이름, 액티비티 관련 설정, 시스템 기능을 사용하기 위해 필요한 퍼미션 선언, 테마 등을 포함합니다

액티비티에 대한 클래스가 정의된 자바 코드 파일입니다 MainActivity 클래스는 디폴트로 앱실행이 시작되는 액티비티입니다 drawable에는 앱에서 사용하는 이미지 파일이 저장됩니다 layout에는 액티비티에서 사용하는 레이아웃을 정의한 XML파일이 저장됩니다 mipmap에는 런처 아이콘으로 사용되는 이미지가 디바이스 해상도별로 저장되어 있습니다

colorsxml에는 앱에서 사용되는 색이 16진수로 정의됩니다 stringsxml에는 앱에서 사용되는 문자열을 정의해놓습니다 styles

xml에는 유저 인터페이스 모습을 위한 속성을 지정해 줄 수 있습니다 Gradle 빌드 시스템에서 앱을 빌드시 사용되는 파일입니다 전체 프로젝트를 위한 파일입니다 프로젝트의 모든 모듈에 적용되는 빌드 구성입니다 프로젝트에 포함되어 있는 app 모듈을 위한 파일입니다

빌드에 사용되는 SDK와 Tools에 대한 버전이 설정되어 있습니다 앱을 배포시 버전관리를 위해 사용됩니다 앱에서 사용하는 라이브러리 패키지 등이 설정되어 있습니다 project 뷰로 변경해봅니다 프로젝트 내에는 디렉토리 계층 구조를 반영하여 모듈별로 파일과 폴더를 보여줍니다

USB 케이블을 사용하여 안드로이드폰을 PC에 연결합니다 오른쪽 아래에 보이는 Device File Explorer를 클릭합니다 안드로이드폰에서 USB 디버깅이 활성화 안되어 있다면 연결된 디바이스가 없다고 나옵니다 설정에서 휴대폰 정보를 선택합니다 제조사에 따라 위치가 다를 수 있습니다

소프트웨어 정보를 선택합니다 빌드 번호를 계속 터치하면 "개발자가 되셨습니다"라는 메시지가 보입니다 설정 메뉴에 개발자 옵션이 추가됩니다 사용이 활성화 된걸 확인하고 USB 디버깅을 허용합니다 이제 안드로이드폰이 안드로이드 스튜디오에서 인식됩니다

안드로이드 스튜디오에서 안드로이드 폰이 인식되었는데 오프라인이라고 보이는 경우에는 폰을 다시 연결하여 다음처럼 메시지 창이 보이면 USB 디버깅을 허용해줘야 합니다 "이 컴퓨터에 항상 허용"을 체크하면 다음 연결에 또 물어보지 않습니다 이제 안드로이드폰의 디렉토리와 파일이 보입니다 연결이 잘 안될때에는 안드로이드폰에서 USB 연결을 MTP 또는 PTP로 변경해보세요 예전엔 PTP로만 변경하면 잘 동작했는데 가끔 MTP로 바꿔야 인식이 잘되는 경우가 있습니다

앱을 안드로이드폰에서 실행할 준비가 완료되었습니다 메뉴에서 View >Toolbar를 선택합니다 그러면 툴바가 왼쪽으로 이동하면서 안보이던 아이콘이 몇개 더 보입니다 실행 아이콘을 클릭하여 앱을 안드로이드 폰에서 실행해봅니다 연결된 디바이스와 사용가능한 가상 디바이스를 보여줍니다

안드로이드 폰에서 실행해보겠습니다 빌드 과정을 빠르게 하려면 Instant Run을 설치해주는게 좋습니다 Instant Run을 위해 필요한 패키지를 설치해야 합니다 앱 빌드를 위한 작업이 먼저 실행되고 완료되면 앱이 안드로이드폰에 설치됩니다 설치완료 후, 안드로이드폰에서 앱이 실행됩니다

안드로이드 스튜디오를 사용하여 앱을 생성하고 실행하는 방법을 알아보았습니다 지금까지 웹나우테스였습니다 감사합니다 : )

Suunto app – How to pair your watch with Suunto app for Android

Suunto 응용 프로그램은 Suunto 시계에 대한 경험을 풍부하게합니다 일상 활동, 운동 및 수면을 기록합니다

또한 Suunto 3 Fitness 용 GPS를 연결할 수 있습니다 Suunto 앱과 시계를 페어링하기 만하면됩니다 방법을 알려 드리겠습니다 필요할 것이예요: 당신 Suunto 시계 Suunto 앱이 설치된 전화 이것은 쉽습니다

시계를 깨우는 것으로 시작하십시오 설정 디스플레이로 스크롤하십시오 연결성을 선택하십시오 비행기 모드는 꺼야합니다 발견 모드가 활성화됩니다

그런 다음 휴대 전화의 블루투스를 활성화하십시오 위치 서비스가 사용 가능한지 확인하십시오 Suunto 앱을 엽니 다 아직 가지고 있지 않니? Google Play 스토어에서 찾을 수 있습니다 가입 또는 로그인하십시오

Suunto app은 GPS를 Suunto 3 Fitness에 제공합니다 앱에서 운동을위한 GPS 트랙을 만듭니다 작동 시키려면, Suunto 앱이 휴대 전화 위치에 액세스 할 수있게 허용하십시오 이제 시계를 연결하려면, 시계 아이콘을 탭합니다 Suunto 앱이 시계를 찾길 기다립니다

이제 페어 버튼을 누르십시오 Watch는 Suunto 앱을 만나고, Suunto 앱은 Watch를 만나보세요 시계에 패스 키가 표시됩니다 그것을 입력하고 쌍을 누릅니다 큰! 이제 시계가 페어링됩니다

우리는 당신을 위해 약간의 것을 준비했습니다 시계 기능에 대해 자세히 알아보기 Suunto 앱과 함께 사용하는 방법에 대해 설명합니다 "예"를 탭하면 Suunto 앱이 항상 시계에 연결되어 있고 알림 및 동기화 활동을 할 수 있습니다 다음 단계로서 Suunto 앱이 모바일 알림을 가져올 수 있도록 허용 메시지 또는 시계 수신 전화와 같은 메시지 '허용'을 탭하기 만하면 언제 어디에서나 최신 정보를 얻을 수 있습니다 '허용'을 탭하면 전화 통화를 관리하고 시계에서 발신자 정보를 볼 수 있습니다

완전한 Suunto 앱과 시계로 재미있게 탐험 해보십시오

Android Q Beta 5 is Out! – What's New?

안녕하세요 ZolloTech와 오늘은 Android Q 베타 5를위한 Aaron이 출시되었습니다

지원되는 모든 기기를 지원하므로 베타가 지원되는 모든 기기에서 사용할 수 있습니다 4 및 왼쪽에 목록을 남겨 두겠습니다 이제 첫 번째 변경 사항은 실제 휴대폰을위한 부팅 시퀀스는 새로운 어두운 테마를 가지고 있습니다 Google이라는 단어가 있지만 배경은 완전히 검은 색입니다 G를 얻은 다음 안드로이드로 구동되므로 멋진 부팅이 가능합니다

빠르고 첫 번째 변경은 매우 미묘하지만 실제 줄 두께는 여기 자물쇠가 조금 더 얇은 것 같아 부부도있어 제스처 표시는 여기 아래로 우리는 제스처에 대해 더 자세히 이야기 할 것입니다 알림 창에 들어가면 지금 전화 잠금을 해제하십시오 새로운 억양 색상과의 일관성을 확인하면 파란색을 얻게됩니다

강조 색상을 선택하면 실제로 모바일 데이터 아래에 표시됩니다 악센트를 붙여서 모든 것이이 멋진 파란색 악센트 색을 가지고 있고 볼 수 있습니다 배터리 절약 기능이 모두 포함되어 있기 때문에 UI 전체에서 일관성이 있습니다 여기서 볼 수 있듯이 빌드 번호가 있으며이 빌드는 qpp 51입니다

9:05 3 0014 픽셀 3 XL에 있습니다 이제이 장치의 현재 빌드 번호입니다 다음은 알림 서랍에 다른 유형이 있습니다 알림을 보내면 여기에 오래된 해군 차량이 있고 알림이 사라집니다

이중 섹션이 있으며 이는 디지털 건강 및 웰빙입니다 그래서 디스플레이를 끄면 다시 켜십시오 알림이 잠금 화면에 있습니다 여기에서 조치를 취하거나 잠금을 해제 할 수 있습니다 내 용도에 따라별로 중요하지 않은 것들은 침묵 할 것입니다

알림을 보내면 여기에 침묵하는 알림이 있습니다 그냥 우리가 침묵 통보를보고 슬쩍 할 수있는 새로운 무언가가 유용하거나 그렇지 않은 경우 Google은 Android 기반의 on을 사용하여이를 조정합니다 그건 중요한 변화 중 하나입니다 또한 집에 약간의 변화가 있습니다 여기에있는 화면은 폴더 중 하나를 탭하면 실제로는 볼 수 있습니다

폴더 자체에 실제 색조가 조금 더 가볍다 그래서 그곳에는 아무런 큰 변화가 없지만 제스처가있는 한 우리가 제스처를 좋아하지 않는다면 제스처를 해제 할 수 있습니다 이 베타 버전에서 특히 좋아합니다 여기 설정을 클릭하면 조정할 수있는 위치가 표시됩니다 하단에 가서 시스템으로 이동 한 다음 제스처를하면 앱이 그것을 켜거나 끌 수있는 능력은 당신이 제스처 탐색 기능이 마음에 들지 않으므로 버튼 2 개 또는 3 개로 전환 할 수 있습니다

버튼을 사용하여 계속 사용할 수 있지만이 새로운 동작으로 애니메이션은 여러분이 우리가 보게 될이 새로운 제스처 애니메이션으로 집으로 돌아갑니다 모퉁이에 몇 가지 작은 점수가 있고 그것들은 우리가 할 수있는 것을 의미합니다 어느 한쪽 구석에서 스 와이프하여 Google 어시스턴트를 열면 열립니다 조금 더 새로운 동작이 조금 더 장난스럽게 보입니다 그래서 내가 열면 이 응용 프로그램을 누른 다음 멀리 던져 버리면 거기에 약간의 버그가있을 수 있습니다

여기저기서 내가이 애플 리케이션에 들어가면 멀리 던져 버린다 아래로 아이콘으로 위로 그리고 아래로 아이콘으로 그것 친절하고 종류의 장난 스럽군요 만약 내가 픽셀 중 하나에 장치를 짜내면 약간의 변화가 있습니다 전화를 너무 쥐어 짜는 경우 조금씩 말하면 짜내라고 말합니다 우리는 너를 다시 보게 될거야

더 짜내 야 조금 다르다 그런 다음 말하기 위해 짜내라고 말한다 좋은 그리고 그것이 필요하다는 것을 나는 모른다 그러나 만일 당신이 가면 지금 거기에있다

말하자면 앱 스토어에 새로운 작은 엿보기 또는 슬라이드가 있습니다 잠깐 여기에 손가락을 대고 조금만 들여다 볼 수있다 여기 서랍 서랍을 열면 완전히 몸짓으로 보일 수 있지만 그냥 이렇게 움직일 수는 없어 너는 들어가야 만하는 뒤 운동이야 여기 손가락을 치면 그곳에서 일종의 엿봄 움직임이 생깁니다

측면에서 설정을 들여다 보면 멋집니다 뭔가 조금 새로운 것이고 또 다른 일이 생길 때가 있습니다 이전에 고정을 사용했다면 화면 고정으로 다시 고정 할 수 있지만 거기에서 빠져 나갈 제스처가 있습니다 그래서 여기에서 꼭대기에서 탭하면 핀에 가야합니다 화면에 고정 된 상태로 표시됩니다

고정 해제 할 때까지보기에 계속 표시됩니다 스 와이프하여 핀을 잡아 당겨서 스 와이프하여 휴대 전화가 실제로 느껴지도록합니다 약간의 햅틱 피드백과 그 다음 우리는 그것을 쓸어 낼 수있다 그래서 우리가 그 작은 동작을하지 않으면 우리는 여기에 우리가 다시 핀으로 우리가 스 와이프하면 우리는 단지 스크롤 할 것이지만 우리가 손가락을 잡고 있다면 그것을 빠져 나올 수는 없습니다 여기에 다시 햅틱 피드백을 느낄 것입니다 그리고 나서 우리는 밖으로 나가서 일종의 멋지다 당신은 그것을 끄거나 켜 놓을 수있다

우리가 여기서 오른쪽으로 미끄러 져 넘어갈 수있는 통보로 가자 기본적으로 꺼져있는 알림을 음소거하는 아이콘 이제 앱 설정으로 이동하여 다시 활성화 할 수 있습니다 알림을 보내면 Hennis가 아래로 스크롤합니다 고급 기능으로 변경되었습니다 이제 알림이 일시 중지 될 수 있습니다

여기에 우리가 통보로 돌아가서 우리가 능력이 있어야합니다 아마 들어가기까지 1 분 정도 걸릴 것입니다 그 알림을 다시 울릴 수있는 능력을 가져야합니다 할 수 있기 전에 하단의 앱 제안을 사용 중지 할 수도 있습니다 이전 베타 버전에서 그렇게하면 원하지 않으면 다시 사용할 수 없게됩니다

그렇게하면 우리가 여기에 들어갈 수 없게하고 싶다면 우리 집 밑에 보일거야 우리가 제안에 가서 어떤 이유로 빛 테마로 간다면 설정 우리는 앱을 제안 할 수 없도록 설정할 수 있습니다 그 (것)들을 유지하는 것을 선호하는 그들을 건의하지 않을 것이다 그러나 저것은 조금 인 무언가이다 조금 새로운 기능이 있습니다이 기능의 이전 버전에서 반환 된 기능이 있습니다

이제 Instagram과 같은 앱에 어두운 테마를 적용 할 수있는 베타 버전 그게 기본적으로 없어 그래서 그렇게하기 위해서는 당신이 필요가 어둠의 테마는 이미 안드로이드 q 베타에서 활성화 된 다음 귀하의 설정을 유지해야하며 개발자 설정이 켜져 있는지 확인해야합니다 당신은 시스템에 가서 고급 개발자 옵션으로 간다 그러면 개발자가 될 것이다 아래로 스크롤하면 찾으러 가는데 조금 걸릴거야 그리고 너는 찾고있어

하드웨어 가속 렌더링이라는 섹션은 우리가 그것을 켜고 나서 집으로 돌아가서 열면 힘이 어두워집니다 Instagram과 같은 것입니다 그리고 우리는 여기 내 게시물 중 하나에 있습니다 어두운 테마가있어서 정말 멋져 보인다 멋진 어두운 테마가있다 아직 가지고 있지 않은 앱이라면 무시할 수 있습니다

Instagram과 같은 어두운 모드 또는 이미 다른 트위터로 이미 어둡기 때문에 특별히 작동하지 않을 것입니다 실제로 그 것입니다 이 모든 특정 업데이트 스크롤에서는 모든 것이 실제로 상당히 빠릅니다 슈퍼 매끄러운 개폐 애플 리케이션은 매끄럽고 매끄럽고 작동하는 것 같습니다 나를 위해 베타 4에서했던 것보다 베타 5에서 훨씬 더 나아졌습니다

다음 동영상에 어떤 모습인지 알고 있지만 내 생각에는 아래 코멘트는 당연히 내가 항상하는 것처럼 내가이 벽지를 링크 할 것이고 만일 당신이 아직 가입하지 않았 으면 알림 벨을 친다 다음 번에 출시 될 예정인 순간에이 동영상을보고 싶다면 당신은이 비디오를 즐겼습니다 항상 이것을 보아 주셔서 감사합니다 애런입니다 다음에 또 봐요