개인 재정 프로그래밍 : 새로운 Java 프로젝트를 시작할 때 인형 클래스

프로그래밍 : 새로운 Java 프로젝트를 시작할 때 인형 클래스

차례:

비디오: GOTO 2016 • Exploring RxJava 2 for Android • Jake Wharton 2024

비디오: GOTO 2016 • Exploring RxJava 2 for Android • Jake Wharton 2024
Anonim

새로운 Java 프로젝트를 시작하면 Android Studio는 프로젝트에 대한 활동을 생성합니다. Android Studio는 기본 활동, 빈 활동, 로그인 활동 등과 같은 여러 종류의 활동을 제공합니다. 빈 활동을 요청하면 다음 코드를 받게됩니다:

package com. 알리 코드. a10_11;

android. 지원하다. v7. 앱. AppCompatActivity;

android. OS. 묶음;

public class MainActivity는 AppCompatActivity를 확장합니다.

@Override

protected void onCreate (Bundle savedInstanceState) {

super. onCreate (savedInstanceState);

setContentView (레이아웃. 활동 _ 메인);

}

}

코드는 MainActivity 라는 클래스를 선언합니다. 이 이름은 MainActivity 는 Android API 라이브러리에 포함되어 있지 않습니다. 새로운 Android 프로젝트를 만들 때 만들어주는 이름입니다. (실제로는 Android Studio가 이름을 구성합니다. 새 프로젝트를 만드는 단계를 수행 할 때 이름을 수락하거나 다른 이름으로 변경합니다.)

MainActivity 클래스는 안드로이드 SDK 라이브러리, 즉 AppCompatActivity 클래스. 즉, MainActivity 객체 는 AppCompatActivity 객체입니다. MainActivity 객체는 AppCompatActivity 인스턴스에있는 모든 권리와 책임을 가지고 있습니다. 예를 들어 MainActivity 에는 onCreate 메서드가 있으며이 메서드는 재정의합니다. 클래스는 Android의

AppCompatActivity 클래스에서 약 460 줄의 코드를 상속합니다.이 클래스는 Android의 클래스에서 약 1,000 라인을 상속합니다. FragmentActivity 클래스는 Android 클래스의 Activity 클래스에서 약 6,700 라인을 상속합니다. 상속 된 메소드에는 getCallingActivity , getCallingPackage , getParent , getTitle , getTitleColor , onKeyLongPress , onLowMemory , onMenuItemSelected , setTitle <, setTitleColor , startActivity , 완료 및 기타 여러 가지가 있습니다. 이 모든 기능은 두 가지 간단한 단어로 상속받습니다: extend AppCompatActivity . 가족 관계의 용어로, MainActivity 클래스는 Android의 활동 클래스의 자손입니다. MainActivity 클래스는 일종의 활동 입니다. Android의 온라인 문서에서 직접 가져온이 이미지는 AppCompatActivity

클래스에 대한이 정보를 요약합니다. AppCompatActivity 패밀리 트리. Android의 API 라이브러리 설명서에 쉽게 액세스 할 수 있도록 페이지를 북마크에 추가합니다. AppCompatActivity 클래스는 서브 클래스 일뿐만 아니라 AppCompatCallback 인터페이스, TaskStackBuilder 인터페이스 및 기타 인터페이스를 포함하여 많은 인터페이스를 구현합니다. 이것들을 기억할 필요는 없습니다. 당신이 그것을 알아야 할 필요가 있다면, 당신은 안드로이드의 문서 페이지에서 그것을 찾을 수 있습니다.

Java의 슈퍼 키워드, revisited super

라는 단어는 수퍼 클래스의 생성자를 의미합니다. 다른 코드는

수퍼

키워드를 다른 방식으로 사용했습니다. 예, super 는 항상 클래스의 부모 클래스와 관련이 있습니다. 하지만, super 는 항상 부모 클래스의 생성자를 참조하지 않습니다. onCreate 메서드에서

super 호출. onCreate (savedInstanceState)

savedInstanceState 를 부모 클래스의 onCreate 메소드에 보냅니다. 부모 클래스는 AppCompatActivity 클래스입니다. 그래서 Java는 AppCompatActivit y 클래스의

