Android 앱: 이벤트와 리스너를 함께 봅니다.
10858 단어 안드로이드AndroidStudio자바
신인이 Android의 뷰라는 것을 정리해 본다(초보자 Android 앱 개발)
계속. . .
소개
입사 3개월의 페이페입니다. 안드로이드 앱 개발 공부중에 정리하고 있습니다.
이번에는 이벤트와 리스너에 대해. 악마 초 기초이므로 초 초보자 용이라고 생각해 주시면 감사합니다. .
이번에 나오는 단어들
youtube의 앱 아이콘을 탭하면 youtube가 열리지 않습니까?
이 앱 탭하는 사용자 조작을 이벤트라고 부릅니다.
youtube의 앱을 탭하면 youtube가 열리지 않습니까?
이 앱 탭한다는 것이 이벤트.
youtube가 열리는 처리를 이벤트 핸들러라고 합니다.
안드로이드는 youtube가 언제 터치 될 수 있는지 보고 있습니다.
이 지-라고 바라보고 있는 것을 리스나라고 한다.
마지막 단어들
화면 부품
화면 자체
무엇이든 견본
환경
androidstudio 3.6.2
openjdk 버전 "11.0.6"
만드는 화면
간단하게 입력된 문자를 버튼 탭으로 표시해주는 앱을 만듭니다.
버튼 탭 = 이벤트
입력된 문자를 아래에 표시하는 처리 = 이벤트 핸들러
탭하거나 감시하는 안드로이드 기능 = 리스너
샘플
길어지기 때문에 import 문은 생략
activity_main.xml
<LinearLayout~~省略~~>
<EditText
android:id="@+id/etName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"/>
<Button
android:id="@+id/btClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="GoGo!"/>
<TextView
android:id="@+id/tvOutput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:text=""
android:textSize="25dp"/>
</LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//表示ボタンであるButtonオブジェクトを取得
Button btClick = findViewById(R.id.btClick);
//リスナクラスのインスタンスを生成
HelloListener listener = new HelloListener();
//表示ボタンにリスナを設定
btClick.setOnClickListener(listener);
}
private class HelloListener implements View.OnClickListener{
@Override
public void onClick(View view){
//名前入力欄であるEditTextオブジェクトを取得
EditText input = findViewById(R.id.etName);
//メッセージを表示するTextViewオブジェクトを取得
TextView output = findViewById(R.id.tvOutput);
//入力された名前の文字列をinputStrに格納
String inputStr = input.getText().toString();
//メッセージを表示
output.setText(inputStr + "←入力されたテキスト");
}
}
}
초보적인 소중한 사촌
이전과 달리 java 클래스(MainActivity)와 XML 클래스(activity_main)로 나뉩니다.
Java 클래스는 리스너의 설정과 처리, xml 쪽은 화면 구성 (액티비티)을 만들고 있다고 생각합니다.
이번 소중한 사촌은
・상기 2파일의 연결을 어디에서 하고 있는가.
· 리스너 설정 및 이벤트 핸들러 작성 방법
입니다.
자바 파일과 화면 부품의 연결
MainActivity.java
//表示ボタンであるButtonオブジェクトを取得
Button btClick = findViewById(R.id.btClick);
activity_main.xml
<Button
android:id="@+id/btClick"
java 클래스로 화면 파트를 취득하는 결정의 패턴. R은 지금 상관하지 않는다. findViewById(R.id.화면 부품 ID명)로 취득할 수 있다.
그것을 Button 객체의 변수에 저장.
리스너 설정 및 이벤트 핸들러
리스너 클래스를 작성 → 준비한 btnClick에 리스너 설정 → 리스너 클래스에 이벤트 핸들러를 기술
MainActivity.java
//リスナクラスのインスタンスを生成
HelloListener listener = new HelloListener();
//表示ボタンにリスナを設定
btClick.setOnClickListener(listener);
이 기술로, 버튼에 리스너를 설정하는 곳까지 실시하고 있습니다.
아래의 리스너 클래스 내에 이벤트 핸들러를 기입.
MainActivity.java
private class HelloListener implements View.OnClickListener{
@Override
public void onClick(View view){
//名前入力欄であるEditTextオブジェクトを取得
EditText input = findViewById(R.id.etName);
//メッセージを表示するTextViewオブジェクトを取得
TextView output = findViewById(R.id.tvOutput);
//入力された名前の文字列をinputStrに格納
String inputStr = input.getText().toString();
//メッセージを表示
output.setText(inputStr + "←入力されたテキスト");
}
}
findViewId로 화면 파트를 가져 와서 TextView에 표시합니다.
해설하지 않은 아래의 코드에 대해서는, 지금은 참을 수 없다고 생각해 주세요. 나중에 활동의 라이프사이클을 설명할 때 작성할 것입니다.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
끝에
해설 쓰면 이해는 깊어지네요. .
알기 쉽게 쓸 수 있는지 여부는 따로 따로. . .
정진합니다. 일본어가 엉망인 것은 용서해 주십시오.
다음 번에는 화면 천이를 써볼 예정!
Reference
이 문제에 관하여(Android 앱: 이벤트와 리스너를 함께 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kkhouse/items/2980cf748c415bb36f48텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)