반응형

1. AWS 셋업
    - AWS 계정 생성
    - Amplify CLI 설치(npm install -g @aws-amplify/cli)
    - IAM user 계정 추가(secretAccessKey 는 생성시에만 확인 가능하므로 저장 필요)
    - Amplify 설정(amplify configure)

 

docs.amplify.aws/lib/project-setup/prereq/q/platform/android

 

Amplify Framework Documentation

 

docs.amplify.aws

 

2. Android Setup
    - 안드로이드 프로젝트 생성
    - 프로젝트 폴더에서 amplify 초기화(amplify init)
        * IAM user 계정의 accessKeyId, secretAccessKey 입력
        * raw 폴더에 json 파일 생성됨

 

docs.amplify.aws/lib/project-setup/create-application/q/platform/android

 

Amplify Framework Documentation

 

docs.amplify.aws

 

아래 에러 발생시 아래 링크 참조

Neither Cognito Identity or Cognito UserPool was used

stackoverflow.com/questions/65303645/aws-amplify-cognito-auth-error-in-android-app

반응형
반응형

Firebase 호스팅은 웹사이트 및 앱을 배포하고 관리하는 데 특화된 인프라, 기능, 도구를 제공합니다.

Firebase CLI를 사용하여 컴퓨터의 로컬 디렉터리에 있는 파일을 호스팅 서버에 배포하므로 설치가 필요합니다.

 

Firebase CLI 설치(Windows)

nvm-windows(노드 버전 관리자)를 사용하여 Node.js를 설치합니다. Node.js를 설치하면 npm 명령어 도구가 자동으로 설치됩니다. 아래 다운로드 페이지에서 nvm-setup.zip 파일 다운로드 및 설치합니다.

다운로드: github.com/coreybutler/nvm-windows/releases

nvm 설치 후 아래의 명령어로 Node.js 를 설치합니다.

    nvm install 14.0.0

 

다음 명령어를 실행하여 npm으로 Firebase CLI를 설치합니다.

    npm install -g firebase-tools

 

로그인하여 Firebase CLI 테스트

다음 명령어를 실행하여 Google 계정으로 Firebase에 로그인합니다.

    firebase login

 

 셋업이 잘되었는지 알아보기 위해 아래의 명령어로 프로젝트 리스트를 읽어 올 수 있는지 확인 합니다.

    firebase projects:list

 

Firebase 프로젝트 초기화

Firebase 프로젝트를 초기화하려면 앱 디렉터리 내에서 다음 명령어를 실행합니다.

    firebase init

 

Firebase 프로젝트에 배포

Firebase 프로젝트에 배포하려면 프로젝트 디렉터리에서 다음 명령어를 실행합니다.

    firebase deploy

 

웹 브라우저에서 Hosting URL을 입력하여 접속이 가능한지 확인합니다. 

 

 

Firebase 프로젝트를 로컬로 제공 및 테스트

프로덕션에 배포하기 전 로컬에서 호스팅되는 URL에서 Firebase 프로젝트를 보고 테스트할 수 있습니다. 

    firebase serve

 

 

 

https://firebase.google.com/docs/hosting/

 

Firebase 호스팅

Firebase 호스팅은 웹 앱, 정적/동적 콘텐츠, 마이크로서비스를 위한 빠르고 안전한 호스팅을 제공합니다.

firebase.google.com

https://firebase.google.com/docs/hosting/quickstart

 

Firebase 호스팅 시작하기

Firebase 호스팅은 HTML, CSS, 자바스크립트, 미디어 파일과 같은 앱의 정적 애셋을 호스팅할 뿐만 아니라 동적 콘텐츠를 제공하고 마이크로서비스를 호스팅하는 빠르고 안전하며 신뢰성 높은 방식

firebase.google.com

firebase.google.com/docs/cli

 

Firebase CLI 참조

firebase.ml.naturallanguage.translate

firebase.google.com

 

반응형
반응형

Tap X,Y position

adb shell input tap 500 1450

 

Swipe X1 Y1 X2 Y2 [duration(ms)]

adb shell input swipe 100 500 100 1450 100

 

LongPress X Y:

