차례:
- 소문자가있는 곳에 대문자 입력
- 예를 들어, roll의 값이 7이면 다음 코드는 win, continue 및 lose라는 세 단어를 모두 인쇄합니다.
- public class MainActivity extends Activity
- Temperature를 호출 할 수 없습니다. roomTemp = new Temperature ();
- 기본 메시지는 정적이지만 인사말은 정적이 아니기 때문에 오류 메시지가 나타납니다.
- 손님 [0], 손님 [1] 등을 손님 [9]까지 작성하여 손님 배열의 구성 요소를 참조 할 수 있습니다. 게스트 배열에는 인덱스 10이있는 구성 요소가 없으므로 게스트 [10]를 작성할 수 없습니다.
- 기밀
- 앱의 두 번째 활동을 만드는 경우 앱의 AndroidManifest에 새 요소를 추가해야합니다.XML 파일. 예를 들어 Android 앱은 MainActivity와 MyListActivity의 두 가지 활동을 수행 할 수 있습니다.
- 그리고 그것은 모든 차이를 만듭니다.
비디오: 아이디어 하나만으로 '2천억원'의 가치가 된 회사 + 무슨 아이디어길래?! 2024
Java로 Android 앱을 프로그래밍 할 때 실수를 피하기위한 10 가지 간단한 알림이 있습니다. 암호. 이 체크리스트를 실행할 때 자신의 Java 프로그램을 작성하는 것이 훨씬 쉽고 부드럽게 처리됩니다.
소문자가있는 곳에 대문자 입력
Java는 대소 문자를 구별하는 언어이므로 모든 다른 문자와 함께 P 및 Q 알파벳의 다음은 Java 프로그램을 작성할 때 명심해야 할 몇 가지 개념입니다.
-
자바의 키워드는 모두 소문자입니다. 예를 들어, Java if 문에서 if if 또는 IF는 if 가 될 수 없습니다.
-
Java Application Programming Interface (API)에서 이름을 사용할 때 이름의 대소 문자는 API에 표시된 것과 일치해야합니다.
-
또한 자신이 작성한 이름이 전체 프로그램에서 똑같은 방식으로 대문자가되는지 확인해야합니다. myAccount 변수를 선언하면이를 MyAccount, myaccount 또는 Myaccount로 참조 할 수 없습니다. 변수 이름을 두 가지 다른 방법으로 대문자로 사용한다면 Java는 완전히 다른 두 변수를 참조한다고 생각합니다.
예를 들어, roll의 값이 7이면 다음 코드는 win, continue 및 lose라는 세 단어를 모두 인쇄합니다.
switch (roll) {case 7: System. 아웃. println ("win"); 사례 10: 시스템. 아웃. println ("계속"); 케이스 12: 시스템. 아웃. println ("lose");}
이중 등호 기호와 값 비교
if (inputNumber == randomNumber)
줄은 맞지만 if (inputNumber = randomNumber)
줄은 올바르지 않습니다.
리스너를 추가하여 이벤트 처리
사용자가 위젯을 클릭하는 시점, 애니메이션이 끝나는 시점 또는 다른 일이 발생하면 리스너를 생성 할 수 있습니다.
public class MainActivity extends Activity
implements 리스너를 만들 때 반드시 리스너를 설정해야합니다.
ImageView widget = (애니메이션 애니메이션) {…} public void onAnimationEnd (Animation animation) {…} 새로운 ImageView (this); 위젯. setOnClickListener
(this); … AlphaAnimation 애니메이션 = 새로운 AlphaAnimation (0. 0F, 1.0F); 생기.
setAnimationListener (this); … setOnClickListener 호출을 잊어 버리면 위젯을 클릭해도 아무 일도 일어나지 않습니다. 위젯을 두 번 더 클릭하면 도움이되지 않습니다. 필요한 생성자를 정의하십시오.
public Temperature (double number)
와 같이 매개 변수로 생성자를 정의하면 더 이상 기본 매개 변수없는 생성자가 생성되지 않습니다. 즉, 더 이상Temperature를 호출 할 수 없습니다. roomTemp = new Temperature ();
는 매개 변수없는 Temperature 생성자를 명시 적으로 정의하지 않는 한.
비 정적 참조 수정
다음 코드를 컴파일하려고하면 오류 메시지가 나타납니다.
class WillNotWork {String greeting = "Hello"; public static void main (String args []) {System. 아웃. println (greeting);}}
기본 메시지는 정적이지만 인사말은 정적이 아니기 때문에 오류 메시지가 나타납니다.
배열 범위 내에서 유지열 개의 구성 요소가있는 배열을 선언하면 구성 요소의 인덱스는 0에서 9 사이입니다. 즉,
int guests [] = 새로운 int [10];
손님 [0], 손님 [1] 등을 손님 [9]까지 작성하여 손님 배열의 구성 요소를 참조 할 수 있습니다. 게스트 배열에는 인덱스 10이있는 구성 요소가 없으므로 게스트 [10]를 작성할 수 없습니다.
null 포인터 예측
이 예제는 NullPointerException을 던지는 경향이 없지만 실제 Java 프로그래밍에서는 그 예외를 항상보십시오. NullPointerException은 "합법적 인"값이없는 표현식에서 메소드를 호출 할 때 발생합니다. 다음은 값싼 예제입니다.public class ThrowNullPointerException {public static void main (String [] args) {String myString = null; {static (int)}) {System (int)}; 아웃. println (aString);}}}
표시 메소드는 해당 문자열에
기밀
이라는 단어가없는 경우에만 문자열을 인쇄합니다. 문제는 myString 변수 (및 aString 매개 변수)가 빈 문자열 (")이 아닌 모든 종류의 문자열을 참조하지 않는다는 것입니다.
컴퓨터가 aString을 호출 할 때. contains, 컴퓨터는 null에 속하는 contains 메소드를 찾습니다. 그러나 null은 아무것도 아닙니다. null 값에는 메서드가 없습니다. 그래서 당신은 큰 NullPointerException을 얻었고, 프로그램은 당신 주위에 충돌합니다.
이러한 종류의 재난을 피하려면 코드에서 메소드 호출에 대해 두 번 생각하십시오. 점 앞에있는 표현식이 null 일 수있는 경우 예외 처리 코드를 프로그램에 추가하십시오. try {if (! aString. contains ("confidential")) {System. 아웃. println (aString);}} catch (NullPointerException e) {시스템. 아웃. println ("문자열이 null입니다.");} 사용 권한 사용
일부 앱에는 명시 적 권한이 필요합니다. 예를 들어, 앱이 인터넷을 통해 Twitter의 서버와 대화 할 수 있습니다. 이것은 앱의 AndroidManifest에 요소를 추가하지 않으면 작동하지 않습니다. xml 파일:
AndroidManifest에 요소를 추가하는 것을 잊어 버린 경우. xml 파일, 응용 프로그램이 트위터의 서버와 통신 할 수 없습니다. 유용한 오류 메시지를 표시하지 않고 앱이 실패합니다. 너무 나빴어!
활동을 찾을 수 없음
앱의 두 번째 활동을 만드는 경우 앱의 AndroidManifest에 새 요소를 추가해야합니다.XML 파일. 예를 들어 Android 앱은 MainActivity와 MyListActivity의 두 가지 활동을 수행 할 수 있습니다.
Eclipse가 자동으로
를 만듭니다.이 요소를 추가하지 않으면 Android는 MyListAcitivity를 사용하더라도 MyListActivity 클래스를 찾을 수 없습니다. 자바 파일은 앱의 Eclipse 프로젝트 디렉토리에 있습니다. 앱이 ActivityNotFoundException과 충돌합니다.