nestedScrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
    View view = (View) v.getChildAt(v.getChildCount() - 1);
    int diff = (view.getBottom() - (v.getHeight() + v.getScrollY()));
    Dlog.d(diff + "");
    if (diff == 0) {
        Dlog.d("more");

    }
});

시도 코드 | 시도 이름
11 | 서울시
26 | 부산시
27 | 대구시
28 | 인천시
29 | 광주시
30 | 대전시
31 | 울산시
41 | 경기도
42 | 강원도
43 | 충북도
44 | 충남도
45 | 전북도
46 | 전남도
47 | 경북도
48 | 경남도
50 | 제주도
 
 
시도 코드 | 시도 이름 | 시군구 코드 | 시군구 이름
11 | 서울시 | 11110 | 종로구
11 | 서울시 | 11140 | 중구
11 | 서울시 | 11170 | 용산구
11 | 서울시 | 11200 | 성동구
11 | 서울시 | 11215 | 광진구
11 | 서울시 | 11230 | 동대문구
11 | 서울시 | 11260 | 중랑구
11 | 서울시 | 11290 | 성북구
11 | 서울시 | 11305 | 강북구
11 | 서울시 | 11320 | 도봉구
11 | 서울시 | 11350 | 노원구
11 | 서울시 | 11380 | 은평구
11 | 서울시 | 11410 | 서대문구
11 | 서울시 | 11440 | 마포구
11 | 서울시 | 11470 | 양천구
11 | 서울시 | 11500 | 강서구
11 | 서울시 | 11530 | 구로구
11 | 서울시 | 11545 | 금천구
11 | 서울시 | 11560 | 영등포구
11 | 서울시 | 11590 | 동작구
11 | 서울시 | 11620 | 관악구
11 | 서울시 | 11650 | 서초구
11 | 서울시 | 11680 | 강남구
11 | 서울시 | 11710 | 송파구
11 | 서울시 | 11740 | 강동구
26 | 부산시 | 26110 | 중구
26 | 부산시 | 26140 | 서구
26 | 부산시 | 26170 | 동구
26 | 부산시 | 26200 | 영도구
26 | 부산시 | 26230 | 부산진구
26 | 부산시 | 26260 | 동래구
26 | 부산시 | 26290 | 남구
26 | 부산시 | 26320 | 북구
26 | 부산시 | 26350 | 해운대구
26 | 부산시 | 26380 | 사하구
26 | 부산시 | 26410 | 금정구
26 | 부산시 | 26440 | 강서구
26 | 부산시 | 26470 | 연제구
26 | 부산시 | 26500 | 수영구
26 | 부산시 | 26530 | 사상구
26 | 부산시 | 26710 | 기장군
27 | 대구시 | 27110 | 중구
27 | 대구시 | 27140 | 동구
27 | 대구시 | 27170 | 서구
27 | 대구시 | 27200 | 남구
27 | 대구시 | 27230 | 북구
27 | 대구시 | 27290 | 수성구
27 | 대구시 | 27290 | 달서구
27 | 대구시 | 27710 | 달성군
28 | 인천시 | 28110 | 중구
28 | 인천시 | 28140 | 동구
28 | 인천시 | 28170 | 남구
28 | 인천시 | 28185 | 연수구
28 | 인천시 | 28200 | 남동구
28 | 인천시 | 28237 | 부평구
28 | 인천시 | 28245 | 계양구
28 | 인천시 | 28260 | 서구
28 | 인천시 | 28710 | 강화군
28 | 인천시 | 28720 | 옹진군
29 | 광주시 | 29110 | 동구
29 | 광주시 | 29140 | 서구
29 | 광주시 | 29155 | 남구
29 | 광주시 | 29170 | 북구
29 | 광주시 | 29200 | 광산구
30 | 대전시 | 30110 | 동구
30 | 대전시 | 30140 | 중구
30 | 대전시 | 30170 | 서구
30 | 대전시 | 30200 | 유성구
30 | 대전시 | 30230 | 대덕구
31 | 울산시 | 31110 | 중구
31 | 울산시 | 31140 | 남구
31 | 울산시 | 31170 | 동구
31 | 울산시 | 31200 | 북구
31 | 울산시 | 31710 | 울주군
41 | 경기도 | 41110 | 수원시
41 | 경기도 | 41111 | 수원시 장안구
41 | 경기도 | 41113 | 수원시 권선구
41 | 경기도 | 41115 | 수원시 팔달구
41 | 경기도 | 41117 | 수원시 영통구
41 | 경기도 | 41130 | 성남시
41 | 경기도 | 41131 | 성남시 수정구
41 | 경기도 | 41133 | 성남시 중원구
41 | 경기도 | 41135 | 성남시 분당구
41 | 경기도 | 41150 | 의정부시
41 | 경기도 | 41170 | 안양시
41 | 경기도 | 41171 | 안양시 만안구
41 | 경기도 | 41173 | 안양시 동안구
41 | 경기도 | 41190 | 부천시
41 | 경기도 | 41195 | 부천시 원미구
41 | 경기도 | 41197 | 부천시 소사구
41 | 경기도 | 41199 | 부천시 오정구
41 | 경기도 | 41210 | 광명시
41 | 경기도 | 41220 | 평택시
41 | 경기도 | 41250 | 동두천시
41 | 경기도 | 41270 | 안산시
41 | 경기도 | 41271 | 안산시 상록구
41 | 경기도 | 41273 | 안산시 단원구
41 | 경기도 | 41280 | 고양시
41 | 경기도 | 41281 | 고양시 덕양구
41 | 경기도 | 41285 | 고양시 일산동구
41 | 경기도 | 41287 | 고양시 일산서구
41 | 경기도 | 41290 | 과천시
41 | 경기도 | 41310 | 구리시
41 | 경기도 | 41360 | 남양주시
41 | 경기도 | 41370 | 오산시
41 | 경기도 | 41390 | 시흥시
41 | 경기도 | 41410 | 군포시
41 | 경기도 | 41430 | 의왕시
41 | 경기도 | 41450 | 하남시
41 | 경기도 | 41460 | 용인시
41 | 경기도 | 41461 | 용인시 처인구
41 | 경기도 | 41463 | 용인시 기흥구
41 | 경기도 | 41465 | 용인시 수지구
41 | 경기도 | 41480 | 파주시
41 | 경기도 | 41500 | 이천시
41 | 경기도 | 41550 | 안성시
41 | 경기도 | 41570 | 김포시
41 | 경기도 | 41590 | 화성시
41 | 경기도 | 41610 | 광주시
41 | 경기도 | 41630 | 양주시
41 | 경기도 | 41650 | 포천시
41 | 경기도 | 41730 | 여주군
41 | 경기도 | 41800 | 연천군
41 | 경기도 | 41820 | 가평군
41 | 경기도 | 41830 | 양평군
42 | 강원도 | 42110 | 춘천시
42 | 강원도 | 42130 | 원주시
42 | 강원도 | 42150 | 강릉시
42 | 강원도 | 42170 | 동해시
42 | 강원도 | 42190 | 태백시
42 | 강원도 | 42210 | 속초시
42 | 강원도 | 42230 | 삼척시
42 | 강원도 | 42720 | 홍천군
42 | 강원도 | 42730 | 횡성군
42 | 강원도 | 42750 | 영월군
42 | 강원도 | 42760 | 평창군
42 | 강원도 | 42770 | 정선군
42 | 강원도 | 42780 | 철원군
42 | 강원도 | 42790 | 화천군
42 | 강원도 | 42800 | 양구군
42 | 강원도 | 42810 | 인제군
42 | 강원도 | 42820 | 고성군
42 | 강원도 | 42830 | 양양군
43 | 충북도 | 43110 | 청주시
43 | 충북도 | 43111 | 청주시 상당구
43 | 충북도 | 43113 | 청주시 흥덕구
43 | 충북도 | 43130 | 충주시
43 | 충북도 | 43150 | 제천시
43 | 충북도 | 43710 | 청원군
43 | 충북도 | 43720 | 보은군
43 | 충북도 | 43730 | 옥천군
43 | 충북도 | 43740 | 영동군
43 | 충북도 | 43745 | 증평군
43 | 충북도 | 43750 | 진천군
43 | 충북도 | 43760 | 괴산군
43 | 충북도 | 43770 | 음성군
43 | 충북도 | 43800 | 단양군
44 | 충남도 | 44130 | 천안시
44 | 충남도 | 44131 | 천안시 동남구
44 | 충남도 | 44133 | 천안시 서북구
44 | 충남도 | 44150 | 공주시
44 | 충남도 | 44180 | 보령시
44 | 충남도 | 44200 | 아산시
44 | 충남도 | 44210 | 서산시
44 | 충남도 | 44230 | 논산시
44 | 충남도 | 44250 | 계룡시
44 | 충남도 | 44710 | 금산군
44 | 충남도 | 44730 | 연기군
44 | 충남도 | 44760 | 부여군
44 | 충남도 | 44770 | 서천군
44 | 충남도 | 44790 | 청양군
44 | 충남도 | 44800 | 홍성군
44 | 충남도 | 44810 | 예산군
44 | 충남도 | 44825 | 태안군
44 | 충남도 | 44830 | 당진군
45 | 전북도 | 45110 | 전주시
45 | 전북도 | 45111 | 전주시 완산구
45 | 전북도 | 45113 | 전주시 덕진구
45 | 전북도 | 45130 | 군산시
45 | 전북도 | 45140 | 익산시
45 | 전북도 | 45180 | 정읍시
45 | 전북도 | 45190 | 남원시
45 | 전북도 | 45210 | 김제시
45 | 전북도 | 45710 | 완주군
45 | 전북도 | 45720 | 진안군
45 | 전북도 | 45730 | 무주군
45 | 전북도 | 45740 | 장수군
45 | 전북도 | 45750 | 임실군
45 | 전북도 | 45770 | 순창군
45 | 전북도 | 45790 | 고창군
45 | 전북도 | 45800 | 부안군
46 | 전남도 | 46110 | 목포시
46 | 전남도 | 46130 | 여수시
46 | 전남도 | 46150 | 순천시
46 | 전남도 | 46170 | 나주시
46 | 전남도 | 46230 | 광양시
46 | 전남도 | 46710 | 담양군
46 | 전남도 | 46720 | 곡성군
46 | 전남도 | 46730 | 구례군
46 | 전남도 | 46770 | 고흥군
46 | 전남도 | 46780 | 보성군
46 | 전남도 | 46790 | 화순군
46 | 전남도 | 46800 | 장흥군
46 | 전남도 | 46810 | 강진군
46 | 전남도 | 46820 | 해남군
46 | 전남도 | 46830 | 영암군
46 | 전남도 | 46840 | 무안군
46 | 전남도 | 46860 | 함평군
46 | 전남도 | 46870 | 영광군
46 | 전남도 | 46880 | 장성군
46 | 전남도 | 46890 | 완료도군
46 | 전남도 | 46900 | 진도군
46 | 전남도 | 46910 | 신안군
47 | 경북도 | 47110 | 포항시
47 | 경북도 | 47111 | 포항시 남구
47 | 경북도 | 47113 | 포항시 북구
47 | 경북도 | 47130 | 경주시
47 | 경북도 | 47150 | 김천시
47 | 경북도 | 47170 | 안동시
47 | 경북도 | 47190 | 구미시
47 | 경북도 | 47210 | 영주시
47 | 경북도 | 47230 | 영천시
47 | 경북도 | 47250 | 상주시
47 | 경북도 | 47280 | 문경시
47 | 경북도 | 47290 | 경산시
47 | 경북도 | 47720 | 군위군
47 | 경북도 | 47730 | 의성군
47 | 경북도 | 47750 | 청송군
47 | 경북도 | 47760 | 영양군
47 | 경북도 | 47770 | 영덕군
47 | 경북도 | 47820 | 청도군
47 | 경북도 | 47830 | 고령군
47 | 경북도 | 47840 | 성주군
47 | 경북도 | 47850 | 칠곡군
47 | 경북도 | 47900 | 예천군
47 | 경북도 | 47920 | 봉화군
47 | 경북도 | 47930 | 울진군
47 | 경북도 | 47940 | 울릉군
48 | 경남도 | 48120 | 창원시
48 | 경남도 | 48125 | 창원시 마산합포구
48 | 경남도 | 48127 | 창원시 마산회원구
48 | 경남도 | 48123 | 창원시 성산구
48 | 경남도 | 48121 | 창원시 의창구
48 | 경남도 | 48129 | 창원시 진해구
48 | 경남도 | 48170 | 진주시
48 | 경남도 | 48220 | 통영시
48 | 경남도 | 48240 | 사천시
48 | 경남도 | 48250 | 김해시
48 | 경남도 | 48270 | 밀양시
48 | 경남도 | 48310 | 거제시
48 | 경남도 | 48330 | 양산시
48 | 경남도 | 48720 | 의령군
48 | 경남도 | 48730 | 함안군
48 | 경남도 | 48740 | 창녕군
48 | 경남도 | 48820 | 고성군
48 | 경남도 | 48840 | 남해군
48 | 경남도 | 48850 | 하동군
48 | 경남도 | 48860 | 산청군
48 | 경남도 | 48870 | 함양군
48 | 경남도 | 48880 | 거창군
48 | 경남도 | 48890 | 합천군
50 | 제주도 | 50110 | 제주시
50 | 제주도 | 50130 | 서귀포시

