일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- dynamodb
- everon
- 급속충전기
- raspberry
- flask
- 서버리스
- esp8266
- homeassistant
- 전기차충전
- 안드로이드
- 완속충전기
- 충전기
- 펌웨어
- 에버온
- Android
- 플라스크
- 라즈베리파이
- lambda
- IOT Core
- 파이썬
- 홈어시스턴트
- STM32
- 보안
- OCPP
- AWS
- 전기차충전기
- 디자인패턴
- YMODEM
- 전기차
- thread
Archives
- Today
- Total
Louie NRT Story
[안드로이드] View Binding 본문
반응형
작성일: 21년 12월 9일
Index
1. 기존의 코드
2. ViewBinding 기능 사용하기
3. 자동 생성된 ViewBinding 코드
1. 기존의 코드
1) MainActivity
public class MainActivity extends AppCompatActivity {
private static final String LOG_TAG = MainActivity.class.getSimpleName();
private TextView nameView, phoneView, addressView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//뷰 바인딩 이라고 함
nameView = findViewById(R.id.name);
phoneView = findViewById(R.id.phone);
addressView = findViewById(R.id.address);
fetchUserProfile();
}
private void fetchUserProfile() {
UserProfile userProfile = new UserProfile();
userProfile.name = "홍길동";
userProfile.phone = "01012345678";
userProfile.address = "서울시 서초구";
updateUI(userProfile);
}
//데이터 바인딩 이라고 함
private void updateUI(UserProfile userProfile) {
nameView.setText(userProfile.name);
phoneView.setText(userProfile.phone);
addressView.setText(userProfile.address);
}
}
2) UserProfile 코드
public class UserProfile {
public String name;
public String phone;
public String address;
public UserProfile(){
this.name = name;
this.phone = phone;
this.address = address;
}
}
3) 결과물
- TextView를 통하여 설정한 Text가 표시됨
2. ViewBinding 기능 사용하기
1) build.gradle 추가
- viewBinding{ enabled true }
2) MainActivity
- 뷰 바인딩 하는 부분들을 모두 대신해줌
- ActivityMainBinding 이라는 것은 Layout의 main_activity.xml 파일을 가르킴
- setContentView에는 위에서 생성한 binding의 RootView를 전달함으로서 해결됨
public class MainActivity extends AppCompatActivity {
private static final String LOG_TAG = MainActivity.class.getSimpleName();
private ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
fetchUserProfile();
}
private void fetchUserProfile() {
UserProfile userProfile = new UserProfile();
userProfile.name = "홍길동";
userProfile.phone = "01012345678";
userProfile.address = "서울시 서초구";
updateUI(userProfile);
}
private void updateUI(UserProfile userProfile) {
binding.name.setText(userProfile.name);
binding.phone.setText(userProfile.phone);
binding.address.setText(userProfile.address);
}
}
3) 결과 확인하기
- 위와 같은 결과를 나타냄
3. 자동 생성된 ViewBinding 코드
- 안드로이드에서 자동으로 Binding 할 수 있도록 코드를 자동 생성해줌을 알 수 있음
Referece:
반응형
'전기차충전기' 카테고리의 다른 글
[안드로이드] 잘못된 Thread 사용법 (0) | 2021.12.12 |
---|---|
[안드로이드] DataBinding (0) | 2021.12.09 |
[안드로이드] Log 찍는 방법 (0) | 2021.12.09 |
[Smatek] ST-RK3288-01 Root 시스템 권한 설정 - Todo (0) | 2021.11.23 |
[안드로이드] runOnUiThread() (0) | 2021.11.23 |
Comments