onCreate 메소드를 호출합니다. AppCompatActivity 클래스의 onCreat 메소드에는 super에 대한 자체 호출이 포함되어 있습니다. onCreate (savedInstanceState) . AppCompatActivity 클래스의 부모는 FragmentActivity 클래스입니다. 따라서 Java는 FragmentActivity 클래스의 onCreate

메소드에 savedInstanceState 를 전달합니다. 등등. Activity 클래스 - M ainActivity 클래스의 증조모 -가 코드에서 savedInstanceState 변수를 직접 사용한다는 것은 아닙니다. 이 savedInstanceState 정보에서 코드는 시스템이 정보를 파괴하기 전의 상태로 되돌립니다. 다시 캐스팅, findViewById 를 호출하면 Java는 어떤 종류의 뷰를 찾을 수 있는지 알지 못합니다. findViewById

메서드는 항상 View 인스턴스를 반환하지만 많은 Android 클래스가 View 클래스를 확장합니다. 예를 들어, Button , TextView ,

ImageView

, CheckBox , 크로노 미터 모두 Android의 보기 클래스를 확장합니다. 다음 코드를 입력하면 // Do not do this this! ! TextView textView; textView = findViewById (텍스트 ID보기); findViewById 호출에 의해 반환 된 객체가 TextView 클래스의 인스턴스를 참조한다고 가정하면 감히 상상을 초월합니다. "(실제로 Java는 Android Studio의 편집기에서 호환되지 않는 유형 오류 메시지를 조용하고 기계적으로 표시합니다.) Narrowing long 값을 > int 값.

long

값은 64 비트이고

int

값은 32 비트 만 있습니다. 그래서 좁히기위한 시도는 실패합니다. 여기에있는 코드에서 findViewById 호출이 잘못되면 TextView 변수에 대한 메서드 호출에 의해 반환 된 View 값을 할당하는 다른 시도가 있습니다. TextView

클래스는 View 클래스의 하위 클래스이므로 할당이 비참하게 실패합니다. 캐스팅 연산자를 코드에 추가하여 Java 신을 달래줍니다. findViewById 메소드 호출에서 나오는 팝업을 TextView 객체로 변환하도록 Java에 지시합니다. textView = (TextView) findViewById (R. id. textView1); 코드를 입력하는 동안 자바는 당신을 유머러스하게 말합니다. "주조 운영자는 TextView 와 이전 View 사이의 차이점을 알고 있음을 보여줍니다.. 나는 런타임에 TextView 객체로 찾은 View 객체를 해석하기 위해 최선을 다할 것입니다. "실제로 코드를 입력하는 동안 Java는 아무 것도 말하지 않습니다.이 캐스팅 트릭을 사용할 때 자바가 오류 메시지를 표시하지 않는다는 사실은 좋은 신호입니다. Java의 캐스팅 기능으로 하루를 절약 할 수 있습니다!)

캐스팅 코드를 개발하는 동안 오류 메시지가 표시되지 않도록합니다. 이러한 방식으로, 캐스팅은 Java의 유용한 기능입니다. 그러나 코드에 런타임 오류가 포함되어 있으면 캐스팅으로 인해 사용자를 저장할 수 없습니다. textView = (TextView)를 입력하면 findViewById (R. id. textView1); 이름이 textView

TextView 위젯임을 나타냅니다. 앱이 실행되면 Java가 R을 포착합니다. 신분증.

activity_main의 textView 위젯. xml 파일을 사용하면 모든 것이 잘 동작합니다. 그러나 때때로 R을 확인하는 것을 잊을 수도 있습니다. java 이름을 XML 파일의 구성 요소와 비교합니다. findViewById 호출은 놀랍게도 TextView 위젯을 예상하도록 Java에 알려주면

Button

구성 요소를 뱉어냅니다. 이 경우 캐스팅 운영자의 자바 초크와 앱 실행 중 충돌이 발생합니다. 드로잉 보드로 돌아 가기!

프로그래밍 : 새로운 Java 프로젝트를 시작할 때 인형 클래스

편집자의 선택

플립 비디오 인형 치트 시트 - 인형

플립 비디오 인형 치트 시트 - 인형

플립 비디오 캠코더는 가장 사용하기 쉬운 캠코더입니다. 세계. 플립 비디오를 사용하면 비디오를 가리키고 촬영 한 다음 컴퓨터로 비디오를 복사 할 수 있습니다. 몇 번의 클릭 후, 당신은 Facebook, MySpace 및 YouTube에서 귀하의 작품을 과시하고 있습니다. Flip의 버튼을 해독함으로써 비디오를 고통없이 촬영하는 방법을 찾으십시오. 알아보기 ...

