목록로직 (131)
투케이2K
[로직 정리] 정리 로직 : Android 상태 : [Android] 안드로이드와 디바이스 장치 간 AP 통신 (Android and Device Wifi Ap Tcp/Ip) 로직 정리 [설 명] 1. 디바이스 장치를 조작해 AP 모드 동작을 먼저, 수행한다 (WIFI 활성) 2. 안드로이드에서 >> 와이파이 목록 스캔 수행 >> 디바이스 WIFI 에 연결한다 3. 안드로이드는 현재 연결된 WIFI 의 IP 주소 확인 및 설정된 PORT 를 사용해 TCP/IP 소켓 연결 수행 4. 정상적으로 소켓 연결이 완료 된 경우 데이터 송수신 수행 (ex: 실제로 디바이스가 연결 가능한 와이파이 리스트를 전달 받음) 5. 안드로이드에서는 전달 받은 와이파이 리스트를 화면 UI 에 표시 6. 안드로이드에서 특..
[로직 정리] 정리 로직 : Android 상태 : [Android] [android 13 / target 33] 안드로이드 모바일 핫스팟 테더링에 연결된 클라이언트 IP 주소 획득 방법 [설 명] 1. Enumeration 를 사용해 현재 핫스팟이 활성화된 부모 IP 주소 획득 실시 - 참고 사이트 : https://blog.naver.com/kkh0977/223071746828 2. 부모 IP 주소에서 C 클래스까지 데이터 파싱 수행 (ex : 192.168.145. / 마지막은 제외) 3. Runtime.getRuntime().exec() ping 핑 명령어를 사용해 1 ~ 255 까지 반복문 수행 - 참고 사이트 : https://blog.naver.com/kkh0977/2231100327..
[로직 정리] 정리 로직 : Android 상태 : [Android] SmartConfig 스마트콘피그 와이파이 연결 및 TCP/IP 통신 로직 [설 명] =============================================== [1]. 안드로이드 build gradle 에 EspTouch 라이브러리 추가 실시 - implementation 'com.github.EspressifApp:lib-esptouch-android:1.1.1' =============================================== [2]. 안드로이드 근처 와이파이 검색 수행 =============================================== [3]. 특정 와이파이 선택 >> SS..
[로직 정리] 정리 로직 : Android 상태 : [Android] Aws Fleet Provisioning 프로비저닝 로직 수행 [설 명] [1]. 사전 프로비저닝 수행에 필요한 정보 전달 받기 - 클레임 인증서 - private key - 엔드 포인트 (접속 주소) - 템플릿 명칭 [2]. 안드로이드 프로젝트에 [클레임 인증서 / private key] 2개를 raw 폴더에 저장 [3]. Aws 라이브러리를 build gradle 에 의존성 부여 실시 [4]. [1 단계] : [인증서 확인] : client id (디바이스 명칭), 엔드 포인트, 클레임 인증서, private key 를 사용해 인증서 확인 수행 [5]. [1 단계] : [인증서 확인] : 인증서 확인에 성공하면 내려오는 ..
[로직 정리] 정리 로직 : Android 상태 : [Android] NFC mifareClassic 마이페어 블럭 (block) 데이터 읽기 [설 명] [1]. 안드로이드 NFC 활성 여부 상태 체크 수행 실시 [2]. 안드로이드 onCreate : NFC 기능이 활성화 된 경우 >> NfcAdapter.getDefaultAdapter 할당 [3]. 안드로이드 onResume : nfcAdapter.enableReaderMode 등록 실시 [4]. NFC 카드를 모바일에 태깅 수행 실시 [5]. 안드로이드 NfcAdapter.ReaderCallback 콜백 메소드에서 NFC 카드 UID 값 확인 실시 [6]. 안드로이드 MifareClassic connnect 연결 수행 실시 [7]. [JN..
[로직 정리] 정리 로직 : MOBILE (Android / Ios) 상태 : [모바일] SSO (Single Sign On) 통합 로그인 과정 설명 [설 명] [1] App 앱에서 ID, PW 입력 후 로그인 수행 실시 [2] 정상적으로 로그인 수행이 완료된 경우 response 값으로 SSO 인증 키 값을 받는다 [3] App 앱에서는 전달 받은 SSO 인증 키 값을 별도 저장 공간 (ex : 프리퍼런스) 에 저장 후 >> 메인 화면으로 진입 한다 [4] App 앱에서 SSO 인증 키 값을 가지고 같은 회사에서 운영하고 있는 다른 웹사이트를 호출 합니다 (웹사이트 호출 시 sso 인증 키 값을 붙여서 호출) [5] 웹사이트에서는 SSO 인증 키 값을 가지고 통합 로그인 허용을 수행 실시
[로직 정리] 정리 로직 : API 상태 : [API] public 클라우드 생성 및 외부 공개용 api 생성 로직 [설 명] - 흐름 : [사용자 api 호출 실시] - [public 클라우드 서버] - [사내 외부 접근 제한 서버] - 단계 : - 사용자는 >> public 클라우드 api 호출 수행 실시 - public 클라우드 에서는 요청 받은 사용자 api 를 통해서 >> 사내 외부 접근 제한 서버에 요청 실시 (public 클라우드는 브릿지 역할) - public 클라우드 는 사내 외부 접근 제한 서버에서 응답 받은 결과를 다시 사용자에게 response 응답 결과 반환 수행 - 참고 사항 : - 운영 데이터베이스 및 서버에 접근하기 위해서 사내 보안 신청 필요 (ip , port , ..
[로직 정리] 정리 로직 : MOBILE (Android / Ios) 상태 : [모바일] 폴링 (polling) 방식 사용자 로그인 체크 확인 [설 명] - [1] App 앱에서 [2] App 앱으로 스키마 방식 이동 실시 - [1] App 에서는 스키마 이동을 수행하는 동시에 사용자 로그인 상태 주기적 체크 수행 실시 (api 호출 로그 조회) - [2] App 에서는 전달 받은 로그인 정보로 로그인 수행 실시 - [1] App 에서는 사용자가 [2] App 에 정상적으로 로그인 한 경우 로그인 세션 종료 실시 - [1] App 에서는 다시 로그인 화면으로 인텐트 이동 수행 실시
[로직 정리] 정리 로직 : MOBILE (Android / Ios) 상태 : [모바일] 개발 DEV , 운영 ENZ 구분 상수 값 초기화 및 로직 분기 처리 방법 [설 명] [안드로이드] 1. 별도 개발, 운영 모드에 따라서 상수값 초기화, 개발 및 운영 체크를 수행하는 S_DevEnzCheck 클래스 생성 실시 2. 클래스 내에 전역 변수 private static final boolean DEV_ENZ_FLAG = false; 선언 실시 // TODO [false = 개발 / true = 운영] 3. Init 메소드 생성해서 개발, 운영 플래그 값에 따라서 프리퍼런스 데이터 저장 수행 실시 4. isEnz 메소드 생성해서 개발, 운영 구분 플래그 값 리턴 반환 실시 5. 참고 사이트 : ht..
[로직 정리] 정리 로직 : MOBILE (Android / Ios) 상태 : [모바일] DEBUG 디버그 , RELEASE 릴리즈 구분 환경에 따라서 LOG 로그 출력 실시 [설 명] [안드로이드] 1. 별도 디버그, 릴리즈 모드에 따라서 로그 출력 여부를 결정하는 S_Log 클래스 생성 실시 2. BuildConfig.DEBUG 사용해서 앱 디버그 , 릴리즈 모드 체크 수행 실시 3. 만약 DEBUG 모드로 수행 중 인 경우는 Log 출력 실시 RELEASE 모드로 앱 APK , AAB 파일을 생성한 경우 Log 출력 안함 4. 참고 사이트 : https://blog.naver.com/kkh0977/222903507732 [IOS] 1. 별도 디버그, 릴리즈 모드에 따라서 로그 출력 여부를 결..
[로직 정리] 정리 로직 : MOBILE (Android / Ios) 상태 : [모바일] 웹뷰 (webview) 에서 http 통신을 사용해 파일 다운로드 (file download) 수행 로직 [설 명] [Android] [1]. AndroidManifest.xml 부분에서 퍼미션 권한 설정 실시 - INTERNET (인터넷 사용) - WRITE_EXTERNAL_STORAG (파일 쓰기) - READ_EXTERNAL_STORAGE (파일 읽기) - android:requestLegacyExternalStorage="true" - android:usesCleartextTraffic="true" [2]. A_Main 클래스 시작 부분에서 네트워크 연결 상태 체크 실시 [3]. 정상적으로 네트워크가 ..
[로직 정리] 정리 로직 : MOBILE (Android) 상태 : [Android] SCREEN_BRIGHTNESS 화면 밝기 조절 및 원본 화면 밝기 복구 로직 [설 명] [Android] [1]. 개별 화면 밝기 설정 화면 제작 실시 및 프리퍼런스에 데이터 저장 [2]. onCreate 부분에서 [설정]에서 저장된 화면 밝기 프리퍼런스 값 확인 및 화면 밝기 설정 실시, 원본 화면 밝기 값 별도 저장 [3]. 설정에서 저장된 화면 밝기 값 프리퍼런스 데이터가 없을 경우 >> onResume 부분에서 원본 화면 밝기 값 확인 및 QR 인식을 위해서 화면 밝기 값 최대로 설정 [4]. onPause 부분에서 원본 화면 밝기 값으로 다시 디스플레이 밝기 설정 실시 [5]. 추가로 설정 화면에서 안..
[로직 정리] 정리 로직 : 데이터베이스 상태 : [데이터베이스] 프로시저 OUT 메시지, 테이블 조회 리턴 결과 반환 [설 명] [Oracle] 1. 프로시저 인풋 정의 타입에서 OUT 메시지, 커서 정의 2. 스프링 mybatis 에서 개별 메시지, 커서 받는 부분 정의 3. 예시 Mybatis 코드 : void userProcedure(Map map); [Mssql / Mysql] 1. 프로시저 인풋 정의 타입에서 OUT 정의 없음 2. OUT 메시지, 테이블 조회 결과를 반환 하고 싶은 경우 select 절로 각각 리턴 실시 3. 스프링 mybatis 에서 OUT 메시지, 테이블 조회 결과를 받는 맵을 각각 정의 후 받음 4. 예시 Mybatis 코드 : List USER_MSG_PROC(..
[로직 정리] 정리 로직 : MOBILE (Android / Ios) 상태 : [모바일] 권한 사용 이용 화면 표시 및 권한 설정 호출 실시 [설 명] [모바일] [1]. 사전 초기 웹뷰 로드 시 권한 사용 이용 화면 호출 실시 [2]. 앱에 들어가는 권한 상세 설명 표시 실시 [3]. [확인] 버튼 클릭 시 메인 웹뷰 로드 수행 실시 및 권한 동의 팝업창 연속 표시 실시 (브릿지로 명령 전달) [4]. 초기에 거부한 권한이 있더라도 , 세부적인 앱 기능 실행 시 권한 부여 체크 후 기능 실행 실시 [5]. 설정 화면 개별 별도 생성 및 애플리케이션 권한 창 이동 메뉴 생성 실시 (브릿지로 명령 전달)
[로직 정리] 정리 로직 : MOBILE (Ios) 상태 : [IOS] 앱 푸시 알림 뱃지 카운트 개수 확인 및 닷지 아이콘 표시 수행 [설 명] 1. A_Main 포그라운드 상태에서 푸시 알림을 받은 경우 >> NotificationCenter 사용해 브로드 캐스팅 알림 전달 실시 2. 포그라운드 상태 인 경우 배너 + alert 팝업창 표시 수행 3. 백그라운드 >> 포그라운드 전환 시 A_Main 클래스 포그라운드 상태 체크 부분에서 뱃지 아이콘 개수 확인 4. 뱃지 아이콘 개수가 1개 이상 인 경우 >> A_Main 클래스 푸시 알림 닷지 표시 부분 활성 실시 5. 앱 kill 상태 >> 푸시 아이콘 및 일반 앱 아이콘 클릭 접속 시 >> 로그인 화면에서 푸시 뱃지 카운트 체크 6. 푸시 ..
[로직 정리] 정리 로직 : MOBILE (Android / Ios) 상태 : [모바일] 웹뷰 (webview) 로드 시 사전 캐시 초기화 로직 [설 명] [모바일] 1. A_Main 클래스 시작 부분에서 네트워크 연결 상태 체크 실시 2. 모바일에 네트워크가 연결 된 경우 >> appVersionHttpRequest 앱 버전 확인 http 요청 실시 (커넥션 타임 5초) 3. 정상적으로 onSuccess 응답을 받은 경우 body 쪽에서 데이터 읽음 - onFail 인 경우 : 커넥션 타임 아웃인 경우는 디스크 캐시 사용해 웹뷰 로드 / 그 외는 캐시 초기화 로직 사용해 웹뷰 로드 4. onSuccess 인 경우 body 쪽에서 읽은 데이터 널 체크 수행 >> 널이 아닌 경우 >> 기존에 저장된..
[로직 정리] 정리 로직 : MOBILE (Ios) 상태 : [IOS] WkWebview 웹뷰 로딩 에러 (error) 상태 감지 및 앱 실행 초기화 로직 [설 명] [IOS : 앱 실행 초기화 로직] 1. 웹뷰 로딩 및 로그인 수행 후 자바스크립트 브릿지로 웹뷰 초기화 시간 (ex : 30분) 전달 받음 (디폴트 : 30분) 2. SceneDelegate 클래스 >> sceneWillResignActive (Scene 활성 상태 해제 및 사용자 이벤트 응답 중지) 부분에서 프리퍼런스에 백그라운드 전환 시간 저장 3. AppDelegate 클래스 >> didFinishLaunchingWithOptions, applicationWillTerminate , didDiscardSceneSessions ..
[로직 정리] 정리 로직 : MOBILE (Android) 상태 : [Android] 블루투스 SPP 통신 설정 및 데이터 송.수신 테스트 로직 [설 명] [안드로이드] 1. AndroidManifest.xml 파일에 블루투스 사용 퍼미션 등록 실시 2. A_Main 클래스 onCreate() 부분에서 블루투스 활성 여부 체크 3. 블루투스가 활성 된 경우 >> SPP 통신을 수행 하기 위한 UUID 설정 - UUID 설정이 중요한 것은 UUID 값 으로 [스마트폰 임베디드] , [스마트폰 스마트폰] 통신 수행 4. 근처 블루투스 기기 목록 스캔 수행 >> 연결하려는 장비 페어링 수행 실시 (페어링은 address 주소를 사용해서 다이렉트 연결 실시) 5. 정상적으로 connection 완료 시 ..
[로직 정리] 정리 로직 : MOBILE (Android / Ios) 상태 : [모바일] 흔들기 (shake) 이벤트 수행 및 알림 전달 로직 [설 명] [안드로이드] 1. A_Main 클래스 onCreate() 부분에서 SensorManager 서비스 등록 및 디바이스가 가속도 센서를 사용할 수 있는 지 체크 실시 2. A_Main 클래스에 흔들기 이벤트를 감지할 수 있는 onSensorChanged 메소드 등록 >> 웹뷰 로드 수행 실시 3. 웹뷰 자바스크립트 브릿지로 흔들기 이벤트 사용 명령 전달 받음 (Y / N) - 디바이스가 가속도 센서를 사용할 수 없는 경우는 >> 알림 팝업창 표시 수행 4. 실제로 디바이스 흔들기 수행 실시 5. 정상적으로 흔들기 이벤트가 발생한 경우 >> 흔들기 ..
[로직 정리] 정리 로직 : MOBILE (Android) 상태 : [Android] TCP / IP 소켓 통신 버퍼 관리 및 데이터 검증 로직 [설 명] [안드로이드] 1. 사전 TCP / IP 소켓 통신을 수행하기 위해 데이터 포맷 프로토콜 정의 실시 (STX / 데이터 길이 / 데이터 / ETX) 2. STX 시작 비트를 확인하면 버퍼에 순차적으로 데이터를 쌓는다 3. 버퍼는 ETX 종료 비트가 들어올 때까지 계속해서 들어온 데이터를 추가한다 4. ETX 종료 비트까지 정상적으로 받은 경우는 >> 데이터 검증을 수행한다 5. 데이터 길이 확인 >> 실제로 데이터 길이 만큼 버퍼에 쌓인 데이터 LENGTH 확인 6. 정상적으로 데이터 길이 만큼 버퍼에 데이터가 쌓인 경우 >> 데이터 파싱 등 ..