반응형
P2SK의 라이프
블로그 이미지
P2SKLife
앱개발에 대한 정보와 취미인 음악감상에 대한 정보를 공유합니다.

calendar

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

Notice

250x250
반응형
2021. 12. 10. 10:46 앱개발/코듈러,앱인벤터
728x90
반응형

위 그림과 같이 결합되지 않은 argument가 있을 때에도 경고 숫자가 나타납니다.

화면에 추가되었으나 사용하지 않는 블록이 있거나

블록이 필요한데 추가되지 않은 것이 있으면 경고 숫자가 증가합니다.

빈 곳을 채우거나 필요없는 블록을 제거하면 경고 숫자도 줄어드는 것을 알 수 있습니다.

728x90
반응형
posted by P2SKLife
2021. 12. 10. 10:17 앱개발/코듈러,앱인벤터
728x90
반응형

코듈러에서 빌드 중 다음과 같이 에러가 발생할 경우 대처방법 중 한 가지 사례입니다.

빌드 에러는 사유가 여러가지있을 수 있는데 다음의 사례는 종종 접할 수 있을 것 같아 공유해봅니다.

일단 에러 메세지를 봐야할 필요가 있습니다.

우 하단의 [View log]를 클릭하면 왜 오류가 발생했는지 내용이 나옵니다.

 

내용 중 맨 밑에 부분을 보면 다음과 같은 내용이 보일 경우 대처방법입니다.

간단히 설명 드리며 Screen1화면에서 argument가 4개 있어야 하는데 3개만 있다는 뜻입니다.

간단히 말해서 뭔가 결합해야할 블록이 있는데 빠졌다는 뜻입니다.

Screen1의 블록을 보면 좌하단에 Warning에 노란삼각형과X가 있는 빨간원에 숫자가 보입니다.

이 숫자가 있으면 오류가 발생합니다. 블록 중 그림과 같이  그림을 보여줘야할 컴포넌트 우측에 파일명을 지정하는 arguments가 빠져있습니다. 이것을 채워주면 빌드 에러가 해결됩니다.

아래 그림처럼  Arguments블록을 채워주니 경고 숫자가 0가 되고 정상적으로 빌드가 되었습니다.

728x90
반응형
posted by P2SKLife
728x90
반응형

앱인벤터에서 공공데이터포털의 자료 중 자외선 API를 읽어오는 방법입니다.

1. 공공데이터포털에 로그인합니다.

 

 

공공데이터 포털

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

www.data.go.kr

2. 검색어에 "자외선"을 입력합니다.

3. 검색 결과 중 Open API를 클릭한 후 기상청_생활지수 조회서비스(3.0)의 [활용신청]을 클릭합니다.

4. 필요한 항목들을 입력하고 [활용신청]을 클릭합니다.

 

5. 마이페이지를 보면 활용신청한 목록을 확인할 수 있습니다.

6. 위 그림의 개발계정에서 승인된 목록 중 제목을 클릭하면 인증키 값을 확인할 수 있습니다. 읽어올때 사용해야 하는 인증키는 붉은색 줄로 가린 Encoding용 인증키입니다.

7. [인증키 발급현황]을 클릭해도 인증키를 확인할 수 있습니다.

자 이제 인증키를 발급받았으니 URL을 만드는 방법을 알아보겠습니다.

8. 6번 개발계정 상세보기 화면에서 [상세설명]을 클릭합니다.

 

9. 상세내역 중 요청주소와 항목명, 데이타를 조합하여 요청키값을 만들어야 합니다.

10. 조합하는 방법입니다.

앱인벤터에서 사용할 수 있는 코딩 예제는 curl을 그대로 사용하면됩니다.

단 여기서 3가지 항목을 개발자가 값을 수정해서 사용하면 됩니다.

서비스키주소코드, 그리고 날짜만 수정하면 됩니다.

서비스키는 6번의 인증키 값을 복사하여 붙여넣기 하면됩니다.

주소코드는 행정동코드(10자리)를 입력하면 됩니다.

날짜는 연월일시를 조합하여 10자리로 만들어주면됩니다.

이때시간은 24시간제로2자리로처리해야합니다.

앱인벤터의 시간패턴을 yyyyMMddHH으로 설정해주면 간단하게 해결됩니다.

