본문 바로가기

전체 글 380

[안드로이드] 다국어 지원해보기 #1 글로벌한 앱을 위해서는 다국어 지원이 필요합니다. 그래서 이번엔 다국어 지원을 하는 방법에 대해 글을 작성해보려고 합니다. 다른 환경은 모르겠으나 안드로이드 스튜디오는 다국어 지원이 매우 간단한 편입니다. 다른 분들의 포스트를 찾아보니 크게 2가지 방법을 쓰시더군요. 1. 텍스트를 때려박을때 locale를 찾아서 분기처리하여 표시하기 2. 핸드폰의 언어설정에 따라 알아서 표시하기 이 중 저는 2번째. 핸드폰의 언어설정에 따라 알아서 표시하는 방법으로 구현을 해보았습니다. 구현해야할 것은 크게 2가지입니다. 언어에 따른 텍스트표와 언어설정을 바꿔주는 기능입니다. 이번 포스트에서는 언어에 따른 텍스트표를 만드는 방법에 대해 하겠습니다. 그럼 시작하겠습니다. 안드로이드 스튜디오의 창을 보면 이렇게 되어있습니다.. 2020. 6. 19.
[안드로이드] Rest API을 postman으로 간단히 파싱하기 이전 포스트에서도 api 파싱하는 법에 대해서 한번 다뤘습니다. 이번 포스트에서는 그보다 조금더 간단한 파싱법에 대해 설명해드리고자 합니다. 모두들 postman에 대해 한번씩 써보시거나 들어보신적이 있으실 겁니다. 이번에는 이 postman을 이용한 방법입니다. 포스트맨을 설치하고 나면 나오는 기본화면입니다. 여기서 요청 url, 파라미터, 헤더, 바디등을 입력하고 send를 보내게 되면 다음과 같은 응답을 받을수 있습니다. 이제 이 부분을 안드로이드 앱상에서 받아보도록 하겠습니다. 일단 대부분의 RestAPI의 경우 비동기인 AsynckTask로 받아옵니다. 추가적으로 AsynckTask의 경우, 조만간 deprecated 된다고 하니 빨리 코틀린를 배우고 코루틴을 사용해보아요. 포스트맨을 보시면 맨.. 2020. 6. 17.
[안드로이드] 파이어베이스 Remote Config 사용기 자체 서버가 없는 서비에서 갑작스런 키값의 변경, 특정 값을 모바일 앱에 전달해야하는 상황은 매우 당혹스럽기마련입니다. 값을 주자니 앱을 업데이트 해야하는데 간단한 문자열 변경을 위해 업데이트 하는 것도 부담스럽기 때문이죠. 이런 상황을 안타깝게 여기신 갓갓님들이 만들어주신 기능이 원격 설정 ( Remote Config ) 입니다. 제가 주로 사용하는 파이어베이스에서도 원격 설정 기능을 제공하고 있어 이렇게 사용기를 작성합니다. 파이어베이스 Remote Config의 기능은 크게 3가지로 볼 수 있습니다. 1. 앱의 변경사항을 사용자에게 빠르게 적용시키기 2. 사용자 분류를 통한 맞춤 설정 3. A/B 테스트를 통한 개선 이 중에 이번 포스트에서는 1번. 앱의 변경사항을 사용자에게 빠르게 적용시키기에 대.. 2020. 6. 14.
[현대] 업어키운 걸그룹 (완) - burn8 ★★★★★ 연예인의 스타성을 볼 수 있지만 평범한 직장인으로 살던 주인공이 평범하지 않은 다섯 소녀를 만나면서 반강제적으로 매니저가 된다.(카카오) 스타의 아우라, 내 눈엔 그게 보인다. 항상 옳은 걸그룹을 육성해보자! (조아라) [매니저][업키걸][연예계][회귀][일상물][15금] 많은 분들이 카카오페이지의 표지를 보셨을테지만 개인적으로 카카오의 표지는 별로라 조아라에 올라온 구표지를 가져왔습니다. 개인적으로 연예인 매니저물은 19금설정으로만 가는 경향이 있어서 그동안 보지않았던 장르입니다만 이건 유명하다고 해서 한번 봤습니다. 결과는 매우 만족합니다. 적당한 19금과 일상물의 경계에서 잘 풀어나갔습니다. 각 캐릭터 하나하나의 참신함과 개성을 가지고 내용을 전개하면서 개그,만담과 같.. 2020. 6. 12.
[안드로이드] Android Roadmap 2020 안드로이드 로드맵에 따라 차근차근 공부해보려합니다. 2020. 6. 10.
[정보처리기사] 2020년 2회차 필기 후기 2020년 06월 06일. 오후 1시 정보처리기사 대략 2주 시나공 빠르게 1회독 후 A등급만 3일동안 느긋하게 보고 들어감 정보처리 산업기사를 군대에 있을때 취득했었는데, 대학교 졸업후 기사 자격증은 하나 있어야 할듯하여,, 이번에 응시를 했습니다. 많은 분들도 시험보려가셔서 느끼셨겠지만 코로나 사태와중에도 좋은 환경에서 시험을 치르기 위해 많은 준비를 했다는 것을 느꼈습니다. 일단 시험에 대해 말씀드리면 예전 산업기사 vs 이번 기사로 하면 전공자한테 훨씬 편했다는 점입니다. 저의 경우 회사를 다니면서 공부를 했습니다. 시험기간은 2주를 잡았고, 시나공 책을 한번만 완독하자는 생각으로 공부를 했습니다. 근데 막상해보니 지루해져서 주말동안 총 800여페이지중에 400페이지하기도 하고 암튼 그렇게 열심히.. 2020. 6. 6.
[안드로이드] 앱 업데이트를 관리하는 방법 #1 안드로이드 앱을 업데이트 하는 방법은 2가지로 나뉩니다. 1. 유저가 알아서 언젠가 하길 기다리기 2. 개발자가 앱 실행시 판단해서 강제로 하기 여기서 우리는 2번째에 해당하는 경우에 대해 2가지 방법으로 알아보려고 합니다. 하지만 제가 설명하는 것이 최고의 솔루션은 아니고 개발하면서 배웠던 2가지 방법이라 혹시 더 나은 방법이 있다면 알려주세요. 1. Firebase의 Remote Config 를 이용해서 앱 버젼 비교후 다이얼로그로 업데이트 알려주기 2. 안드로이드의 기능, In App update 이용하기 이렇게 2가지 방법이 있습니다. 오늘 포스트에서는 1번에 해당하는 코드와 구현 방법에 대해 설명해드리겠습니다. FireBase의 Remote Config는 이름 그대로 원격 설정? 의 느낌입니다... 2020. 6. 2.
[현대] 프로페서 ( 완 ) - 김연우 ★★★★★ 세계적인 학자의 유품을 물려받게 된 박민우. 그의 눈에 새로운 것들이 보이기 시작하는데... 3류대 출신 인문학도의 위대한 도전! [인문학][일상물][교수의세계][루카치 지뤼지] 판타지 소설이기 보다는 한편의 문학소설을 읽은 느낌을 주는 책이었습니다. 대체로 판타지란 가벼운 문체, 색다른 능력을 토대로 풀어나가기 마련이지만 적어도 프로페서에서는 진득한 학자라는 소재를 가지고 가벼운 문체지만 고민과 사색을 잠기게 하는 소설이었습니다. 물론 판타지의 요소인 ( 초능력 안경과, 만년필 ) 이 나오긴 하지만 이 부분은 작가를 성장시키기 위한 요소로 사용되고 완결로 나아가야하는 필연적인 도구로 나옵니다. 그래서 더 짜임새있다는 생각이 들었습니다. 이 책을 읽고나서 평소 생각해보지 못.. 2020. 6. 1.
[플러터] ShowAboutDialog, ShowSnackBar 에 대해서 AboutDialog에 대해서 구글은 법률용어, 버전 번호, 라이센스 등의 정보를 간단하게 만들어주는 위젯이라고 설명하고 있다. 실제로 사용해보니 아주 간편하기는 하나 이런것들까지 위젯으로 만들어놓게 된다면 알아야할 위젯이 더욱 많아야 될 것이라고 생각이 드는 수준의 위젯이었다. SnackBar 는 나중에 추가적으로 설명을 더 하겠지만 간단히 설명하자면 하단에 붙어 나오는 직사각형의 막대형 위젯이라 생각하면 된다. 안드로이드의 스낵바와 거의 비슷하지만 구현은 훨씬 간단하게 되어있으면 확장성도 많다. import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; void main() { LicenseRegistry.addL.. 2020. 5. 30.
[무협판타지] 천하제일 곤륜객잔 (완) - 백보 ★★★★★ "누구시라고요?" "운룡일세." 백년 만에 폐관 수련을 끝마친 운룡 무정한 세월에 그가 기억하고 있던 곤륜파는 완전히 변해 있었다. 주린 배를 쥐고 방황하던 그에게 운명처럼 다가온 인연 [반로환동][신선][객잔][개그][먼치킨] 주인공인 운룡은 100년동안 폐관수련을 하다가 깨달음을 얻고 다시 곤륜파로 돌아오게 됩니다. 여기까지는 내용이 오 역시 곤륜파 키우기 시작인가? 했는데 갑작스런 깨달음을 얻은 반작용일까요. 자신을 기억해주는 사람이 없는 곤륜파보다는 새로운걸 하고자 곤륜파를 손절치고 도시로 가다가 객잔을 시작합니다. 객잔에서 숙수로 일을 시작하게 되면서 삼매진화로 물을 끓이고 이기어검으로 소면을 자르는 신기를 보이며 점점 객잔을 크게 되고 사람이 모여들면서 전체적인 .. 2020. 5. 29.
[플러터] SafeArea 에 대해서 들어가며 이번 글에서는 Flutter(이하 플러터)에서 가장 기본이 되는 위젯 "SafeArea"에 대해 살펴보고 사용법에 대해서 알아보도록 하겠습니다. 그런 후에 적용 예시를 통해 어떤 옵션이 있는지 또한 사용해야할 때의 유의점도 함께 살펴보겠습니다. SafeArea 이름만 들어서는 안전한 영역?은 대체 뭐까라는 의문점을 들게 하는 위젯입니다. 하지만 매우 중요하고 의미있는 위젯이기도 한데요. 바로 Widget of the week 에서 첫번째로 설명하고 있는 위젯이기 때문입니다. 플러터 공식문서에서는 이 위젯을 이렇게 표현하고 있습니다. A widget that insets its child by sufficient padding to avoid intrusions by the operating sy.. 2020. 5. 28.
[안드로이드] FCM 클릭시 이벤트 처리하기 기획팀 요구사항 : Console에서 FCM를 보낸후 사용자가 클릭하면 원하는 페이지로 가도록 만들어주세요. 나 : 음 일단 해볼게요. 근데 client 단에서 하는 방법은 있는데요. 콘솔은 아직 못찾았어요. 기획팀 : 그래도 콘솔이 좋겠어요. ㅅㄱ요 저런 느낌의 대화가 진행되고 다시 찾아봤습니다. 다양한 페이지를 찾아봤는데 FireBase의 console 로 보내는 FCM의 경우 클릭 이벤트를 구현하는 페이지는 찾기 어려웠습니다. 많은 경우가 메시지 안에 click_action : .MyActivity 를 넣고나서 intent filter로 넘겨버리는 방법을 사용하고 있습니다. 하지만 저는 콘솔에서 해야함으로 일단 콘솔을 봤습니다. 콘솔을 보니 알림부분은 notification 부분에 뜨는 듯하고 아래.. 2020. 5. 27.
[안드로이드] dialog 안에서 startActivity사용하기 제가 구현한 앱에서는 앱 실행시 공지사항을 띄워주는데 이를 Dialog를 사용하여 표시합니다. 근데 이 공지사항에서 바로 인터넷 url 주소로 넘어가야 하는 상황이 생겼습니다. 처음은 일반적인 구현으로 했으나 error: method startActivity in class ContextCompat cannot be applied to given types; startActivity(intent); ^ required: Context,Intent,Bundle found: Intent 다음과 같은 오류를 뱉어냈습니다. 이경우 아주 간단한 해결책이 있습니다. 바로 this를 이용하는 것입니다. 해당 오류의 경우 현재 context를 파악하지 못하기때문에 어느 액티비티에서 intent를 넘기는 건지 특정하지 .. 2020. 5. 25.
Build Tool ( 빌드 도구 : Ant, Maven, Gradle ) 에 대해서 Build 는 작성된 Source Code을 실제 기기 ( 컴퓨터, 핸드폰 ) 등에서 실행 될 수 있는 소프트웨어로 변한화기 위한 과정을 하는 것을 말하며, Build Tool 은 이러한 과정을 해주는 것이다. 즉 Build Tool 은 Source Code --> Software 로 변한하는 과정에 필요한 전처리, 컴파일 등의 작업을 수행하는 SW를 말한다. 대표적으로 살펴볼 빌드 도구는 크게 3가지 ( Ant, Maven, Gradle ) 이다. Ant( Another Neat Tool) *아파치 재단에서 개발한 것으로, 자바의 공식적인 빌드 도구 *XML 기반의 스크립트를 사용하여, 유연하고 자유도가 높다-> 때론 관리하기 어렵다. *규칙, 표준이 없어 무한한 커스텀이 가능하다 -> 어렵다 Mave.. 2020. 5. 24.
컴포넌트, 인터페이스, 라이브러리에 대하여 컴포넌트 ( Component ) = 독립적인 업무 또는 기능을 수행하는 단위이며, 실행 코드 기반으로 작성된 모듈 인터페이스 ( Interface ) = 서로 다른 두 시스템이나 소프트웨어 등을 서로 이어주는 부분 라이브러리 ( Library ) = 개발 편의를 위해 자주 사용되는 코드, API, 클래스, 값, 자료형 등의 자원을 모아놓은 것 2020. 5. 24.
[플러터] CheckboxListTile 에 대하여 CheckboxListTile 란 말그대로 Checkbox를 가진 ListTile 입니다. 체크박스가 필요할때 하나의 ListTile로 묶어 쉽게 생성하고 관리합니다. import 'package:flutter/material.dart'; void main() => runApp(MyApp()); /// This Widget is the main application widget. class MyApp extends StatelessWidget { static const String _title = 'CheckboxListTile Example'; @override Widget build(BuildContext context) { return MaterialApp( title: _title, home: S.. 2020. 5. 24.
[안드로이드] 구글은 왜 DP(Density-independent Pixel) 만들었을가 dp를 왜 쓸까에 대한 고민이 문득 든 것인 단톡방에서 "dp 대신에 cm를 쓰면 더 직관적이지 않느냐?" 라는 물음에서 시작되었습니다. 생각을 해보니 맞는 말이기도 하여 이 기회에 제 생각을 이렇게 글로 작성합니다. DP는 Device-independent Pixel 또는 Density-independent Pixel 의 약자입니다. 말 그대로 장치에 독립적인 픽셀. 즉 모바일 기기에 맞는 새로운 기준인 것이지요. DP는 장치에 독립적인 픽셀이기에 기존 단위로 측정할 수 있는 단위를 갖습니다. Android 에서는 1dp = 1/160 inch, 또는 0.15875mm 저는 여기서 의문이 생겼습니다. 어찌보면 기존의 inch, mm의 단위체계를 이용해서 가져다 쓰면 되는건데 굳이 새로운 단위체계인 DP.. 2020. 5. 21.
[무협] 절대검감 (완) - 한중월야★★★★★ 혈교에 납치되어 첩자로 살아보니 깨달았다. 가문에서 쓰레기라고 벌미받았던 시절만도 못하다는 사실을. [회귀물][혈교][검과대화함][검선][무림통일] 제목이 확 안끌려서 안읽고 있다가 작가님이 나노마신의 '한중월야' 님이신걸 알고 냉큼 읽었습니다. 전작인 나노마신도 무척 재밌게 읽었는데 역시나 참신한 소재로 재밌게 풀어가셨습니다. 전체적인 줄거리는 어렸을때 혈교로 끌려가서 첩자로 살다가 검선이 남긴 '검선비록'을 가지고 죽게됬는데? 회귀하게 됩니다. 미래를 아는 주인공 소운휘는 다시 혈교로 끌려가는데 이번엔 첩자가 아닌 높은 급의 무인의 제자로 들어가게 되면서 미래가 조금씩 바뀌게 되면서 이야기가 시작됩니다. 회귀하고 나서 첩자로 안끌려가나 했는데 다시 끌려간게 반전아닌 반전이었습니다. 소설을 보면 전형적.. 2020. 5. 19.
[안드로이드] 원하는 좌표를 구글맵 화면에 표시해보자(LatLngBounds) 맵을 이동할때나 화면에 띄워줄때 특정 마커, 좌표 등을 포함하여 표시해서 보여줘야 할 때가 있습니다. 이때 이용하는 기능이 LatLngbounds 입니다. https://developers.google.com/android/reference/com/google/android/gms/maps/model/LatLngBounds#LatLngBounds(com.google.android.gms.maps.model.LatLng,%20com.google.android.gms.maps.model.LatLng) 아래 사진과 같이 모든 경로가 화면에 표시해줘야하는 상황입니다. 이런 기능을 위해 구글맵은 LatLngBounds 가 있습니다. 해당 기능을 몰랐을때는 원하는 좌표들을 계산해서 중심좌표로 설정하고 줌 레벨을 적.. 2020. 5. 16.
[안드로이드] 네이버 길찾기 api 파싱해서 구글맵 폴리라인 찍기 단계는 크게 2가지입니다 1. 네이버에 출발지, 목적지 값을 넣고 api 요청한다 2. 값을 받아와서 파싱한후 구글맵에 찍는다 입니다. 그럼 설명 시작하겠습니다. 네이버 플랫폼의 설명을 잘 따라하셨다면 다음과 같은 결과를 얻을 수 있습니다. (postman 으로 테스트) Respond 객체를 보시면 아시다시피 매우 복잡합니다. 파싱하기 어렵습니다만 차근차근해보겠습니다. 응답을 response로 받고 result에 문자열로 넣어줍니다. root JSONObject 를 받들고 전체를 받아와줍니다. root = {"code" : 0, ...} 형태 그 다음에 root 안의 route를 객체로 또 받아와 줍니다. route = {"route" : {..... }, .... } 형태 그러한 방식으로 계속 파싱해옵.. 2020. 5. 11.
[플러터] Route 기능에 대하여 ( 페이지 이동 ) 플러터에서 페이지( 화면 ) 이동은 Navigator 의 push, pop 를 사용한다고 앞써 설명했습니다. 2020/05/07 - [개발/플러터] - [플러터] Navigator 에 대해 ( 화면 전환 ) [플러터] Navigator 에 대해 ( 화면 전환 ) Navigator 는 화면을 전환하기 위한 스택 개념으로 생각하면 됩니다. 안드로이드의 경우 Intent를 통해 넘겨주거나 그나마 최근에 생긴 Navigator 기능을 통해 넘겨주는데 안드로이드 navigator와 비슷합니다. 여.. all-dev-kang.tistory.com 하지만 Navigator 코드를 보시면 매번 이러한 코드를 썼습니다. 이 코드를 간결하게 표현하고자 할때 route 기능을 쓰면 됩니다. 이렇게 앱의 시작 부분에 rout.. 2020. 5. 11.
[플러터] 페이지(스크린) 간의 데이터 전송 안드로이드에서는 주로 intent.putExtra를 통해 간단한 데이터를 액비티비 간에 전송하곤 합니다. 하지만 플러터에서는 navigator에서 이러한 데이터 전송을 관리합니다. push, pop 를 할때 데이터를 같이 실어보내주는 것이죠. 혹시 navigator에 대해 모르신다면 아래글을 먼저 읽고 와주세요. 코드도 저 예시에서 추가된 것입니다. 2020/05/07 - [개발/플러터] - [플러터] Navigator 에 대해 ( 화면 전환 ) [플러터] Navigator 에 대해 ( 화면 전환 ) Navigator 는 화면을 전환하기 위한 스택 개념으로 생각하면 됩니다. 안드로이드의 경우 Intent를 통해 넘겨주거나 그나마 최근에 생긴 Navigator 기능을 통해 넘겨주는데 안드로이드 naviga.. 2020. 5. 10.
[무협판타지] 흑마법사 무림에 가다 (완) - 박정수 ★★★★☆ 마교, 이곳에서 나는 새롭게 부활할 것이다. 또다시 모든 것을 잃더라도 기필코 흑마법사의 길을 걸어갈 것이다. 그들은 나에게 제자가 되라 하지만, 어림없는 소리. 어둠의 흑마법사가 어찌 검사의 제자가 될 수 있단 말인가! 마교에서 부활한 대흑바법사 마현의 무림종횡기 [차원이동][마교][흑마법사][강시][복수] 글 내용중에 보법에 블링크를 섞어쓰는 장면이 있습니다. 이 장면을 보고 '마법사 무림에 가다' 와 비슷하다고 생각했는데 같은 작가님의 신작일 줄은 몰랐습니다. 또한 단전에 서클을 만드는 방법이 드래곤 하트와 비슷하다고 깨닫는 장면 등등?? 비슷합니다. 전작에도 그렇고 이번 작품도 재밌게 읽었습니다. 특히 흑마법사 답게 스켈레톤, 다크나이트 등을 이용하는게 그 부분을 강시로 묶어 하.. 2020. 5. 9.
[플러터] Padding 에 대하여 Padding 이란 공간에 여백을 주는 것입니다. 위젯이 많은 페이지의 경우 경계를 구분하기 어려울 때가 있습니다. 이때 Padding 위젯을 이용하여 어느 면이나 모든 면에 여백을 추가할 수 있습니다. import 'package:flutter/material.dart'; void main() => runApp(FirstPage()); class FirstPage extends StatelessWidget{ @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Padding Example"), ), body: Center( child: GridView.count(crossA.. 2020. 5. 9.
[플러터] Navigator 에 대해 ( 화면 전환 ) Navigator 는 화면을 전환하기 위한 스택 개념으로 생각하면 됩니다. 안드로이드의 경우 Intent를 통해 넘겨주거나 그나마 최근에 생긴 Navigator 기능을 통해 넘겨주는데 안드로이드 navigator와 비슷합니다. 여기서 스택 개념이라고 표현한 이유로는 Navigator에 push, pop를 통해 화면 이동을 조정하기 때문입니다. import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme.. 2020. 5. 7.
[플러터] TextField 에 대하여 TextField 는 글자를 입력받는 위젯입니다. class MyFirstWidget extends StatelessWidget { MyFirstWidget({Key key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('TextField Sample'), ), body: ListView( scrollDirection: Axis.vertical, padding: const EdgeInsets.all(10.0), children: [ TextField( decoration: InputDecoration( labelText: '기본 design.. 2020. 5. 7.
[플러터] ClipOval 에 대해서 이번에 설명해드릴 위젯은 2020. 4. 24 영상으로 올라온 ClipOval 위젯입니다. 해당 위젯을 사용하면 하위 요소를 원이나, 타원으로 변경할 수 있습니다. import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyFirstWidget(), ); } } class MyFirstWidget extends.. 2020. 5. 5.
[플러터] 이미지 파일 넣기 ( assets ) 첫번째, 이미지 파일을 준비한다. 두번째, 로고 이미지가 들어간 폴더를 생성한다. 이때 생성된 폴더의 위치는 pubspec.yaml의 파일위치와 같아야한다. 따라서 pubspec을 우클릭하여 show in explorer로 열도록 하자. 폴더가 열렸으면 여기에 images 폴더를 생성하세요. images 안에 원하는 이미지 파일을 모조리 때려 넣습니다. 세번째, pubspec.yaml 파일을 열어서 수정하세요. 을 넣으세요. 간혹 이런 에러로그가 뜨는 분이 있으실 겁니다. 이것은 - 와 images/ 사이에 스페이스가 없어서 생기는 에러이니 필수로 - images/ 로 해주세요. class MyFirstWidget extends StatelessWidget { MyFirstWidget({Key key}).. 2020. 5. 5.
[플러터] AnimatedWidget에 대해서 ( 커스텀 애니메이션 위젯 ) 이번에 설명해드릴 플러터 기능은 이주의 위젯으로 뽑힌 AnimatedWidget 입니다. AnimatedWidget 은 커스텀 애니메이션 효과를 내기 위한 추상 클래스입니다. 위젯이 아니에요. 따라서 기존의 애니메이션 위젯( slideTransition, RotationTransition 등 ) 들이 원하는 효과를 주지 못할때 사용합니다. import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: .. 2020. 5. 4.
[역사판타지] 조선, 봉황이 포효하다 (완) - 간절히 ★★★★★ 역사학 박사였으나 며칠째 아무것도 못 먹을 정도로 가난했다. 어느 순간 모든 것이 끝나 버렸고, 다시 눈을 떴을 때, 조선의 12대 왕 인종이 되었다. 조선, 봉황이 포효하다! 정적을 상대하고 나라를 부강히 하여 임진과 병자를 대비하라! 특징 :[환생][빙의][조선][인종][대체역사] 오랜만에 짧지만 강력한 대체역사를 보았습니다. 다른 대체역사처럼 현대에 살다온 지식들이 거의 치트키 수준으로 적용하여 다 때려부수는게 아닌 나름의 선을 지키며 전개되는 현실적인 소설입니다. 특히나 국가예산에 대해 꼼꼼하게 살펴가면서 내용을 전개해서 그런지 현실감이 느껴졌습니다. 조선의 12대 왕 인종은 재위 8개월 만에 죽었기 때문에 아무것도 없습니다. 그나마 8개월 만에 임금이 3번 바뀌면서.. 2020. 5. 4.