'이것저것' 카테고리의 다른 글

인스타360 간절곶  (0) 2021.06.24

1. 앱에 광고추적 적용 했는지

https://velog.io/@minji0801/iOS-Swift-%EC%95%B1-%EC%B6%94%EC%A0%81-%EA%B6%8C%ED%95%9C-Alert-%EB%9D%84%EC%9A%B0%EA%B8%B0

 

[iOS | Swift] 앱 추적 권한 요청하기

AdSupport와 AppTrackingTransparency로 사용자에게 앱 추적 권한 요청하기

velog.io

 

2. 스크린샷 맹글어라!

 

3. DEBUG 플레그 체크

1. ScrollView를 쫙쫙 벌려서 SafeArea에 맞추고 제약조건을 0으로 세팅

2. UIView 를 스크롤뷰 안에 넣고

3. UIView를 Content Layout에 Leading, Top, Trailing, Bottom 을 걸어준다!

4. UIView 를 제약 조건을 하나하나 클릭해서 0으로 바꾼다!

5. Frame Layout 에 Equal Widths(세로 스크롤) 을 걸어준다!

6. UIView의 Multiplier 를 1로 변경한다!

6. UIView Height를 1000으로 변경해서 ui 작업을 한다!

//데이터 저장!
UserDefaults.standard.setValue(id, forKey: "id")
// 데이터 삭제
UserDefaults.standard.set(nil, forKey: "id")
// 데이터 가져오기
guard let id = UserDefaults.standard.value(forKey: "id") as? String else {
	//데이터를 가져오지 못했을때 처리!
	return
}

