어느날 APK를 생성하니 

 

아래와 같이 에러가 발생 되었습니다.

 

 

자세히 확인해 보니 jcenter()에서 api를 가져오지 못하는것으로 보입니다.

 

그래서

 

build.gradle의 jcenter() 호출하는 부분을 mavenCentral()로 변경 했더니 해결이 되었습니다.

 

As-Is 

문제가 발생된 코드

 

To-Be

해결된 코드

 

위의 To-Be 와 같이 하였을 때도 동일하게 오류가 발생 될경우

jcenter() 호출하는 부분을 하나하나 mavenCentral()로 바꿔 보면 해결되는지 확인하면 될듯 합니다.

728x90
반응형

어느날 맥북에서 

 

ionic prepare android 해서 앱을 실행하니 오류가 발생되어서 터미널에서 생성 과정을 확인하니 

 

오류가 발생되고 있었습니다.

 

잘 확인해보니 www폴더가 생성되었다가 사라지기를 반복하고있더군요...

 

 

그래서 아래와같이 권한을 허용해 주니 잘됩니다.

sudo chmod 755 /Users/.../ionic_project

 

감사합니다.

728x90
반응형

 

아래와 같이 에러가 발생될 경우

 

Caused by: com.android.builder.errors.EvalIssueException: Configuration `:app:debugRuntimeClasspath` contains AndroidX dependencies, but the `android.useAndroidX` property is not enabled, which may cause runtime issues.

 

아래 파일들이 누락되어있는 경우 발생합니다.

gradle-wrapper.properties 파일

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

 

gradle.properties 파일(중요)

@@ -0,0 +1,24 @@
# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
728x90
반응형

Angular 버전 10 기준

 

NgStyle, NgClass 에 대해 간단히 서술하고자 합니다.

 

NgStyle (script 단에 isNgStyleChange = false; 선언)

    <h3>NgStyle</h3>
    <div style="width: 100px;height: 100px;"
        [ngStyle]="{background: isNgStyleChange? 'red' : 'yellow',width:isNgStyleChange?'50px':'100px'}"
        (click)="isNgStyleChange = !isNgStyleChange">TextColor</div>

 

결과물

클릭 했을때

위와 같이 style을 동적으로변경해줄수 있다.

 

 

 

NgClass (script 단에 isNgClassChange = false; 선언)

<h3>NgClass</h3>
<div class="home-ngclass" [ngClass]="{on: isNgClassChange}" (click)="isNgClassChange = !isNgClassChange">TextColor2</div>
    
// scss
.home-ngclass {
width: 100px;
height: 100px;
background: yellow;

    &.on {
        background: red;
        height: 50px;
    }
}

결과물

클릭 했을때

 

위와같이 css 클래스를 동적으로 제어할 수 있다.

728x90
반응형

이번에 하나투어 코사무이 패키지 신행을 다녀오면서 일을 기록 및 공유하려고 합니다.
기억나는 대로 쓰는 것이라 사실과 조금 다를 수도 있습니다.
 
환전.
- 약 5000 바트(약 19만 원)하면 충분합니다 (저는 100 10장 나머지는 500밧으로 가져갔습니다.)
- 달러는 거의 필요 없었습니다.
(그나마 쓰는 곳이 호텔인데 1달러 혹은 2달러짜리 팁으로 주는 용도로 씁니다.
저는 약 100달러 가져갔는데 50달러는 현지 가이드 팁으로 주고 약 15달러는 호텔직원에게 팁으로 주고 나머지는 면세점에서 다 썼습니다.)
 
부족한 건 해외에서 사용가능한 신용카드 혹은 체크카드 사용하시면 됩니다.

Tip 1.
토스 현장결재 완전 편합니다.
태국 면세점과 현지 편의점에서 다 사용됩니다. 카드복사 걱정도 없구요. 꼭 사용해 보세요.
(출국전에 카드등록하셔야합니다.)

 
유심
말톡유심 사용하시면 태국에서 스마트폰 인터넷을 편히 사용 가능합니다.
검색창에 "말톡 태국"이라고 검색하면 됩니다.
호텔에서 Wifi 에그를 빌려준다고 얼핏 봤던 거 같은데 저희는 그냥 말톡에서 유심 구매해서 사용했습니다.
저는 S22 이전 모델이라 말톡에서 유심구매해서 사용했는데
최신 모델은 eSim이어서 유심 교체 안해도 되는 것으로 알고 있습니다.
아무튼 유심 교체 할 줄 아시면 그냥 태국 도착했을때 유심만 갈아 끼면 폰으로 계속 인터넷 사용가능합니다.
저는 아래와 같이 구입하였습니다.

