본문 바로가기

Android

[안드로이드 RxJava2] Observable 클래스 Observable ㆍpublic abstract class Observable extends Object implements ObservableSource ㆍ데이터의 스트림을 생성하는 클래스입니다. ㆍ기본적으로 구독자가 구독을 하기 전에는 데이터를 발행하지 않습니다. ㆍ구독자에게 알림을 보내서 데이터를 처리하게 합니다. ㆍ알림은 3가지 종류(onNext, onError, onComplete)가 있습니다. - onNext: 데이터 발행을 알립니다. - onError: 에러가 발생했음을 알립니다. 이후 onNext, onComplete는 호출되지 않습니다. - onComplete: 모든 데이터가 발행되었음을 알립니다. ㆍ구독자는 데이터의 발행이 완료되거나 구독을 취소할 때까지 알림를 받습니다. ㆍ모든 알림..
[안드로이드 Paging] 시작하기 설정 ㆍ종속성 설정 123dependencies { implementation "androidx.paging:paging-runtime:2.1.0" // For Kotlin use paging-runtime-ktx}Colored by Color Scriptercs ConcertViewModel.java ㆍViewModel 생성 12345678910public class ConcertViewModel extends ViewModel { private ConcertDao concertDao; public final LiveData concertList; public ConcertViewModel(ConcertDao concertDao) { this.concertDao = concertDao; concertL..
[안드로이드 Room] 시작하기 설정 ㆍ종속성 설정 1234dependencies { implementation "androidx.room:room-runtime:2.1.0-alpha07" annotationProcessor "androidx.room:room-compiler:2.1.0-alpha07" // For Kotlin use kapt instead of annotationProcessor}Colored by Color Scriptercs 구성요소 User.java ㆍEntity 생성 1234567891011@Entitypublic class User { @PrimaryKey public int uid; @ColumnInfo(name = "first_name") public String firstName; @ColumnInfo(..
[안드로이드 Data Binding] 시작하기 조건 ㆍAPI 레벨 14 이상 (Android 4.0) ㆍAndroid Studio 버전 1.5.0 이상 설정 ㆍSDK Manager에서 Support Repository 다운로드 ㆍapp의 build.gradle 파일에 dataBinding 추가 123456android { ... dataBinding { enabled = true }}cs activity_main.xml ㆍData Binding의 레이아웃 파일은 layout 태그로 시작하고, 그 뒤에 data 요소와 view 요소를 사용합니다. 1234567891011121314151617181920212223 Colored by Color Scriptercs ㆍdata 내에 있는 main 변수를 이 레이아웃 내에서 사용할 수 있습니다. MainAc..
[안드로이드 Retrofit2] 시작하기 조건 및 설정 ㆍJava 7, Android 2.3 이상 ㆍ종속성 설정 1implementation 'com.squareup.retrofit2:retrofit:2.5.0'cs 간단한 Retrofit 생성 예제 ㆍ어노테이션은 요청을 처리하는 방법을 나타냅니다. 1234public interface GitHubService { @GET("users/{user}/repos") Call listRepos(@Path("user") String user);}Colored by Color Scriptercs ㆍGitHubService 인터페이스를 구현하여 Retrofit 객체를 생성합니다. 12345Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.g..
[안드로이드 RxJava2] 시작하기 설정 ㆍ람다식 사용을 위한 Java 8 설정 123456android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }}Colored by Color Scriptercs ㆍ종속성 설정 123dependencies { implementation 'io.reactivex.rxjava2:rxjava:2.2.8'}Colored by Color Scriptercs Hello World ㆍ람다식 사용 123456789package rxjava.examples; import io.reactivex.*; public class HelloWorld { public static ..
[안드로이드 Realm] Model에 대하여 Model 생성 RealmObject를 상속하여 Model 생성 12345678910111213141516public class User extends RealmObject { private String name; private int age; @Ignore private int sessionId; // Standard getters & setters generated by your IDE… public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age;..
[안드로이드 Realm] Realm에 대하여 Realm 열기 12345// Realm 초기화Realm.init(context); // this 스레드에서 Realm 인스턴스 생성Realm realm = Realm.getDefaultInstance();cs Realm 설정 옵션을 설정하지 않으면 Context.getFilesDir()에 위치한 default.realm를 사용합니다. 1RealmConfiguration config = new RealmConfiguration.Builder().build();cs 아래와 같이 설정할 수 있습니다. 1234567891011// RealmConfiguration은 build 패턴을 사용하여 생성합니다.// Realm 파일 이름을 "myrealm.realm"으로 변경RealmConfiguration confi..