11. 앱인벤터에서 이것을 조합하는 블록은 아래와 같이 하시면 됩니다.

디자인에서 연결에 있는 웹 컴포넌트를 화면에  추가합니다.

 

그리고 블록에서 다음과 같이 블럭을 구성하면 됩니다.

여기서 핵심은 행정동코드인데, 제가 올린 기상청자료 RSS를 읽어오는 파일에 행정동코드를 목록선택버튼으로 선택하는 것이 포함되어 있으니 활용하시면 쉽게 활용하실 수 있을 것입니다. 아래 링크를 클릭하시면 예제파일을 다운로드 받을 수 있습니다.

 

 

앱인벤터(app inventor)에서 행정동코드를 파일로 읽어서 목록선택버튼으로 선택하게 만들고, 기상

앱인벤터에서 행정동 코드를 목록선택버튼으로 시도, 시군구, 읍면동 항목을 선택하여 생성하는 예제를 공개합니다. 필요하신 분들은 가져다 활용해보세요.. 아래 파일을 다운로드 받아서 앱인

2fpretty0911.tistory.com

 

12. 이제 웹컴포넌트로 호출을 하면 다음의 항목들을 포함하는 결과문을 얻을 수 있습니다.

13. 실제 얻게되는 파일의 내용은 다음과 같이되어 있습니다.

14. 이제 필요한 항목을 파싱하여 추출하면 됩니다.

우리가 주로 활용할 것은 오늘의 자외선 지수로 빨간 사각형으로 된 부분에 그 값이 있습니다.

<today>1</today> 가운데 있는 숫자 1을 추출하는 방법입니다.

숫자가 두잘, 3자리까지도 나올 수 있다는 가정하에 3자리 문자를 추출해서 숫자가 아닌 문자(< /)를 삭제하는 방법으로 값을 추출하였습니다. 그리고 추출된 값으로 상태를 구분하여 한글로 출력하고 글자색을 변경하는 블록은 아래와 같습니다.

728x90
반응형
posted by P2SKLife
2021. 11. 27. 12:15 앱개발/코듈러,앱인벤터
728x90
반응형

앱인벤터에서 행정동 코드를 목록선택버튼으로 시도, 시군구, 읍면동 항목을 선택하여 생성하는 예제를 공개합니다.

필요하신 분들은 가져다 활용해보세요.. 

아래 파일을 다운로드 받아서 앱인벤터에서 프로젝트 메뉴 중에 프로젝트(aia)가져오기로 읽어오시면 됩니다.

예제의 행정동코드는 2021년 11월 29일 기준 행정동코드의 갯수는 3,512개소입니다.

weather4.aia
0.05MB

업데이트되는 코드는 아래 링크를 들어가셔서 날짜 확인하시고 

jscode를 다운로드 받아서 KIKcd_H<.날짜.> 파일을 앱인벤터에 등록되어 있는 미디어 파일인 jscode.csv를 삭제하고 새로 업로드하시면 됩니다. 이때 jscode.xls파일을 엑셀에서 jscode.csv파일로 저장하고나서 메모장에서 읽어들인 후 인코딩을 <UTF-8>로 변경하여 저장해야 한글이 깨지지 않습니다. 

 

행정안전부> 업무안내> 지방자치분권실> 주민등록,인감,행정사> 주민등록,인감,행정사

행정안전부 홈페이지에 오신것을 환영합니다.

www.mois.go.kr

시도, 시군구, 읍면동을 선택하면 해당 행정코드를 읽어서 해당지역의 기상청의 RSS 현재 정보를 읽어오는 예제입니다.

현위치를 클릭하면 GPS가동중인 현재 위치의 행정구역주소를 읽어서 자동으로 기상청 RSS를 읽어옵니다.

읽어온 데이타를 파싱하여 보여주는 예제의 결과는 아래 사진과 같습니다.

파싱하는 것은 아래 링크에 있는 <휴몬랩 메이커 연구소> 게시글을 참고하였습니다.

 