https://smartstore.naver.com/dial070/products/2191726720?NaPm=ct%3Dlxfxarag%7Cci%3D1ddf396270c416232e2c55a608babd0739f12820%7Ctr%3Dsls%7Csn%3D403132%7Chk%3D6a745dedd3422740263d0f71abc929a7530bb41e

태국유심 방콕 푸켓 5G속도 AIS무제한 핫스팟 통화 유심칩 인천공항수령 7일15GB : 말톡

[말톡] 말톡앱과 해외유심으로 무료통화 인천공항당일구매수령 010수신가능 미국,유럽,베트남,태국유심

smartstore.naver.com

 
준비물.
여권, 신분증, 선글라스, 선크림, 충전기, 충전기케이블, 모자, 들고 다닐 가방, 여벌옷, 수영복,
현지돈(다이소에 파는 미니지퍼백에 넣고 다니니 좋더라고요),
기내용 캐리어(약 20인치 미만), 수하물용 캐리어
- 바다 수영 좋아하시면 스노클링 장비 가져가시는 걸 추천합니다.

Tip 2.
캐리어는 왠만해서 2개를 가져가시는 걸 추천합니다.
면세품 넣거나 그곳에서 쇼핑할 물품을 담기 위해서죠.

 
 
첫째 날
며칠 전에 아래와 같이 문자가 와 있어서 택시를 타고 "인천공항 제2여객터미널"에 갔습니다

<공항 미팅 >    제공  :  일정표 , 티켓
일시 :..월 ..일 오전 06:30
장소 :인천공항 제2여객터미널 3층 출국장 H카운터 옆 여행사 미팅장소 하나투어 테이블

 
 
1. 탑승권 발급
저희는 6시 조금 안되게 도착해서 여행사에서 간단히 안내받고 탑승권 받아서 바로 탑승수속 밟았습니다.
- 저 개인적으로는 패키지여행이라 다른 사람들 기다렸다가 같이 움직이는 건가? 생각하며 바로 갔는데 
여러 여행사들과 그 여행사를 이용하는 사람들이 많더군요.
그 사이를 헤쳐 가며 끝에 쯤 하나투어 직원분? 이 계시더군요. 
탑승권 주면서 간단히 안내해 주고 바로 탑승수속 해도 된다고 하더군요.

Tip 3.
탑승권은 두장을 줍니다.
1. 인천 -> 방콕, 대한항공, 대략 오전 9시 출발 ~ 오후 2시  도착
(첫번째 티켓은 GATE 탑승구 란에 어디서 탑승하면 된다고 잘 나와있습니다.)
2. 방콕 -> 코사무이, 방콕항공, 대략 오후 4시 출발 ~ 오후 5시 30분 도착
( 두번째 티켓은 GATE 탑승구 란 비어져 있습니다. 대신 FLIGHT란에 PG 000으로 표시 되는데
탑승 약 1시간 전에 전광표지판 보시면 어디서 타는지 알 수 있습니다.)

 
이때부터 안내받은 내용을 토대로 알아서 탑승수속을 진행하면 됩니다.
 
 
2. 수하물 위탁
태국 코사무이 가는 경로는 아래와 같은 과정을 거치는데요.
인천 ->방콕 , 방콕 ->코사무이
 
수하물의 경우 중간(방콕)에서 찾을 필요 없이 바로 코사무이로 이동되더라고요. 
그래서 바로 필요한 물품은 기내용 캐리어 혹은 본인이 잘 가지고 있어야 합니다.

Tip 4.
아래 물품들은 본인이 가지고 있는것이 좋습니다.
목배게, 충전기, 충전기 케이블, 여권, 신분증, 보조배터리, 썬크림, 화장품 등등
- 기내용 캐리어에 액체류는 넣지 않는 것이 좋아요. (액체는 100ml 미만 가능)
ex. 치약, 삼푸, 폼클렌징 등등의 세면도구들 

- 담배피시는 분은 라이터를 본인이 가지고 있어야합니다. (담배피는 공간과 피는 시간 많아요)

 
저희는 직원에게 물어가며 수하물 위탁 하였습니다.
 
 
3. 보안검색
별건 없었고요 그냥 줄도 길고, 기다림이 길었습니다.
 
면세점
보안 검색 후 보이는 공항 면세점 풍경은 기분을 참 좋게 합니다.
면세품은 솔직히 비싼 물품 아니면 그냥 인터넷에서 사는 게 싸더군요.
담배는 확실히 시중보다 무조건 쌉니다.
- 전담 피시는 분이시고 전담 안 가져오셨으면 1MG 담배라도 이때 사시는 걸 추천합니다.
(태국 담배는 1MG 찾기 어려워요ㅠㅠ)
 
 
4. 항공기 탑승

 