'Swfit' 카테고리의 다른 글

AppStore 출시전 체크사항!  (0) 2023.01.13
ScrollView 사용 세팅  (0) 2023.01.05
앱 기본 언어 한국어로 변경하는 법  (0) 2023.01.03
TableView 에서 Button highlight 안될때!  (0) 2023.01.03
Status bar text color 변경  (0) 2023.01.03

1.  PROJECT   →  Info   →  Localization → “  +  ” 클릭   Korean (ko) 선택

 

2. 언어를 적용할 파일 선택 후 Finish 클릭

 

3. Info →  Localization 에서 Korean 적용되었음을 확인

4. 프로젝트이름.xcodeproj/project.pbxproj 파일을 다른 에디터(atom, vs 등..)를 이용해서 편집 : developmentRegion를 검색하여 developmentRegion = ko;로 바꾸기.

출처: https://lxxyeon.tistory.com/133

'Swfit' 카테고리의 다른 글

ScrollView 사용 세팅  (0) 2023.01.05
swift UserDefaults 데이터 사용하기!  (0) 2023.01.04
TableView 에서 Button highlight 안될때!  (0) 2023.01.03
Status bar text color 변경  (0) 2023.01.03
xcode Launch Screen 부터 느릴때!!  (0) 2022.04.26
1
2
tableView.delaysContentTouches = false
tableView.canCancelContentTouches = true
cs

 

 

 

 

 

