개인 재정 프로그래밍 : 새로운 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 프로젝트를 시작할 때 인형 클래스

편집자의 선택

Photoshop Elements 11 - Stone

Photoshop Elements 11 - Stone

을 사용하여 Stone Out을 조각하는 방법 Photoshop Elements 11의 도구를 입력하여 텍스트와 같은 모양의 선택 영역을 만든 다음 이미지 자체를 해당 유형의 채우기로 사용합니다. 예를 들어 꽃 테마 웹 페이지를 만드는 경우 꽃 그림을 텍스트 채우기로 사용할 수 있습니다. 유형 선택을 사용하면 모든 부분을 잘라낼 수 있습니다.

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

여러 파일에 공통적으로 적용 할 편집 기능을 사용하면 Photoshop Elements에서 이러한 변경 사항을 일괄 적으로 처리 할 수 ​​있습니다. 단일 메뉴 명령을 사용하여 파일 형식을 변경하고 파일 속성을 변경하고 공통 파일 기본 이름을 추가 할 수 있습니다. 파일 이름 바꾸기는 내보내기 명령의 일부일 수도 있고 사용할 수도 있습니다.

편집자의 선택

승마 2012 런던 하계 올림픽 - 인형

승마 2012 런던 하계 올림픽 - 인형

승마 (말의 화려한 이름) 경쟁 런던 2012 하계 올림픽은 조련사, 이벤트 및 점프의 세 가지 분야로 구성됩니다. 각 분야는 팀과 개인 메달을위한 기회를 제공합니다. 대회는 7 월 28 일부터 31 일까지 개최됩니다. 조련사 경연 대회는 8 월 2 일부터 9 일까지 개최됩니다. 점프 대회는 ...

동계 올림픽에서의 자유형 스키 - 인형

동계 올림픽에서의 자유형 스키 - 인형

프리 스타일 스키는 동계 올림픽의 X 게임 이벤트 중 하나입니다. . 자유형 스키에서는 경쟁자가 언덕 꼭대기에서 바닥까지 다양한 행사를 수행합니다. 프리 스타일 스키는 기술 스키의 가장 중요한 부분을 차지하며 스노우 보드에서 트릭을 만들어내는 기술과 결합되어 있습니다.

필드 2012 런던 하계 올림픽의 이벤트 - 인형

필드 2012 런던 하계 올림픽의 이벤트 - 인형

스프린트, 릴레이 및 도로 경주 이외에도 2012 런던 하계 올림픽 육상 경기에는 점프 및 던지기 경기가 포함됩니다. 남자와 여자는 높은 점프, 긴 점프, 트리플 점프, 장대 높이뛰기 등의 4 가지 점프 이벤트와 총구, 원반, 창 던지기 및 망치와 같은 네 가지 투구 이벤트에서 경쟁합니다. 필드 이벤트 ...

편집자의 선택

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

엑셀 2016의 액션. Range 객체는 수십 개의 메소드를 가지고 있지만, 이들 중 대부분은 필요하지 않습니다. 여기서는 가장 일반적으로 사용되는 Range 객체 메소드를 찾습니다. Select 메서드 Select 메서드를 사용하여 셀 범위를 선택합니다. 다음 문은 ...

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자는 목표 탐색 데이터 탭의 가정 분석 섹션에 데이터 테이블이 있습니다. 다른 유용한 도구와 함께 그룹화하면 시나리오 관리자가 중요한 도구임을 믿게 될 것입니다. 그러나 유용한 이름과 좋은 회사가 있음에도 불구하고 ...

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

Power Query를 함께 사용하면 관리 및 유지 보수가 쉬운보고 모델을 만들 수 있습니다. 보고 모델은보고 메커니즘이 구축되는 기초를 제공합니다. 데이터를 가져오고, 변환하고, 모양을 만들고, 집계하는보고 프로세스를 작성하면 본질적으로보고 모델을 구축하게됩니다. 잘못 작성하는 중 ...