드디어 항공기 탑승!!!
이때 자리에 앉아서 핸드폰 충전하려고 하는데 제 케이블이 이상한지 충전이 잘 안 되더군요;;
좌석 head 쪽 태블릿에서 영화를 보며 시간을 보냈습니다.
영화는 정말 최신영화가 많더군요. 보통 이런 건 되게 오래된 영화가 있거나 그러던데;
중간에 밥도 줍니다. 닭고기 커리와 제육쌈밥 중 고르라고 하셔서 저는 닭고기 커리 선택해 먹었습니다.
(맛은 둘 다 좋았습니다.)
영화도 보고 잠도 자고 밥도 먹으니 어느새 방콕공항에 도착!
 
 
5. 방콕 수안나품 공항
항공기에서 내리니 아마 E1~E10였던 것 같은데 아무튼 내리고 엄청 걸었습니다.
전광판을 보니 탑승하는 곳이 A6이었거든요.
가다가 보이는 직원에게 물어서 방콕항공 입구 같은 곳을 통과하고 가다 보면 A B C 교차되는 사거리에 작게 식당가가 있는데 딱히 살건 없었습니다. 

저희는 혹시 다른 면세점 없나 싶어서 돌아다녀 봤는데... 결론은 "네 없습니다."
방콕 -> 코사무이는 국내선(태국 내에서 이동)이라 A B C 교차되는 사거리에 작게 있는 식당가가 쇼핑할 수 있는 유일한 곳입니다. 
저희도 처음에 이렇게 작게 있을 리 없어하면서 엄청 돌아다녔는데 신혼여행 끝나고 돌아오는 길에 깨달았습니다.
국내선에 면세점 없다고 실망하지 마세요. 여행 끝나고 한국 가실 때 방콕공항 국제선 면세점이 얼마나 큰지 알게 되실 겁니다.

Tip 5.
A1~A6 방향으로 가다 보면 방콕항공 라운지 있습니다. 무료로 이용가능합니다.

어느정도 돌아다니고 전광판에 PG 000은 A1에서 타라고 해서 그쪽으로 가서 코사무이로 이동했습니다.
 
 
6. 코사무이
코사무이에서 수하물 캐리어 찾고(짐 찾는곳이 두군데 입니다) 출구로 가서 가이드를 만났습니다.
- 코사무이에 도착하고 바로 짐을 찾으려고 했는데 짐이 계속 안나오는 겁니다;
갑자기 직원이 다가오더니 뭐라고 얘기하는데 처음에 무슨말이지? 하다가 생각해보니 다른곳에서 받아야한다고 하더군요. 다른 한국분들도 그리로 다 이동하구요. 짐 찾는곳이 두군데 였어요ㅠ
아무튼 짐을 찾고 출구쪽으로 계속 가다보면 저희 이름이 쓰여진 피켓을 들고 계신분이 있더군요. 
바로 그쪽으로 가서 가이드 만나서 같이 이동했습니다.
 
7. 일정 확정
가이드 차를 타고 우선 호텔에 가서 체크인을 했습니다. 저희는 리츠칼튼 호텔에서 계속 있었습니다.
그 뒤 음료수 마시는 곳으로 이동해서 일정에 대해 논의 했습니다.
음료수(코코넛 쉐이크)를 사주시면서 1일차,2일차... 5일차의 각 일정들을 확정짓는 의논을 하게 됩니다.
참 옵션들이 많더군요... 추가는 본인 선택...
 
일정의논이 끝나면 저녁식사 선택지가 아래처럼 있는데 저희는 태국식을 골랐습니다.
1. 태국식 샤브샤브의 진수 MK 수끼
2. 산뜻한 일식세트
3. 세계 5대푸드 오리엔탈 타이식
4. 무제한으로 즐기는 삼겹살 & 한식
5. 정통 이태리의 맛을 즐길수 있는 피자 & 파스타
 
아래사진이 태국식 입니다.

어느정도 먹은 후 가이드와 함께 차웽으로 이동합니다.

Tip 6.
- 맥주는 레오, 싱하, 창 이 보통 먹는 맥주인데요 한번씩 먹어보면서 자신에게 맞는 맥주를 찾아보세요.
- 맥주값은 할인마트에서 37밧, 편의점은 40~50밧, 음식점에서 70~255밧 정도 합니다. 

 
8. 차웽
가이드가 차웽거리를 한바퀴 돌며 간단히 설명해줍니다. 이곳은 트랜스젠더 BAR이고 몇시쯤 공연하고, 이곳은 수영장 딸린 BAR 이고, 이곳은 봉춤 추는곳이라고 하고 등등...
그리고 처음 거리가 시작되는 곳에 내려줍니다.

 
대충 아래 그림대로 돌아다니면 됩니다.

 
나중에 쇼핑하실때 이곳에서 하시는걸 추천합니다. (엄청 커요)
https://www.google.co.kr/maps/place/Central+Samui/@9.5322897,100.0607752,3a,75y,90t/data=!3m8!1e2!3m6!1sAF1QipOiNWpgz0kjgcz2uDVinkO5pPOYcAL3raDSirTi!2e10!3e12!6shttps:%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipOiNWpgz0kjgcz2uDVinkO5pPOYcAL3raDSirTi%3Dw129-h86-k-no!7i1568!8i1038!4m7!3m6!1s0x3054f1cb326356dd:0x70c4badc99f86bbf!8m2!3d9.5322247!4d100.060913!10e5!16s%2Fg%2F1ym_l6tqs?hl=ko&entry=ttu