1
2
3
4
5
6
7
8
class HighlighTableView: UITableView {
    override func touchesShouldCancel(in view: UIView) -> Bool {
        if view is UIButton {
              return true
        }
        return super.touchesShouldCancel(in: view)
    }
}
cs

'Swfit' 카테고리의 다른 글

swift UserDefaults 데이터 사용하기!  (0) 2023.01.04
앱 기본 언어 한국어로 변경하는 법  (0) 2023.01.03
Status bar text color 변경  (0) 2023.01.03
xcode Launch Screen 부터 느릴때!!  (0) 2022.04.26
스위프트 개발 메모  (0) 2021.01.07

info.list 에

View controller-based status bar appearance - NO

Status bar style - Light Content

 

추가 해주면 된다!

 

'Swfit' 카테고리의 다른 글

앱 기본 언어 한국어로 변경하는 법  (0) 2023.01.03
TableView 에서 Button highlight 안될때!  (0) 2023.01.03
xcode Launch Screen 부터 느릴때!!  (0) 2022.04.26
스위프트 개발 메모  (0) 2021.01.07
Swift DEBUG Flag 사용하기  (0) 2020.07.24
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public abstract class HidingScrollListener extends RecyclerView.OnScrollListener {
    private static final int HIDE_THRESHOLD = 20;
    private int scrolledDistance = 0;
    private boolean controlsVisible = true;
 
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);
        if (scrolledDistance > HIDE_THRESHOLD && controlsVisible) {
            onHide();
            controlsVisible = false;
            scrolledDistance = 0;
        } else if (scrolledDistance < -HIDE_THRESHOLD && !controlsVisible) {
            onShow();
            controlsVisible = true;
            scrolledDistance = 0;
        }
        if ((controlsVisible && dy > 0|| (!controlsVisible && dy < 0)) {
            scrolledDistance += dy;
        }
    }
 
    public abstract void onHide();
 
    public abstract void onShow();
 
}
 
