fillter() 함수 public class FillterEx { public static void main(String[] args) { Integer[] numbers = {100, 200, 300, 400, 500}; Single single; Observable source; // 1. first : 첫 번째 항목만 리턴 나머지는 모드 걸러낸다. single = Observable.fromArray(numbers).first(-1); single.subscribe(data -> System.out.println("first(-1) value = " + data)); System.out.println("======================"); // 2. last : 마지막 항목만 리턴 sin..
public class class03 { public static void main(String[] args) { /*String[] balls = {"1", "2", "3", "4", "5"}; Observable source = Observable.fromArray(balls) .map(getDiamond); source.subscribe(System.out::println);*/ String[] balls = {"RED", "YELLOW", "GREEN", "BLUE"}; Observable source = Observable.fromArray(balls) .map(ballToIndex); source.subscribe(System.out::println); } static Function getD..
flatMap() 함수 :map 함수는 1대1 함수라면 flatMap함수는 일대다 혹은 일대일 Observable 함수이다. public class FlatMap { public static void main(String[] args) { String[] ball = {"1", "2", "3", "4", "5"}; Observable source = Observable.fromArray(ball) .flatMap(getDoubleDiamond); source.subscribe(System.out::println); } static Function getDoubleDiamond = ball -> Observable.just(ball + "", ball + ""); } public class Ex4 { pu..
public class Subject { /* * 1. AsyncSubject 클래스 * * Observable 에서 발행한 마지막 데이터만 얻어 어는 subject 클래스 (차가운 Ob 를 뜨거운 Ob로 변경해주는 클래스) * * - 완료됨 과 동시에 마지막 데이터를 구독자들에게 전달 (이전 데이터는 전달하지 않는다.) * * */ /* * 2. BehaviorSubject 클래스 * * 구독자가 구독을 하면 가장 최근 값 혹은 기본값을 넘겨주는 클래스이다. * * */ /* * 3. PublishSubject 클래스 * * 가장 평범한 Subject 클래스 이다. 오직 해당시간에 발생한 데이터를 그대로 구독자에게 전달 받는다. * * */ /* * 4. ReplaySubject 클래스 * * 주의 :..
Function, Consumer, Predicate, Supplier public class FunctionalInterfaceExamples { public static void main(String[] args) { /** * JAVA 8 * */ /** * Function : 입력이 있으면 반드시 출력이 있다 (타입 변환) */ Function toInt = value -> Integer.parseInt(value); final Integer number = toInt.apply("100"); System.out.println(number); // Function - identity final Function identity = Function.identity(); System.out.printl..
EasyPermissions implementation 'pub.devrel:easypermissions:1.3.+' public class MainActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks { public static final int REQUEST_CODE = 123; Button btnOpenCamera; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnOpenCamera = findViewBy..
implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support:design:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' package com.example.devat.myapplication; public class ExampleItem { private int mImageResource; private String mText1; private String mText2; public ExampleItem(int mImageResource, String mText1, String mText2) { this...
imeOptions 사용 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EditText editText1 = findViewById(R.id.edit_text1); EditText editText2 = findViewById(R.id.edit_text2); editText1.setOnEditorActionListener(editorListener); editText2.setOnEditorActionListene..
HashMap 사용방법 public class MapIterationSample { public static void main(String[] agrs) { Map map = new HashMap(); map.put("키1", "값1"); map.put("키2", "값2"); map.put("키3", "값3"); map.put("키4", "값4"); map.put("키5", "값5"); map.put("키6", "값6"); // 방법1 Iterator keys = map.keySet().iterator(); while( keys.hasNext() ){ String key = keys.next(); System.out.println( String.format("키 : %s, 값 : %s", key, map..
Custom AutoCompleteTextView public class MainActivity extends AppCompatActivity { private List countryList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fillCountryList(); AutoCompleteTextView editText = findViewById(R.id.actv); AutoCompleteAdapter adapter = new AutoCompleteAdapter(this, countryList); e..