[Android/Java] (각서) Jetpack Navigation과 ViewModel을 채용 한 신규 앱 작성시의 치트 시트
5708 단어 안드로이드JetpackAndroidStudio자바
업무상 다른 플랫폼의 대응이 있거나 안드로이드의 개발을 지속적으로 할 수 없기 때문에
마침내 잊어 버릴 것 같은 예감을 위해 각서로 정리했습니다.
Android Developer의 Jetpack Navigation에 대한 설명은 다음과 같습니다.
신규 프로젝트 작성
새 프로젝트 만들기에서 Empty Activity를 선택합니다.
navigation 만들기
navigation 폴더 만들기
Android Resource Directory 선택

리소스 유형에서 navigation 선택

생성된 navigation을 선택한 상태에서 Navigation Resource File 선택

여기서는 File name을 nav_graph로 가정합니다.

OK 누르기

MainActivity의 layout에 방금 만든 NavHostFragment를 추가합니다.
※NavHostFragment를 선택해 Layout의 Design에 드롭입니다
방금 만든 nav_graph를 선택합니다.
불필요한 Hellow World!의 TextView를 삭제합시다.


Main의 Fragment 추가
Layout의 nav_grah로 돌아가서 Click to add a destination을 클릭합니다.
Create new destination을 선택합니다.
이번에는 ViewModel을 사용하기 때문에 Fragment (with ViewModel)를 선택합니다.
여기에서는 Fragment Name 을 MainFragment, ViewModel Name 도 자동으로 설정된 MainViewModel 로 합니다




MainFragment/MainViewModel이 생성되었습니다.

(필요한 경우 지원) AndroidViewModel로 변경
ViewModel에서 Application 클래스를 사용하고 싶다면
자동 생성 된 코드를 AndroidViewModel로 변경합니다.
extends의 ViewModel을 AndroidViewModel로 변경하고
windows의 경우 Alt + Enter 등으로 AndroidViewModel import 추가 및 생성자를 추가합니다.
MainViewModel.java
public class MainViewModel extends ViewModel {
// TODO: Implement the ViewModel
}
MainViewModel.java
public class MainViewModel extends AndroidViewModel {
public MainViewModel(@NonNull Application application) {
super(application);
}
// TODO: Implement the ViewModel
}
적절한 버전의 라이브러리 지정
이번에는 junit 이외에는 새로운 것이 적응되었습니다.
Project Structure의 Suggestion에서 경고 등이 나오면 적절한 버전으로 변경합니다.


MainActivity layout xml rename
새 프로젝트에서 Empty Activity를 선택하면 layout xml의 파일 이름이 activity_main.xml입니다.
View/DataBinding을 사용하는 경우 자동 생성된 Binding 클래스 이름이 xml의 파일 이름 종속성으로 인해
기분이 좋지 않으면 main_activity.xml로 rename
Fragment의 xml 명명 규칙도 xxx_fragment.xml과 같이 통합하는 것이 좋습니다.


화면 전환 구현
Jetpack Navigation의 화면 전환을 구현하는 방법을 알고 싶다면 다음 기사를 참조하십시오.
ViewModel 구현
Jetpack ViewModel의 간단한 구현 예를 알고 싶은 분은 다음 기사를 참조하십시오.
Reference
이 문제에 관하여([Android/Java] (각서) Jetpack Navigation과 ViewModel을 채용 한 신규 앱 작성시의 치트 시트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/smurata_pvt/items/a8454cc635ba693df6b8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)