안드로이드 에뮬레이서 밖에서 or 안에서 실행하기

반응형
728x170

안드로이드 스튜디오 4.1부터 

 

앱 내부에서 에뮬레이터를 실행하는 기능이 생겼습니다.

 

(전 좋은 점을 모르겠는데 일단 만들어 줬네요;;)

 

 

 


1. 에뮬레이터를 밖 or 안에서 실행하기

 

1. Window의 경우

 

File -> Setting

300x250

2. Mac의 경우

 

androidStudio -> Preferences

 

를 들어가면 아래와 같은 창을 볼 수 있습니다.

 

여기서 "Launch in a tool window"를 

 

체크하면 -> 안드로이드 스튜디오 안에서 에뮬레이터가 실행됨

 

체크해제 -> 안드로이드 스튜디오 밖에서 에뮬레이터가 실행됨

 

 

 

반응형

댓글()

[100% 해결]Git Private repository 클론(clone)시 not found 문제

IT 관련 지식|2022. 5. 14. 08:30
반응형
728x170

처음으로 다른 사람의 private repository를 Clone 해봤는데

 

"remote: Repository not found" 에러를 맞이했다...

 

이 에러는 아래와 같은 방법으로 간단하게 해결할 수 있다

 

 

해당 Repository에 소속되어있는 유저의 이름(아이디 아님)을 적고 + @ + Repository주소

 

즉, 이런식으로 적으면 된다!

 

git clone https://[USER_NAME]@github.com/~~~.git

여기서 이름을 넣으면 이런식으로 된다

git clone https://abc123@github.com/~~~.git

 

혹시 여기까지 했는데 비밀번호를 입력해라고 할 경우

 

개인 액세스 토큰을 입력하면됩니다

 

300x250

 

반응형

댓글()

WorkManager에서 suspend 함수 사용 시 두 번 호출 문제

반응형
728x170

1. 문제 현상

 

CoroutineWorker를 사용하는데

 

이 클래스 내부에서 suspend 함수를 호출하면

 

해당 suspend 함수를 완료하고 나서 다시 돌아오는 현상이 발생했다....

 

예를 들어 아래의 사진을 보면

 

 

doWork 함수 내에서 tartgetAlarmData를 collect하는데

 

이때 비동기 작업을 한다(suspend funtion)

 

그리고 해당 collect 내부에선 Activity를 띄우는데 

 

문제는 Activity를 닫고나서 다시 targetAlarmData를 collect한다

 

(ReceiverAlarmWork 클래스나 doWork 함수부터 시작하는게 아님, targetAlarmData를 collect하는 부분부터 시작함...)

300x250

2. 해결 방법

 

원하는 타이밍에 해당 workManager를 stop 시켜주면된다

 

하지만 특정 workManager를 지정하기 위해선 해당 workManager에 이름을 붙여줘야한다

 

enqueueUniqueWork("uniqueWorkName", ExistingWorkPolicy, OneTimeWorkRequest)

enqueueUniqueWork 함수를 사용해서 시작하려는 workManager에 이름을 붙일 수 있다

 

여기선 uniqueWorkName을 "onAlarmActivity"로 하였다

 

그리고 workManager는 onAlarmActivity를 열기 때문에 거기서 이 work를 cancel해주면 된다

 

아래의 함수를 onAlarmActivity의 onCreate()에서 호출하면 더 이상 ReceiverAlarmWorker가 동작하지 않는다

 

반응형

댓글()

[ruby] 다른 디렉토리에 있는 파일(클래스) 사용(require)

IT 관련 지식/루비|2022. 5. 5. 12:02
반응형
728x170

ruby는 require을 사용해서 다른 디렉토리에 있는 클래스 파일을 불러와 사용할 수 있습니다.

 


1. 과정

 

  1. 서버를 실행하고 웹 페이지에 접속하면 book의 show_book이라는 액션을 실행하도록 하기
  2. show_book 액션(함수)에서 다른 디렉토리에 있는 클래스의 함수를 호출

2. 실습

 

 

routes.rb 파일의 모습

 

 

 

common\book_utils.rb

controllers에는 book_controller.rb가 있고

 

여기서 common 폴더 있는 book_utils.rb를 호출하도록 한다

 

<book_utils.rb 내부>

book_utils.rb 모습

BookUtils라는 클래스 내부에

 

get_book_data라는 함수가 존재한다

 

해당 함수는 호출될 시 특정 문자열을 반환(return)한다

 

 

 

<book_controller.rb 내부>

book_controller.rb 내부

require을 사용해서 참조할 파일을 지정해줘야한다

 

' ./ ' 을 사용해서 루트 디렉토리에서부터 지정할수도 있고

 

' ../ ' 을 사용해서 상대 디렉토리를 사용해서 지정할 수 도 있다

 

BookUtils.new를 사용해서 클래스에 대한 객체를 만들어준다

 

생성한 객체를 사용하여 get_book_data 함수를 호출할 수 있다

 

300x250

 

반응형

댓글()