/*스크롤 방향 감지 하여 툴바 히든 처리 할때 사용*/
recycler_view.setOnScrollListener(new HidingScrollListener() {
    @Override
    public void onHide() {
        Dlog.d("onHide");
    }
 
    @Override
    public void onShow() {
        Dlog.d("onShow");
    }
});
 
 
/*하단 감지*/
recycler_view.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
        super.onScrollStateChanged(recyclerView, newState);
        if (!recyclerView.canScrollVertically(1&& newState == RecyclerView.SCROLL_STATE_IDLE) {
            Dlog.d("bottom");
        }
    }
});
cs

'Android' 카테고리의 다른 글

NestedScrollView 하단감지..  (0) 2023.01.31
3자리 콤마, HTML태그 제거  (0) 2022.11.30
URL LINK 크롤링하는 메소드  (1) 2022.09.19
ButterKnife EditText Search actionId  (0) 2022.07.13
AsyncTask Deprecated 대응 Rxjava  (0) 2022.04.06
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public int dpToPx(float dp) {
    int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, getResources().getDisplayMetrics());
    return px;
}
 
public float pxToDp(float px) {
    // 해상도 마다 다른 density 를 반환. xxxhdpi는 density = 4
    float density = getResources().getDisplayMetrics().density;
    if (density == 1.0)      // mpdi  (160dpi) -- xxxhdpi (density = 4)기준으로 density 값을 재설정 한다
        density *= 4.0;
    else if (density == 1.5// hdpi  (240dpi)
        density *= (8 / 3);
    else if (density == 2.0// xhdpi (320dpi)
        density *= 2.0;
    return px / density;     // dp 값 반환
}
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static String addComma(String str) {
    return str.replaceAll("\\B(?=(\\d{3})+(?!\\d))"",");
}
 
 
public static String removeTag(String html) {
    String tmp = html.replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>""");
    tmp = tmp.replaceAll("[@$^]""");
    tmp = tmp.replaceAll("&amp;""");
    tmp = tmp.replaceAll("&quot;""");
    tmp = tmp.replaceAll("&lt;""");
    tmp = tmp.replaceAll("&gt;""");
    return tmp;
}
cs
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// URL LINK 크롤링하는 메소드
Disposable backgroundTask;
    private void linkCrawling(String url) {
        // 크롤링한 메타데이터 정보를 담아 반환할 Hashmap
        HashMap<StringString> map = new HashMap<>();
 
        backgroundTask = Observable.fromCallable(() -> {
            try {
                Connection con = Jsoup.connect(url);
                Document doc = con.get();
                Elements ogTags = doc.select("meta[property^=og:]");
                if (ogTags.size() <= 0) {
                    return map; // 아무것도 안 들은 map 반환
                }
                // 필요한 OGTag
                for (int i = 0; i < ogTags.size(); i++) {
                    Element tag = ogTags.get(i);
                    String text = tag.attr("property");
                    if ("og:url".equals(text)) {
                        map.put("url", tag.attr("content"));
 
                    } else if ("og:title".equals(text)) {
                        map.put("title", tag.attr("content"));
 
                    } else if ("og:image".equals(text)) {
                        map.put("image", tag.attr("content"));
 
                    } else if ("og:description".equals(text)) {
                        map.put("description", tag.attr("content"));
                    }
                }
                return map;
 
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
 
        }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<HashMap<StringString>>() {
            @Override
            public void accept(HashMap<StringString> map) {
 
                backgroundTask.dispose();
            }
        });
cs
@OnEditorAction(R.id.et_q)
public boolean onEditorAction(TextView v, int actionId, KeyEvent key) {
    Dlog.d("actionId: "+ actionId);
    if (actionId == 3) {
        search();
    }
    return true;
}
@OnTextChanged(R.id.et_q)
public void onTextChanged(CharSequence name) {
    mList.clear();
    if (name.length() > 0) {
        for (EyedocDicVO row : mOriginList) {
            if (row.getTitle().contains(name) || row.getDesc().contains(name)) {
                mList.add(row);
            }
        }
    } else {
        mList.addAll(mOriginList);
    }
    mRecyclerAdapter.notifyDataSetChanged();
}
@OnFocusChange({R.id.et_l_sph,R.id.et_r_sph})
public void onFocusChange(View v, boolean hasFocus) {
	if (hasFocus) {
            
    }
}
@OnCheckedChanged({R.id.chk_use_terms, R.id.chk_policy})
public void checked(CompoundButton button, boolean checked) {
    validCheckbox();
}

앱 시작후 Launch Screen부분에서 메인화면으로 넘어가기까지 최소 1 ~ 2분이 걸렸던 것 같다. 

 

1. Xcode 상단 메뉴바 > Product > Scheme > Edit Scheme || 단축키 ( Cmd + < )

2. (왼쪽 사이드바 ) Run > (Info) 탭 > (체크해제) Debug executable

3. Xcode 완전히 종료 (Cmd + Q) 후 재실행 > Clean Build (Cmd + Shift + K ) > Build ( Cmd + B ) 

'Swfit' 카테고리의 다른 글

TableView 에서 Button highlight 안될때!  (0) 2023.01.03
Status bar text color 변경  (0) 2023.01.03
스위프트 개발 메모  (0) 2021.01.07
Swift DEBUG Flag 사용하기  (0) 2020.07.24
코코아팟 라이브러리 모음  (0) 2020.07.14
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
//RxJava
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
implementation 'io.reactivex.rxjava3:rxjava:3.0.7'
 
Disposable backgroundTask;
 
backgroundTask = Observable.fromCallable(() -> {
    //background process
    
    return httpList;
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<ArrayList<String>>() {
    @Override
    public void accept(ArrayList<String> strings) throws Throwable {
 
        backgroundTask.dispose();
    }
});
cs

+ Recent posts