adb shell input swipe 100 500 100 500 250

 

Insert text

adb shell input text 'your text'

 

Key event(https://developer.android.com/reference/android/view/KeyEvent)

adb shell input KEYCODE_HOME

adb shell input KEYCODE_BACK

adb shell input KEYCODE_MENU

 

adb shell input KEYCODE_A

adb shell input keyevent 29 # for key 'A'

 

0 -->  "KEYCODE_UNKNOWN" 
1 -->  "KEYCODE_MENU" 
2 -->  "KEYCODE_SOFT_RIGHT" 
3 -->  "KEYCODE_HOME" 
4 -->  "KEYCODE_BACK" 
5 -->  "KEYCODE_CALL" 
6 -->  "KEYCODE_ENDCALL" 
7 -->  "KEYCODE_0" 
8 -->  "KEYCODE_1" 
9 -->  "KEYCODE_2" 
10 -->  "KEYCODE_3" 
11 -->  "KEYCODE_4" 
12 -->  "KEYCODE_5" 
13 -->  "KEYCODE_6" 
14 -->  "KEYCODE_7" 
15 -->  "KEYCODE_8" 
16 -->  "KEYCODE_9" 
17 -->  "KEYCODE_STAR" 
18 -->  "KEYCODE_POUND" 
19 -->  "KEYCODE_DPAD_UP" 
20 -->  "KEYCODE_DPAD_DOWN" 
21 -->  "KEYCODE_DPAD_LEFT" 
22 -->  "KEYCODE_DPAD_RIGHT" 
23 -->  "KEYCODE_DPAD_CENTER" 
24 -->  "KEYCODE_VOLUME_UP" 
25 -->  "KEYCODE_VOLUME_DOWN" 
26 -->  "KEYCODE_POWER" 
27 -->  "KEYCODE_CAMERA" 
28 -->  "KEYCODE_CLEAR" 
29 -->  "KEYCODE_A" 
30 -->  "KEYCODE_B" 
31 -->  "KEYCODE_C" 
32 -->  "KEYCODE_D" 
33 -->  "KEYCODE_E" 
34 -->  "KEYCODE_F" 
35 -->  "KEYCODE_G" 
36 -->  "KEYCODE_H" 
37 -->  "KEYCODE_I" 
38 -->  "KEYCODE_J" 
39 -->  "KEYCODE_K" 
40 -->  "KEYCODE_L" 
41 -->  "KEYCODE_M" 
42 -->  "KEYCODE_N" 
43 -->  "KEYCODE_O" 
44 -->  "KEYCODE_P" 
45 -->  "KEYCODE_Q" 
46 -->  "KEYCODE_R" 
47 -->  "KEYCODE_S" 
48 -->  "KEYCODE_T" 
49 -->  "KEYCODE_U" 
50 -->  "KEYCODE_V" 
51 -->  "KEYCODE_W" 
52 -->  "KEYCODE_X" 
53 -->  "KEYCODE_Y" 
54 -->  "KEYCODE_Z" 
55 -->  "KEYCODE_COMMA" 
56 -->  "KEYCODE_PERIOD" 
57 -->  "KEYCODE_ALT_LEFT" 
58 -->  "KEYCODE_ALT_RIGHT" 
59 -->  "KEYCODE_SHIFT_LEFT" 
60 -->  "KEYCODE_SHIFT_RIGHT" 
61 -->  "KEYCODE_TAB" 
62 -->  "KEYCODE_SPACE" 
63 -->  "KEYCODE_SYM" 
64 -->  "KEYCODE_EXPLORER" 
65 -->  "KEYCODE_ENVELOPE" 
66 -->  "KEYCODE_ENTER" 
67 -->  "KEYCODE_DEL" 
68 -->  "KEYCODE_GRAVE" 
69 -->  "KEYCODE_MINUS" 
70 -->  "KEYCODE_EQUALS" 
71 -->  "KEYCODE_LEFT_BRACKET" 
72 -->  "KEYCODE_RIGHT_BRACKET" 
73 -->  "KEYCODE_BACKSLASH" 
74 -->  "KEYCODE_SEMICOLON" 
75 -->  "KEYCODE_APOSTROPHE" 
76 -->  "KEYCODE_SLASH" 
77 -->  "KEYCODE_AT" 
78 -->  "KEYCODE_NUM" 
79 -->  "KEYCODE_HEADSETHOOK" 
80 -->  "KEYCODE_FOCUS" 
81 -->  "KEYCODE_PLUS" 
82 -->  "KEYCODE_MENU" 
83 -->  "KEYCODE_NOTIFICATION" 
84 -->  "KEYCODE_SEARCH" 
85 -->  "TAG_LAST_KEYCODE"

 

 

반응형
반응형

 

Generic 타입 사용법

https://namjackson.tistory.com/18

 

String 파일 저장

https://baejangho.com/entry/Java-save-String-to-file

 

Singleton

https://medium.com/@joongwon/multi-thread-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-%EC%98%AC%EB%B0%94%EB%A5%B8-singleton-578d9511fd42

반응형
반응형

 adb -s [시리얼넘버] command

여러대의 디바이스에서 특정 디바이스에 명령 실행시 -s [시리얼넘버] 추가

 

◆ adb shell reboot

재부팅

 

◆ adb devices

디바이스 시리얼 넘버  확인

 

◆ adb shell rm -r /system/sd/app

폴더 삭제

 

adb shell input keyevent 4 : back키 입력

키 이벤트 입력

 

adb shell am start -a android.settings.SETTINGS

설정화면 띄우기

 

◆ adb exec-out screencap -p > /sdcard/[저장할파일명].png

    adb pull /sdcard/[저장할파일명].png

스크린 캡쳐 후 PC로 복사

 

adb shell screenrecord /sdcard/[저장할파일명].mp4

동영상 녹화

 

◆ adb shell top -n 10 | grep "keyword"

Process 사용률 확인

 

◆ adb shell dumpsys [패키지명]

dumpsys는 안드로이드 폰의 어플리케이션 및 현재 기기의 상태에 대한 자세한 정보를 제공한다.

dumpsys meminfo: 메모리 사용 정보를 표시

dumpsys cpuinfo: CPU 프로세서 사용 정보를 표시

dumpsys account: 모든 계정에 대한 정보를 표시

dumpsys activity: Activity에 대한 정보를 표시

dumpsys window: 키보드와 윈도우, 그리고 그들의 z order에 대한 정보를 표시

dumpsys wifi: 접속 가능한 액세스 포인트와 현재의 연결 상태를 표시

dumpsys power: 전원 관리와 관련된 정보(wakelock, screen off time 등)를 표시

 

◆ adb setprop/getprop

system property

 

◆ adb shell service list

service list

 

◆ adb shell ps | findstr com.simple....

  adb shell ps | grep com.simple....

실행중인 process 검색

 

 adb shell service list | findstr [서비스명]

실행중인 service list 검색

 

◆ adb shell cat /proc/version

리눅스 커널 버전

 

◆ adb install [options] [APK파일명].apk

adb로 컴퓨터에 있는 apk파일로 안드로이드 기기에 애플리케이션 설치

-r: 기존 앱을 재설치

-t: 테스트 APK를 설치하도록 허용

-d: 버전 코드 다운그레이드를 허용

-g: 앱 manifest에 나열된 모든 권한을 부여

 

◆ adb dumpdate > dump.log

로그를 파일로 저장

 

◆ adb shell pm list packages -f

설치된 앱 리스트

 

◆ adb push /[폴더명]/

로컬 파일에 존재하는 파일을 기기의 특정 폴더로 복사하는 명령어

 

◆ adb pull /data/data/[패키지명]/databases

특정 패키지 DB 를 로컬 pc로 복사하는 명령어

 

 기타

df : 파일 시스템의 용량을 확인하는 명령어(disk freespace)

dmesg : 부팅하는 동안의 커널로그 확인하는 명령 (display message)

getprop : system 프로퍼티 정보를 보여줌

stop/start/reboot : /중지/시작/리붓

netcfg : network ipaddress 보기

 

반응형
반응형

IntelliJ 단축키가 잘 정리된 문서가 있네요,  아래 링크에서 다운받아 출력해서붙여 두시면 도움이 될것 같네요.

 

다운로드 링크

https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf

 

Windows / Linux

 

Mac OS

 

 

반응형
반응형

Open API 란?
 인터넷 이용자가 일방적으로 웹 검색 결과 및 사용자인터페이스(UI) 등을 제공받는 데 그치지 않고 직접 응용 프로그램과 서비스를 개발할 수 있도록 공개된 API를 말한다. 지도 서비스 및 다양한 서비스에서 시도되고 있으며 누구나 접근하여 사용할 수 있다는 장점이 있다.

 

 

새로운 서비스를 시작하고 싶다면 여러 Open API를 찾아볼 필요가 있다.  다양한 데이터를 잘 보여주거나, 가공하여 정보를 제공하여 서비스를 확장할 수 있기 때문이다.


Open API를 쉽게 검색하는 방법은 아래의 두 사이트를 이용하는 방법이다

 

 

1) API Store