귀하의 디지털 필름에 대한 개인 상영 - 인형

귀하의 디지털 필름에 대한 개인 상영 - 인형

오늘, DSLR 필름 심사. HD가 장착 된 정교한 대형 스크린 TV는 여러 스피커의 서라운드 사운드 스테레오와 함께 아주 좋은 간식을 제공합니다. 따라서 영화 밤을 장소에서 쉽게 주최 할 수 있으며 영화관에 갈 수도 있습니다. ...

디지털 영화에 정적 제목을 추가하는 방법 - 인형

디지털 영화에 정적 제목을 추가하는 방법 - 인형

초연 요소는 다양한 선택을 제공합니다 DSLR 영화의 타이틀 선택 항목, 하위 3 분의 1 로케이터 정보. 로케이터 정보는 뉴스 세그먼트 및 다큐멘터리에서 장면의 사람이나 장소를 설명하는 데 사용되는 ID와 같습니다. 사람의 경우 이름과 설명이라는 두 줄로 구성됩니다. 예를 들어, Charles Dickens / Writer, ...

편집자의 선택

관계 속의 분노를 다루는 - 인형

관계 속의 분노를 다루는 - 인형

우리 모두는 때때로 파트너들과 화를 낸다. 분노가 당신과 당신의 관계에 미치는 파괴적인 영향을 최소화하는 데 도움이되는 다음 요령을 시도하십시오. 당신이 분노의 징후를 처음 알기 시작할 때, 당신의 파트너에게 무슨 일이 일어나는지 물어보십시오. 화가 난 사람을 상처 입히려 고합니다.

자폐증 진단의 영향 - 인형

자폐증 진단의 영향 - 인형

자폐아를 찾는 것이 매우 어렵습니다. 앞으로의 길은 쉬울 것이라고 아무도 말할 수 없습니다. 자녀의 생년월일과 본인의 생년월일에 관한 스크립트를 다시 작성해야 할 수도 있습니다. 당신은 지금 다루어야 할 새로운 쟁점, 압박 및 결정들을 가지고 있습니다. 그리고 주변 사람들은 ...

당신이 종속인지 결정하기 - 인형

당신이 종속인지 결정하기 - 인형

다음 증상 목록에서 확인하십시오. 당신은 모두가 공손 할 필요는 없으며, 코펜던트의 심각성 정도가 있습니다. 치료를하지 않으면 시간이 지남에 따라 코드 종속성이 악화되지만 도움을 받아 복구 할 수 있고 작업에서 훨씬 더 효과적 일 수 있습니다 ...

편집자의 선택

짧은 명상 묵상 시도 - 인형

짧은 명상 묵상 시도 - 인형

당신의 마음을 집중할 수있는 능력은 마음 챙김 명상을 통해 가장 강력하게 개발됩니다. Mindfulness 명상 중 하나는 호흡의 mindfulness입니다. 이것은 숨을 의식적으로 인식하는 것입니다. 명상을 스스로 시도하려면 다음 단계를 따르십시오. 자신의 호흡 감을 알아야합니다. 변경할 필요가 없습니다 ...

마음가짐의 세 측면 - 인형

마음가짐의 세 측면 - 인형

마음가짐은 세 가지 측면으로 주의 깊은 인식. 이 목록을 인쇄하여 핀이 무엇인지 생각 나게하십시오. 의도 - 당신의 의도는 당신이 마음가짐을 연습함으로써 얻고 자하는 것입니다. 스트레스를 줄이고 감정적 인 균형을 유지하거나 발견 할 수 있습니다.

다른 명상을 시도하십시오 - 인형

다른 명상을 시도하십시오 - 인형

명상 확장이라는 인식은 명상 확장의 중심에 있습니다. Mindfulness 명상 연습. 앉는 자리는 수천 년 동안 명상을 위해 그리고 정당한 이유로 사용되었습니다. 어떻게 평소에 앉아 있니? 당신이 대부분의 사람들과 비슷하다면, 아마 의자 나 소파 뒤에 기대어집니다. 네가 괜찮다면 ...