[프로토타이핑/앱 인벤터] 앱 인벤터로 날씨 어플 만들기 (GPS 위치센서 & 기상청 날씨 데이터 RSS

앱인벤터로 날씨 어플을 만들어 보았습니다. 본 포스팅과 관련된 라이브러리, 프로젝트 파일은 "휴몬...

blog.naver.com

참고로 기상청 RSS 수신내용에 있는 기상 관련 코드값들에 대한 설명입니다.

[hour] : 시간(3시간 단위)

[day] : 번째날 [오늘0,내일1,모레2]

[temp] : 현재 온도

[tmx] : 최고온도 [-999.0은 값이 없을 경우]

[tmn] : 최저온도 [-999.0은 값이 없을 경우]

[sky] : 하늘상태 [맑음1,구름많음3,흐림4]

[pty] : 강수상태 [없음0,비1,비/눈2,눈3,소나기4]

[wfKor] : 날씨한국어(맑음,구름 많음,흐림,비,비/눈,눈,소나기]

[wfEn] : 날씨영어

[pop] : 강수확률(%)

[r12] : 12시간 예상 강수량

[s12] : 12시간 예상 적설량

[ws] : 풍속(m/s)

[wd] : 풍향 [북0,북동1,동2,남동3,남4,남서5,서6,북서7]

[wdKor] : 풍향한국어

[wdEn] : 풍향영어

[reh] : 습도

[r06] : 6시간 예상 강수량

[s06] : 6시간 예상 적설량

728x90
반응형
posted by P2SKLife
728x90
반응형

최근 코듈러 사이트가 업데이트 되면서 몇가지 변화가 있는데 가장 눈에 띄는 것은 Screen1의 속성에 있던 버전코드와 버전네임, 패키지 네임 등이 아래 그림과 메뉴 중 오른쪽 끝 부분에 별도 메뉴로 만들어져서 그 메뉴로 들어가서 설정을 해야합니다.

그런데 앱 인벤터에서 작성한 프로젝트를 aia로 공유하여 읽어들여서 코듈러에서 빌드(export)를 하면 에러가 발생할 수 있습니다. 이전에는 없던 에러라 좀 당황스럽습니다만 코듈러 커뮤니티에 있는 글을 참고하여 나름 해결 방법을 찾았기에 공유해봅니다.

 

다음과 같이 'indexOf'에러가 발생하면

Error generation Yail for screen ~~~~~ : Cannot read property 'indexOf' of undefined. Please fix and try packaging again.

위의 설정 메뉴를 클릭하여 아래와 같은 프로젝트 세팅 창이 뜨면 General 메뉴에 누락된 항목이 있는 경우에 발생하는 것 같습니다. 특히 App Name, Icon 항목은 필수로 입력해야합니다. Splash Screen, RTL, json 항목은 옵션인데 한번씩 체크했다가 해제시키는 등의 방법으로 코듈러가 확실히 인식할 수 있도록 한번씩 건드려 주어야 제대로 인식(?)하는 것 같습니다. 일종의 코듈러 버그인듯합니다..

 

 

 

그리고 다음과 같이 match에러가 발생하면

Error generating Yail for screen ~~~~ : Cannot read property 'match' of undefined. Please fix and try packaging again.

프로젝트 세팅 메뉴 중 Publishing 항목이 누락되지 않았나 체크해봐야합니다.

Minimum SDK Level이 비어 있으면 클릭하여 선택하여 주시고

혹시 클릭 안했는데도 입력된게 있다면 기존에 작업한 프로젝트의 SDK 레벨이 그대로 보여질 수도 있으니 한번 더 클릭해줍니다.

당연히 Package Name이 비어 있으면 입력합니다. 패키지 네임은 "영어, 숫자, .'을 조합하여 임의로 입력하면됩니다만 주의할 사항은 이 세상에 있는 어떤 앱과도 중복되면 안된다는 것입니다. 당연히 내 앱과도 중복되면 안됩니다. 다만 마켓에 출시할 때 적용되는 체크사항입니다. 출시 안할 거면 중복여부는 전혀 신경쓰지 않으셔도 됩니다.

그럼에도 다음과 같은 AAPT stage 에러가 발생하면

Build failed! Error:Your build failed due to an error in the AAPT stage, not because of an error in your program.

프로젝트 세팅 메뉴의 Theming 중 Theme항목이 아무것도 없는 경우에 발생하는 에러입니다.

클릭하여 Default(또는 light 또는 dark)를 선택합니다.

 

이제 다시 Export하면 정상적으로 작업이 되는기쁨을 맛보실 수 있습니다.

 

다만, 최근 코듈러에서 업그레이드하면서 앱인벤터의 aia를 읽어오면 일부 블록을 읽어오지 못하거나 화면 갱신 후 저장이 되지 않는 버그가 발생하고 있습니다. 가능하면 처음부터 코듈러에서 작업을 하는 것이 이러한 에러를 발생시키지 않는 방법일 것입니다.

728x90
반응형
posted by P2SKLife
2021. 6. 25. 12:51 앱개발/앱 관리
728x90
반응형

앱인벤터에서 작성한 apk파일을 2021년 6월 25일 현재 aab확자자 파일과 함께 등록은 가능하지만 21년 하반기에 aab파일만 등록이 가능한 것으로 한다고 합니다. 제 생각으로는 업로드하는 파일의 용량을 줄여서 운영하는 클라우드의 용량을 줄임으로 비용을 절약하려는 전략으로 보입니다. 앱인벤터는 기본적으로 현재 apk파일로만 빌드가 되기 때문에 자체적으로는 해결을 할 수가 없고하고, kodular를 활용하면 쉽게 해결할 수 있습니다.

 

1. 앱인벤터에서 프로젝트 메뉴 중 선택된 프로젝트(.aia)를 내 컴퓨터로 내보내기하여 파일로 저장합니다.

2. kodular에서 Import Project를 클릭하여 방금 저장한 aia파일을 읽어옵니다.

3. kodular에서 Export 메뉴 중 aab를 선택하여 저장합니다.

이제 저장한 aab파일로 구글에 등록하면 됩니다.

이때 주의할 것은 앱인벤터 또는 kodular에서 "플레이어(player)" 또는 "소리(sound)" 컴포넌트를 사용한 경우 파일이 재생되지 않습니다. 반드시 kodular에 있는 exoplayer로 재생하도록 해야 정상 작동합니다.

728x90
반응형
posted by P2SKLife
2021. 6. 24. 15:39 앱개발/앱 관리
728x90
반응형

앱인벤터2로 작성한 apk파일을 원스토에에 등록하려면 다음 두 가지 문제를 해결해야 합니다.

즉, 패키지 네임 minSDK버전입니다.

패키지 네임

 앱인벤터에서 aia파일로 프젝트를 저장한 후 프로젝트를 kodular에서 임포트해서 kodular의 screen1 속성에 있는 패키지네임을 직접 입력해주고 원스토에서 동일하게 패키지네임을 입력하여 등록하면 됩니다.

기존에는 스크린 속성의 Advanced properties에 아래그림처럼 추가 속성을 활성시켜서 패키지네임을 입력 또는 수정하도록 되어 있었는데 

최근 코듈러가 업데이트 되면서 출시를 위한 메뉴가 별도로 생겨났습니다.

아래 그림에서 메뉴 중 오른쪽 끝 부분에 보면 톱니바퀴 모양의 설정 아이콘이 있습니다. 여기를 클릭합니다.

 

그러면 아래와 같은 프로젝트 세팅 창이 나타나는데

왼쪽의 메유 중 Publishing을 클릭합니다.

그러면 SDK Level을 클릭하여 선택할 수 있으며

Package Name을 입력 또는 수정할 수 있습니다.

물론 그 밑에는 출시를 위해 필요한 버전 코드와 버전 네임도 여기서 수정할 수 있습니다.

 

또는 아래와 같이 앱인벤터에서 저장하는 패키지 네이밍 방식을 알아서 입력해 주어도 되기는 합니다.

SDK버전 전용 어플인 apk editor라는 앱으로 SDK버전을 수정하는 방법도 있습니다. 인터넷에 검색하면 사용방법이 잘 나와 있습니다.

어플 사용법 블로그 링크입니다.

[앱 리뷰] Apk Editer Pro 사용법 (hoto.dev)

어플 다운로드 링크 게시합니다.

APK Editor for PC and Mac – APK Editor Studio (qwertycube.com)

728x90
반응형
posted by P2SKLife
728x90
반응형

화면이 2개 이상 있을 때 앱을 종료하는 경우

1. 앱종료를 했을 때 종료가 되는 경우가 있는 반면에

2. 종료를 해도 종료가 되지 않고 이전 화면이 다시 나오는 경우가 있습니다.

 

이 경우 화면의 이동(전환)을 어떻게 하느냐에 따라 결과가 달라집니다.

예를 들어

"Screen1"이 있고

"room"이라는 화면이 있는데

 

블럭코딩을 다음과 같이 하면

Screen1의 코딩
room의 코딩 예1

 

room의 코딩 예2

 

Screen1의 코딩은 문제가 없는데

room에서 다시 Screen1으로 화면 전환을 할 경우

open another screen 컴포넌트를 사용하여 화면을 전환하면

room 화면이 남아 있는 상태에서 앱을 종료하기 떄문에

앱을 종료해도 room의 화면이 다시 보이게 됩니다.

room에서 다시 Screen1으로 가서 앱을 종료해도

역시 room 화면은 남아 있이서 무한루프에 빠지는 겁니다.

 

이 고리를 끊으려면 room의 화면을 close screen으로 닫으면 해결 됩니다.

728x90
반응형
posted by P2SKLife
728x90
반응형

구글 플레이스토어 주소 게시 URL확인
공유 컴포넌트 Sharing
블럭코딩 예제

코듈러에서 구글의 앱 주소를 SNS로 공유하는 예제입니다.

먼저 구글 플레이 스토에에서 URL을 복사하기합니다.

다음에 컴포넌트 중 Social > Sharing을 추가합니다.

블럭에서 Sharing.Share Message의 message에 방금 복사한 앱의 url을 문자열로 삽입하면 됩니다.

간단하죠?

모를땐 그냥 없어도 되는 그런 기능일 수도 있지만

카톡공유가 대세인 시대에 아주 중요한 기능입니다.

잘 활용하세요! 

728x90
반응형
posted by P2SKLife
2021. 4. 6. 11:55 앱개발/앱 관리
728x90
반응형

유튜브가 대세인 요즘 유튜브의 자료를 활용하는 데 있어서 가장 핫한 이슈는 저작권일 것입니다.

 

일반 게시물의 공유(링크) 활용시 저작권 관련사항 정리해 보았습니다.

링크에는 4가지 방법이 있는데

1. 단순링크 : 사이트 이름과 주소만 게시하여 링크

2. 직접 링크 : 사이트의 세부 페이지로 링크

3. 프레이밍 링크 : 자료가 직접 자신의 사이트에서 보여지게 하는 링크

4. 임베디드 링크 : 클릭하면 자신의 사이트에서 직접 재생되게 하는 링크

 

1,2번은 저작권 침해는 아니라고 하지만

불법자료를 대량으로 링크하여 수익을 발생하는 등의 경우에는 불법.

3,4번은 판례에 따르면 방조죄에 해당되어 저작권침해에 해당된다고 합니다.

 

유튜버로서의 저작권과 유튜브 동영상을 활용함에 있어서의 저작권 관련하여 정리해 보았습니다.

 

1. 유튜버로 동영상 제작시 (너무나 당연한 사항)

 (1) 콘텐츠의 독창성 : 남의 것을 베끼면 당연히 저작권에 위배

 (2) 동영상에 들어가는 음원(동영상) : 저작권자에게 구매 또는 무료 음원(동영상) 사용

 

2. 유튜브 활용(공유:링크)시

 

 (1) 유튜브 동영상을 직접 다운받은 것은 어떤 방법으로 공유하더라도 불법

 (2) 불법저작물을 공유하는 것은 단순링크 공유도 불법

 (3) 단순히 유튜브 주소만 링크 게시하는 것(퍼가기)은 저작권 침해는 아님

 (4) 원작자에게 퍼가기 기능을 해제할 수 있는 선택권이 있음.

 (5) 퍼가기 허용된 자료도 저작권침해로부터 완전 자유로울 수는 없음

 (6) 단순링크는 독자와의 단순공유일 때만 가능하고 대량링크를 통한 수익목적일 경우 불허

 (7) 방문자가 동영상을 보는 곳이 유튜브 사이트여야 함

 (8) 동영상(광고 포함)이 보이지 않는 임베디드 링크 방식의 공유는 불허

 (9) 공정 사용인 경우에는 허용함

 

결론은 이러한 내용을 바탕으로 판단과 책임은 각자의 몫일 수 밖에 없다는 것입니다.

 

728x90
반응형
posted by P2SKLife
prev 1 2 3 4 5 ··· 9 next

728x90
반응형