API 스토어에서는 아래 링크를 통해 다양한 Open API를 검색할 수 있다.

유료 API인 경우, 가격/신청 방법 및 개발가이드에 웹사이트내에서 제공되고,
무료 API인 경우 가이드의 링크가 제공되어, 링크 접속을 통해 가이드를 확인 할 수 있다.

www.apistore.co.kr/api/apiList.do

 

API, DB 컨텐츠 판매, 구매, 플랫폼 구축 :: API 스토어

국내외 제공하는 다양한 유료/무료 API들을 찾아내어 소개하며 DB컨텐츠를 직접 수급해 API 형태로 제작하여 제공합니다.

www.apistore.co.kr

 

2) 공공데이터 포털

공공데이터에 대한 Open API는 아래에서 검색할 수 있다.

정부 기관에서 제공하는 데이터를 파일 또는 Open API를 통해 얻을 수 있으며,
정부 기관에서 제공하는것이라 데이터를 신뢰할 수 있다.

www.data.go.kr/

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

 

반응형
반응형

구글에서는 안드로이드 앱을 위해 Key-Value 방식자동 백업 방식의 두가지 방식을 지원한다.

 

1) Key-Value 방식
https://developer.android.google.cn/guide/topics/data/keyvaluebackup.html?authuser=19&hl=ko
위 링크를 보면 BackupAgent의 onBackup(), onRestore() 구현을 통해 쉽게 백업, 복원을 구현할 수 있다.

 

