[안드로이드] 일정 시간동안 멈춘 후 작업하기 (postDelayed 사용)


안드로이드 개발을 하다 보면 몇 초 동안 기다린 후에 작업을 해야 할 경우가 있습니다. 일반 자바 프로그래밍에서라면 Thread.sleep(3000); 등을 사용하면 되겠지만 안드로이드에서는 앱이 그 시간동안 먹통이 되기 때문에 위와 같은 코드를 사용할 수 없습니다. 안드로이드에서는 다음과 같은 코드를 사용하면 됩니다.


new Handler().postDelayed(new Runnable() {

        @Override

        public void run() {

          someFunction(); // 일정 시간 기다린 후에 실행될 코드를 이곳에 씁니다.

        }

    }, 3000); // ms 단위라서 1000이 1초입니다.


( 참조한 사이트: https://stackoverflow.com/a/31041945/1125721 )

많은 분들께 유용할 것 같아서 홍콩과기대 가는 길을 사진으로 정리해 보았습니다. (지하철 노선도를 제외한 사진은 모두 직접 찍었습니다.)

0. 항하우 (Hang Hau) 지하철역에서 내립니다.

1. B1 출구로 나가자마자 좌회전합니다.

2. 어두컴컴하고 노란 조명이 있는 곳이 버스 정거장입니다. 직진해서 들어갑니다.

3. 사진의 화살표 방향으로 계속 갑니다.

4. 버스 정거장 안에서 횡단보도를 건넙니다.

5. 과기대학(科技大學)이라고 쓰여 있는 11M번 미니버스를 타고 산길을 지나 종점까지 가면 됩니다. 사람들이 모두 우루루 내리는 곳이 종점입니다.

좋은 하루 되세요!

[자바] JNI에서 jboolean을 bool로 바꾸기


자바에서 JNI를 사용하다 보면 인자로 받은 jboolean을 bool형으로 바꾸어야 할 일이 생깁니다.

그럴 때에는 아래 코드와 같이 하면 됩니다.

JNI_FALSE와 다른지를 검사하는 것이 JNI_TRUE와 같은지를 검사하는 것보다 좀 더 안전합니다.


jboolean foo;

bool bar;


// foo가 JNI_FALSE와 다른지를 검사하기 때문에 foo와 bar이 같은 논리값을 갖게 됩니다.

bar = (bool) (foo != JNI_FALSE);


( 참조한 곳: https://stackoverflow.com/a/10192690/1125721 )

한번 상상해보자. 콜라를 마시기 위해 사람들이 전용 잔을 산다. 콜라 재료의 원산지에 따라 콜라 가격에 차등을 둔다. 여럿이서 콜라를 마실 때에는 예의를 지켜야 한다. 누군가에게 콜라를 따라 줄 때에는 두 손으로 따라야 하며 잔이 비지 않은 상태에서 콜라를 더 따라주면 예의도 모르는 사람이라고 욕을 먹는다. 숙성 년도에 따라 저급 콜라와 고급 콜라가 구분되고 고급으로 갈 수록 가격이 한도 끝도 없이 올라간다. 고급 콜라를 마시는 것이 상류 사회의 척도인 양 취급되며 나중에는 콜라를 마시는 것이 정신 수양의 척도로까지 인식되어 콜라도(道)라는 것이 생겨난다.

말도 안 되는 이야기이지만 콜라를 술이나 차로 바꾸면 그 순간 모두 말이 되는 것을 볼 수 있다. 이 말은 술과 차는 단순한 음료가 아니라 사람들에게 큰 영향을 끼치는 문화 요소라는 뜻이다. 시선(詩仙), 시를 쓰는 신선이라고까지 불렸던 이태백은 對酒還自傾(대주환자경, "술을 대하니 다시 또 술을 기울이네" 라는 뜻)이라는 시구를 썼고 불교 선종의 창시자인 달마가 잠에서 깨려고 잘라버린 눈꺼풀은 차나무가 되었다고 한다. 술과 차는 이렇게 종교에까지 연결되는 음료인 것이다. 이태백이 시선(詩仙)이라고 불렸던 것과 달마 전설에서 알 수 있듯 도교의 음료는 술이고 불교의 음료는 차다.

술과 차는 모든 면에서 대조적이다. 술은 정신을 몽롱하게 만들지만 차는 정신을 맑게 한다. 술은 사람을 졸리게 하지만 차는 잠이 확 깨게 한다. 술을 마신 사람은 감정적이 되지만 차를 마신 사람은 이성적이 된다. 그래서 술은 밤의 음료이고 차는 아침의 음료이다. 술과 차라는 이 두 음료가 지금까지 좁게는 한국의, 넓게는 동아시아를 지배한 두 상반되는 사고방식을 대표해 왔다고 말해도 무리는 없을 것이다.

그런데 근대에 들어 한국에 술도 차도 아닌 새로운 음료가 들어왔다. 잠이 확 깨게 하는 것은 차를 닮았는데 많이 마시면 감정적으로 흥분되게 하는 것은 술을 닮았다. 마시면 마실수록 정신을 빠릿빠릿하게 만드는 차의 특성이 있는가 하면 중독되게 만드는 술의 특성도 있다. 그런가 하면 색깔은 차처럼 은은하지도 술처럼 투명하지도 않은 속이 들여다보이지 않는 새까만 색이다. 바로 커피다.

커피는 맨 위에서 언급했던 술과 차의 모든 특성을 갖고 있다. 커피를 마시기 위한 전용 잔이 있고 커피 원두의 원산지에 따라 가격이 달라진다. 커피를 마시는 것은 세련된 문화로 취급되며 다도(茶道)에서만큼은 아니지만 커피를 만드는 도구들은 단순히 도구를 넘어서 예술의 언저리를 건드리고 있기도 하다.

그리고 술이 도교와, 차가 불교와 연결되듯 커피는 이슬람교와 기독교에 연결된다. 커피는 한동안 이슬람 문화권의 음료였다. 이슬람권에서는 종교 행사 중에 잘 깨어있기 위한 용도로 커피를 애용했고, 이슬람과 사이가 안 좋았던 유럽에서는 당연히 커피를 싫어해서 악마의 음료라고 부를 정도였다. 그렇지만 야사에 따르면 교황 클레멘스 8세가 커피가 너무 맛있어서 커피를 축복한 이후로 기독교권에서도 커피를 널리 마시게 되었다고 한다. 교황 클레멘스 8세의 임기가 임진왜란이 일어난 1592년에 시작되었고 우리나라에 커피가 들어온 것은 1800년대 후반이니 유럽과 한국의 커피 역사는 약 300년 정도 차이난다고 볼 수 있겠다.

이렇게 문화의 한 요소이며 종교로까지 이어지는 음료인 커피가 한국에서 인기를 끈 지도 벌써 수십 년이 지났다. 술과 차가 근대까지의 한국의 두 생활양식을 대표한다는 가설이 맞다면 현대 한국에는 술도 차도 아닌 커피로 대표되는 새로운 생활양식이 존재한다는 말도 맞는 말이 될 것이다. 한국의 커피스러운 생활양식이란 뭘까. 머릿속에 뒤죽박죽 떠오르는 많은 대답 중 하나만 꼽으라면 나는 '탈진'을 꼽겠다.

커피는 탈진한 사람들이 내일의 힘을 미리 끌어다 쓸 때 사용하는 음료다. 대학생들은 시험기간에 밤을 새기 위해 커피를 마신다. 똑같이 카페인이 들어있다고 해도 밤을 새기 위해 한밤중에 차를 마시는 학생을 나는 본 적이 없다. 직장인들은 점심시간에 나와서 본인들 표현대로 하자면 '살기 위해' 아메리카노를 테이크아웃해서 몇백 밀리리터씩 빨대로 쪽쪽 빨아 마신다. 그러다가 카페인에 내성이 생겨버린 사람들은 커피를 넘어서서 박카스나 레드불 같은 에너지 드링크를 마시기 시작한다.

오해를 풀기 위해 밝혀두자면 한국에는 커피를 음미하며 즐기는 애호가들이 물론 매우 많다. 여기서 말하려는 것은 어떤 음료를 마시는 전체 인구 중 탈진해서 에너지를 충전하기 위한 용도로 그 음료를 마시는 사람의 비율이 술이나 차보다 커피의 경우에 압도적으로 높다는 것이다.

왜 이렇게 되었을까. 위에 적었듯이 낮의 음료는 차였고 밤의 음료는 술이었다. 낮술이라는 단어가 따로 만들어졌어야 했을 정도로 술은 밤에 먹는 것이 일반적이다. 차는 낮에나 밤에나 다 마실 수 있지만 밤에 차를 마실 때에는 차분한 마음으로 잘 자기 위해 마시는 것이 일반적이다. 즉 낮에는 잘 깨어 있고 밤에는 잔다는 극히 상식적인 생활 양식이 술과 차에 모두 배어 있는 것이다.

그런데 커피는 그것을 깨 버렸다. 밤에는 자야 하는데 억지로 깨어있기 위해 커피를 마신다. 그러니 늦게 자게 되어 다음날에 피곤해지고, 피곤하니 점심 때에 졸지 않으려고 커피를 마신다. 악순환의 반복이고 모든 것이 경쟁적으로 돌아가는 현대 사회가 만들어낸 슬픈 모습이다. 지금의 한국 사람들 중 많은 수는 '마시지 않고는 버틸 수가 없어서 어쩔 수 없이' 커피를 마신다. 현대 사회가 한국에서 커피의 양적 팽창은 이루어냈지만 사람들이 커피를 진정 즐기게 하는 데에는 실패했다고 말할 수 있겠다.

에드워드 애비(Edward Abbey, 1927-1989)라는 미국의 유명 작가가 1982년에 쓴 Down the River라는 책에 이런 말이 나온다. "우리네 문화는 커피와 휘발유 위에서 돌아간다. 첫째 것의 맛이 둘째 것과 같을 때가 종종 있다. (Our culture runs on coffee and gasoline, the first often tasting like the second.)" 이 말은 현대 한국에서 지금도 현재진행형이다. 한국의 커피는 지금도 종종 휘발유 맛인 것이다.
별 생각 없이 카톡 친구 명단을 죽죽 내리던 어느 날이었다. "150년을 살것처럼 인생을 계획하고 내일 죽을것처럼 오늘을 살자~!!" 라는 프로필 문구가 눈에 들어왔다. 알고 지내는 고등학생의 프로필 문구였다. 그때는 '그래 나도 학생 때 비슷한 생각을 했었지' 하고 웃으며 지나갔는데 그 후로 자꾸 그 문구가 머릿속에서 맴돌았다. 내일 죽을 것처럼 오늘을 산다는 것은 과연 무엇일까 하는 생각이 잊을만 하면 다시 떠올라서 머리가 복잡했다. 보아하니 저절로 없어질 생각이 아닌 것 같아서 아예 작정하고 진지하게 파고들어 보기로 했다.

내일이 내 생의 마지막 날이라면 오늘 출근을 하지는 않을 것이다. 가족하고 시간을 같이 보내겠지. 하지만 그렇다고 해서 평생 일을 하지 않는 것이 '내일 죽을 것 처럼 오늘을 사는 것'의 모범답안이 될 수는 없지 않은가. 그래서 문장을 약간 바꿔 보았다. '언제 죽을 지 모르는 것처럼 오늘을 살자!' 라고 하면 분석하기가 한결 수월해질 것 같았다. 프로필 문구에 특허 달려 있는 것도 아닌데 내가 조금 바꾸면 뭐 어때.

언제 죽을 지 모른다는 것은 내일 죽을 확률, 모레 죽을 확률, 글피에 죽을 확률 등이 다 똑같아진다는 것을 의미한다. 그러니 모든 날이 동등하게 중요해지고 한 날이 다른 날보다 더 특별하지 않게 되니 하루하루를 똑같이 성실하게 사는 것이 정답이 되겠다. 왜 내일 지구가 멸망하더라도 오늘 한 그루의 사과나무를 심겠다는 옛말도 있지 않은가.

그런데 이렇게 '매일매일이 다 똑같으니 그냥 일상 속에서 살아가라' 라고 하고 끝내면 뭔가 싱겁고 허전하다. 그래서 더 파고들어 봤다. 언제 죽을지 모른다는 그 말 속에 심오한 사상 속으로 들어갈 수 있는 열쇠가 있었다. 바로 '죽음'이다. 옛 사람들은 죽음을 생각하며 살아가는 것의 유익을 알았다. 라틴어 경구 중에 메멘토 모리(memento mori)라는 말이 있다. 죽음을 잊지 말라는 뜻이다. 로마 사람들은 저렇게 경구를 만들어야만 겨우 죽음에 대해 생각할 수 있었던 모양이지만 한국 사람들은 일상 속에서 배고파 죽겠네, 웃겨 죽겠네, 졸려 죽겠네 하는 식으로 죽음을 상기해오고 있었다. 뭐뭐 해서 죽겠다는 표현을 부정적이라고 금지시킬 것이 아니다. 금지시켜야 할 것은 똑같은 말인데 라틴어로 메멘토 모리! 하면 괜히 멋있어 보이고 한국어로 배고파 죽겠다고 하면 부정적인 표현이라고 치부해 버리는 그 사대주의다.

하여튼간에 삶은 죽음을 인식할 때에 농밀(濃密)해진다. 몇년 전부터 유행하는 말 중에 욜로(YOLO)라는 것이 있다. You Only Live Once, 직역하면 너는 딱 한번 산다는 말인데 뒷일 생각 하지 말고 하고 싶은 것은 무엇이든 질러버리라는 의미로 사용될 때가 많다. 21세 청년이 트위터에 욜로라고 적어놓고 시속 190km로 음주운전을 하다가 교통사고로 사망한 일이 그 한 예다. 왜 이런 일이 일어날까? 욜로가 삶에 대해서만 말하고 죽음에 대해서는 말하지 않기 때문이다. 같은 뜻이어도 You Will Surely Die, '너는 언젠가 반드시 죽어'라는 문구가 있다면 욜로와는 분위기가 많이 다를 것이다. 적어놓고 나니 저런 문구가 이미 있다는 것이 생각났다. "한번 죽는 것은 사람에게 정해진 것이요 (man is destined to die once)" 라는 성경 구절이다.

고등학생의 카카오톡 프로필 문구에서 시작된 생각이 메멘토 모리와 욜로를 거쳐서 성경까지 왔다. 내일 죽을 것처럼 오늘을 산다는 것은 특정한 삶의 방식을 이야기하는 것이 아니라 죽음을 잊지 말고 하루하루를 소중히 여기며 살아가는 삶의 태도를 이야기하는 것이었다. 드디어 해결을 보고 나니 속이 다 시원하다. 맘 편히 잘 수 있을 것 같다. 그런데 카톡을 켜 봤더니 그 학생이 그새 프로필 문구를 바꿔 놨다. 이번에는 꿈과 희망과 가능성을 이야기하고 있다. 아 모르겠다. 오늘은 여기까지. 내일이 있기 때문에 오늘은 이만 자야지.
"엄마, 감기 걸리면 어느 병원에 가야 돼?"
"이비인후과에 가야지"
"이비인후과는 어디가 아플 때 가는 거야?"

이비인후과는 한자로 耳鼻咽喉科라고 쓴다. 말 그대로 귀(耳, 귀 이), 코(鼻, 코 비), 목구멍(咽喉, 인후)을 다루는 과(科)이다. 중국 사람에게는 아주 직관적이어서 어린이도 알아들을만한 이름인데 (중국어에서는 한 글자를 빼서 이비후과라고 한다) 우리말에서는 한자를 알아야만 이해할 수 있는 어려운 이름이다.

의학 용어가 이해하기 쉬운 말로 바뀌었으면 좋겠다. 이비인후과가 귀코목구멍과였다면 이름만 보고도 어디가 아플 때 가는 병원인지 바로 알 수 있을 것이다. 영어에서 이비인후과를 otorhinolaryngology 라는 어려운 단어 대신에 ear, nose and throat (ENT) 라고 부르고 있는 것을 볼 때 못 할 것도 없다. 그렇게 되면 위의 대화가 이렇게 바뀌지 않을까?

"엄마, 감기 걸리면 어느 병원에 가야 돼?"
"감기 걸리면 콧물 나고 목이 아프지?"
"응"
"그러면 귀코목구멍과 가야지."
"아, 그렇구나!"

제목은 거창하게 썼는데 사실은 나도 잘 모르면서 비전공자이니까 틀려도 창피하지 않다는 뻔뻔한 마음으로 쓴 글이다.


최근 한국 기독교계에서 "꽃들도" 라는 CCM이 인기를 끌고 있다. 이 노래의 원곡은 "花も(하나모)" 라는 일본 찬양인데 정확한 연도는 모르겠지만 예전부터 구전되어 온 찬양이라고 한다. 멜로디만 들어보면 일본 드라마나 애니메이션의 배경 음악으로도 잘 어울릴 듯한 전형적인 일본 곡이다. 그런데 이 노래에는 매우 일본적이지 않은 부분이 있다. 바로 다음 가사이다.


꽃들도 구름도 바람도 넓은 바다도

(花も雲も風も大海も)

찬양하라 찬양하라 예수를

(奏でよ奏でよイエスを)


꽃, 구름, 바람, 넓은 바다 순으로 크기가 커지고 있다. 꽃보다는 구름이 크고 구름보다는 바람이 더 활동 범위가 넓다. 바람과 바다는 비교하기가 애매한데 그래서인지 굳이 "넓은" 바다라고 해서 바다가 더 크다는 것을 확실히 해 주었다. 이게 왜 특이하냐 하면 일본 문화는 이어령 씨의 명저 "축소지향의 일본인" 에서 볼 수 있듯 큰 것을 작게 만드는(응축하는) 문화이기 때문이다. 해당 책 초반부에 언급된 이시카와 다쿠보쿠(石川啄木)의 하이쿠를 보자.


동해의 작은 섬의 갯벌의 흰 모래밭에

(東海の小島の磯の白砂に)

내 눈물에 젖어 게와 노닐다

(われ泣きぬれて蟹とたはむる)


동해에서 작은 섬, 갯벌, 흰 모래밭, 게와 눈물 순으로 크기가 작아지는 것을 볼 수 있다. 이어령 씨는 이를 두고 "동해 바닷물은 결국 눈물 한 방울로 축소" 되었다고 표현하고 있다.


이를 염두에 두고 "꽃들도"의 가사를 보면 분명 이상하다. 전형적인 일본 노래라면 추측컨대 아마도 가사가 다음과 같이 되었어야 할 것이다. 불러보면 확실히 일본 정서가 더 잘 느껴진다.


바다도 바람도 구름도 작은 꽃들도

(海も風も雲も小花も)


그러면 왜 "꽃들도" 에서는 점점 커지는 방향으로 단어들이 배치되었을까? 노래나 시에는 그것을 쓴 사람의 사고방식 밑바탕에 깔린 사상이 당사자도 모르는 사이에 배어들어 있게 마련이다. (그래서 언어영역에 "작가가 이 시를 쓸 당시의 감정으로 옳은 것은?" 하는 문제가 나오면 시인 자신은 그 문제를 못 맞추는 것이다.) 이 노래는 찬양이니 기독교 사상에서 그 원인을 찾는 것이 바람직하다 하겠다.


이는 땅과 거기 충만한 것이 주의 것임이라 (고린도전서 10:26)


기독교는 채우는 종교이다. 그래서 성령 충만이라는 말은 있어도 성령 비움이라는 말은 없다. 묵상은 하나님의 말씀을 내 안에 채우는 작업이고 명상은 내 속을 비우는 작업이다. 그래서 기독교에는 묵상은 있어도 명상은 없다. 채우려면 꽃이 구름과 바람과 큰 바다가 되어야지 바다가 작은 꽃이 되어서는 안 된다. 그래서 "꽃들도"의 가사 순서가 저렇게 일본적이지 않은 순서가 되었을 것이라 추측해본다. 그러면 왜 마지막이 넓은 땅이 아니라 하필이면 넓은 바다여야 했을까. 다음 구절이 해답이 되어줄 수 있을 것 같다.


이는 물이 바다를 덮음 같이 여호와의 영광을 인정하는 것이 세상에 가득함이니라 (하박국 2:14)


'글쓰기' 카테고리의 다른 글

내일 죽을 것처럼 오늘을 산다는 것  (0) 2019.02.21
이비인후과와 귀코목구멍과  (0) 2019.01.30
사상으로서의 기독교, 신앙으로서의 기독교  (0) 2019.01.02
예방접종  (0) 2018.11.23
천하장사 고양이  (0) 2018.10.30

[코틀린] 물음표(?)의 기능


코틀린에서 변수형에 물음표가 붙어 있으면 그 변수의 값이 null이 될 수 있다는 뜻입니다. 반대로 물음표가 없다면 그 변수는 null이 될 수 없습니다. null이 될 있는 변수형을 nullable이라고 하고 null이 될 수 없는 변수형은 non-null 이라고 합니다. 다음은 간단한 예제입니다.


fun goodMorning(data: Intent?) // data가 null이어도 괜찮습니다.

fun goodAfternoon(data: Intent) // data가 null이면 안 됩니다.


[안드로이드] 화면 녹화하기


개발자 옵션에서 USB 디버깅이 활성화되어 있는 상태라면 adb를 사용해서 쉽게 안드로이드 화면을 녹화할 수 있습니다.


adb shell screenrecord /sdcard/file_name.mp4

// 녹화를 끝낼 때에는 Ctrl + C


이렇게 하면 저장소에 file_name.mp4 라는 이름으로 녹화 파일이 저장됩니다.


( 참조한 곳: https://mytalkhome.tistory.com/610 , https://www.androidpub.com/2579669 )

사상으로서의 기독교, 신앙으로서의 기독교


유튜브에서 꽤 유명한 기독교 강사가 있다고 해서 동영상을 찾아봤다. 보면서 이 사람은 기독교를 신앙이 아니라 사상으로 받아들였다는 생각을 지울 수가 없었다. 그러다가 결정적으로 "신앙인은 우울할 수 없습니다. 하나님을 믿는데 어떻게 기쁘지 않을 수가 있습니까?" 하는 소리를 듣고서 동영상을 꺼 버렸다. 저렇게 교조적으로 기독교를 받아들인 사람들은 주위에 있는 상처받은 사람들에게 위로가 아니라 더 큰 상처를 주게 된다.


성경의 주요 인물들도 슬픔과 절망에 빠진 적이 있었다. 다윗이 그랬다. "내가 아프고 심히 구부러졌으며 종일토록 슬픔 중에 다니나이다 (시38:6)" 바울도 그랬다. "형제들아 우리가 아시아에서 당한 환난을 너희가 모르기를 원하지 아니하노니 힘에 겹도록 심한 고난을 당하여 살 소망까지 끊어지고 (고후1:8)" 결정적으로 예수님도 그러셨다. "이에 말씀하시되 내 마음이 매우 고민하여 죽게 되었으니 너희는 여기 머물러 나와 함께 깨어 있으라 하시고 (마26:38)"


기독교를 사상으로, 교조적으로 받아들이면 저 유명한 유튜브 강사처럼 슬픔에 빠진 사람의 신앙을 무시하게 된다. 하지만 참된 기독교인은 슬퍼하는 사람과 함께 운다. "즐거워하는 자들과 함께 즐거워하고 우는 자들과 함께 울라 (롬12:15)"


그 유명 기독교 강사의 동영상이 여기저기 퍼지고, 그 강사가 방송에도 초대되는 걸 보면서 마음이 참 씁쓸하다.

+ Recent posts