Central Samui · 209 209/1-2 หมู่ที่ 2 ตำบล บ่อผุด Tambon Bo Put, Ko Samui District, Surat Tha

★★★★☆ · 쇼핑몰

www.google.co.kr

 
저희는 돌아다니다가 그냥 음식점 들어가서 모닝글로리(엄청 맛남)와 고기나 새우같은거 먹으면서 맥주 마셨어요.
그러다가 트젠 바 가서 구경도 하구요
트젠 바에서는 트랜스젠더가 노래크게 틀고 립싱크하는거 보면서 맥주 먹었습니다.
(입장료 인당 약 300밧인데 음료 1개값도 포함되어있습니다)
 
그리고 돌아가실때 11시 전이라면 Central Samiui 안에 Tops라고 엄청 큰 대형 마트 있습니다. 
거기서 술이나 안주류 사서 호텔로 가시면 됩니다.
(저희가 갔을때는 영업시간이 대략 오전 10시~ 오후 11시로 듣긴했는데 혹시모르니 오후 10시 전에 가시는걸 추천합니다.)
 
저희는 Tops 마트 존재를 몰라서 근처 편의점에서 개당 약 50밧 주고 맥주 구입해서 택시타고 리츠칼튼 호텔로 이동해서
하루를 마무리 했습니다.

Tip 7. 차웽에서 리츠칼튼 호텔까지 택시비는 어느정도(300~500밧)가 적당하다고 가이드한테 들을겁니다.
흥정하는 방법도 대략 가이드한테 들을 수 있을겁니다.

 
감사합니다.
 
두번째날은 다음글에 작성하겠습니다.

728x90
반응형
	// Json형식으로 바꿀 데이터
        let arr: Array<Dictionary> = [
            [
                "name":"이름1",
                "email":"mail1@naver.com"
            ],
            [
                "name":"이름2",
                "email":"mail2@naver.com"
            ],
            [
                "name":"이름3",
                "email":"mail3@naver.com"
            ]
        ]
        
        // json으로 변환된 String
        var jsonObj : String = ""
        do {
            let jsonData:Data = try JSONSerialization.data(withJSONObject: arr, options: .prettyPrinted)
            
            // json 데이터를 변수에 삽입 실시
            jsonObj = String(data: jsonData, encoding: .utf8) ?? ""
        } catch {
            print(error.localizedDescription)
        }
        print("jsonObj : " , jsonObj)

결과값

 

728x90
반응형

 

특정 URL로 통신하니 

java.io.IOException: Cleartext HTTP traffic to test.tlshenm.com not permitted 오류가 발생되었습니다.

안드로이드 파이(9)부터 Http 통신시 발생된다고 하더군요...

해결방법

Https 통신으로 바꾸거나 바꿀수 없으면 허용을 해줘야 합니다.

저는 허용하는 방법을 안내하겠습니다.

 

1. res/xml폴더를 생성하시구요

2. res/xml/network_security_config.xml파일을 생성합니다.

3. 아래그림과 같이 예외처리할 URL(test.tlshenm.com)을 넣어 줍니다.

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">localhost</domain>
        <domain includeSubdomains="true">test.tlshenm.com</domain>
    </domain-config>
</network-security-config>

마지막으로 AndroidManifast.xml안에 <application> 태그안에 아래 코드를 넣어 줍니다.

    <application
        android:networkSecurityConfig="@xml/network_security_config"
        . . . . . .>

이제 빌드해보시면 정상적으로 동작되실겁니다.

728x90
반응형

오랜만에 새로운 버전으로 빌드해보니 오류가 발생되었습니다.

Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.

 

31 SDK를 설치해도 동일하게 발생되더군요.

 

해결방법

SDK를 30으로 낮춘다...

(나중에 31로 플레이스토어에 배포하라 그러면 어쩌라는 거냐...)

그림과 같이 바꾸시면 됩니다.

그럼 빌드 되실겁니다.

728x90
반응형

+ Recent posts