2) 자동 백업 방식
앱의 내부 저장소 폴더 내의 모든 파일에 대해 자동 백업을 수행하며 25MB의 사이즈 제한을 가진다.  

 

아래의 함수로 리턴되는 경로와 파일이 백업된다.

    공유 환경 설정 파일
    getFilesDir()
    getDir(String, int)을 사용하여 액세스하는 앱의 내부 저장소에 저장된 파일
    getDatabasePath(String)에서 반환한 디렉터리의 파일
    getExternalFilesDir(String)에서 반환한 디렉터리의 외부 저장소에 있는 파일


XML파일에 설정을 통해 백업 할 파일과 제외 파일을 명시적으로 설정할 수 있다.

- 자동 백업으로 사용자 데이터 백업
https://developer.android.google.cn/guide/topics/data/autobackup.html?authuser=19&hl=ko

- Codelab : 자동 백업 샘플앱
https://codelabs.developers.google.com/codelabs/android-backup-codelab/index.html?authuser=19&hl=ko#0

- 백업 서비스 등록
https://developer.android.google.cn/google/backup/signup?hl=ko&authuser=19

 

백업 및 복원 테스트를 위한 adb command 
    - bmgr - 다양한 백업 및 복원 작업 실행
        adb shell bmgr list transports  Google 백업 전송이 사용할 수 있고 활성화되어 있는지 확인  
        adb shell bmgr backupnow  key-value 백업을 시작
        adb shell bmgr fullbackup  자동 백업을 시작
        adb shell bmgr backup  BackupManager.dataChanged() 백업리스트에 포함
        adb shell bmgr run 백업 트리거
        adb shell bmgr restore   복원

    - Pending key/value backup 확인
        adb shell dumpsys backup  

반응형

+ Recent posts