'어플소개'에 해당되는 글 15건

  1. 2013.12.31 일본문자 - 히라가나와 가타카나를 한 번에 공부하자!
  2. 2012.04.22 어플 8호 - [한자한자 - 천자문]
  3. 2012.04.07 어플 5호 - 관악문화관·도서관 (1)
  4. 2012.04.07 어플 4호 - 권투 타이머
  5. 2012.04.07 어플 2호 - 개인 도서관리 프로그램 (2)

일본문자 - 히라가나와 가타카나를 한 번에 공부하자!

어플소개 2013.12.31 20:36

이번에 소개해 드릴 어플은 [일본문자]라는 앱 입니다.

가장 최근에 만들어 출시한 어플이기도 합니다.

 

 

플레이 스토어에 이미 히라가나를 공부하기 위한 앱들이 워낙 많아서

만들기 전부터 그만 둘까말까 고민을 반복했었는데, 다운로드 수가 많은

몇 가지 앱을 설치해 보고 한 번 만들어 봐도 괜찮겠다 싶었습니다.

의외로 히라가나와 가타카나 앱이 따로 존재한다거나,

발음이 나오지 않는다거나,

디자인을 거의 적용하지 않은 앱도 많더라구요.

그래서 제가 생각하기에 히라가나/가타카나를 공부하는데 꼭 필요하다고

생각되는 기능을 모두 갖춘 앱을 만들어 보고자 했습니다.

늘 그렇듯 앱 자체는 아주 단순합니다. :)

 

그럼 앱 설명으로 들어가겠습니다.

우선 기본적으로 히라가나와 가타카나를 '일본문자' 하나의 어플에서

공부할 수 있다는 것이 이 앱의 가장 큰 장점이 아닐까 합니다.

 

아래는 앱 메인의 캡쳐 화면 입니다.

크게 4가지 메뉴로 나누어져 있습니다.

1. 한 문자

2. 행 문자

3. 50음도표

4. 테스트

 

아래 캡쳐 화면을 통해 하나씩 살펴보도록 하겠습니다.

1. 한 글자

히라가나 또는 가타카나 한 글자가 중앙에 크게 표시되고

아래 영문으로 발음이 표시 됩니다.

위와 같은 경우 발음은 '아' 가 됩니다.

 

발음 아래 4가지 버튼이 있는데,

이전/다음 버튼은 일본문자 순서대로 이동하게 되고

쓰기는 아래 화면에서 다시 설명 드리겠습니다.

듣기는 발음을 들어볼 수 있습니다.

 

     

'일본문자' 어플의 큰 장점은 히라가나 문자에 대응하는

가타카나 문자를 바로 확인하기 쉽다는 것입니다.

그 반대의 경우인 가타카나에서 히라가나도 마찬가지이구요.

 

화면 위의 히라가나 / 가타카나 탭을 선택해도 화면이 바뀌지만,

문자가 보이는 화면을 좌우로 스와이프 해도 화면이 이동됩니다.

 

아래는 쓰기 화면 입니다.

보고 있던 문자를 한 번 쓰면서 익힐 수 있도록 그리기가 가능한 화면을 제공합니다.

오른쪽 위 파란색 화살표 버튼을 누르면 싹 지워지고,

빨간색 X 버튼을 누르면 그리기 화면이 종료됩니다.

 

2. 행 글자

기본적인 화면은 한 글자 외우기와 거의 흡사합니다.

기본적으로 일본문자는 10개의 행과 5개의 단으로 되어 있는데 (=50음도)

보통 '아/이/우/에/오', '카/키/쿠/케/코', ... 이렇게 행 단위로 묶어서 외웁니다.

사전도 행과 단 순서대로 되어 있으니 이렇게 외우는 것이 좋은 방법이라고 생각하여

행 순서 - 단 순서대로 공부할 수 있도록 만들어진 메뉴입니다.

이전/다음 버튼을 누르면 이전행/다음행으로 이동하게 됩니다.

 

3. 50음도표

      

50음도를 한 화면에서 확인할 수 있는 메뉴입니다.

여기서도 히라가나와 가타카나를 쉽게 비교해 볼 수 있습니다. (화면 좌우 스와이프)

탁음과 반탁음 문자는 제외하였는데, 50음도만 잘 외운다면 금방 외울 수 있을 겁니다. :)

 

4.. 테스트

테스트는 먼저 히라가나만 가타카나만,

또는 히라가나와 가타카나를 함께 선택할 수 있습니다.

객관식은 일본문자를 보여주고 발음을 맞추는 것이고,

주관식은 발음을 보여주고 글자를 적어보는 것 입니다.

 

위 객관식 문제의 답은? nu (누) 가 되겠죠?ㅎㅎ

 

ro (로) 를 히라가나로 적어 보았습니다.

 

전에 어떤 사용자분께서 테스트에 끝은 없는 것인지 문의를 주셨었는데

현재 테스트는 무한정 다음 문제가 나오도록 되어 있습니다.

혹시 문제 수에 대한 제한(?) 등이 필요하다고 생각 되시면

간단한 설명과 함께 답글 남겨주세요~

검토 후 필요한 기능이라고 생각되면 업데이트 하도록 하겠습니다.^^

 

다운로드 받을 수 있는 구글 플레이 페이지는 아래와 같습니다.

https://play.google.com/store/apps/details?id=com.nulltree.skyapps.japstudy

 

혹시 바코드 스캐너 같은 어플이 있으시면 아래 QR 코드를 이용해 주세요.^^  

 

아직 출시한지 얼마되지 않아서 다운로드 수는 아쉬운 반면

사용자 여러분들의 좋은 평점은 너무나 감사할 따름입니다. ㅜ.ㅡ

비록 취미로 만들고 있는 입장이지만, 만들길 참 잘했다는 생각이 드네요.ㅎㅎ

다만 낮은 평점도 기꺼이 받겠지만, 부족한 부분은 간단한 리뷰라도 남겨 주신다면

다음 업데이트에 큰 도움이 될 것 같습니다.^^

 

Trackback 0 : Comment 0

어플 8호 - [한자한자 - 천자문]

어플소개 2012.04.22 21:58

개발 기간 : 약 3주

한자한자 시리즈

발음상으론 한짜한자 -> 한자를 한 글자씩 공부하는 앱이란 뜻인데 알아줄려나.ㅎㅎ

아이콘을 자세히 보면 알 수 있을만 하긴 한데.. 

별거 아닌 거 같아도 혼자서 다 하려니 신경쓸 게 참 많다.

또한 디자인 실력이 나날이 느는 걸 느낀다.

 

한자한자 - 천자문 어플의 메인화면.

부제 - 천자문 외우기 - 를 둔 이유는 [한자한자]가 시리즈 앱이기 때문이다. 

현재 [한자한자 - 4,800자]도 판매 중이고, 곧 [한자한자 - 1,800자]를 올릴 것이다.

 

처음의 고민은 역시 어떤 방식으로 한자를 외우도록 할 것인가 였다.

다른 앱을 참고하기 보다는

내가 중고등학교 시절 한문 시험공부 할 때 경험을 살려 보았다.

지금은 다 까먹었지만..

그래도 그 때 점수는 항상 90점 이상을 받았었으니.ㅋ

 

당연한 소리지만 뜻과 음을 보고 한자를 쓸 수 있으면 베스트다.b 

처음엔 뜻/음을 보고 한자를 쓰면서 외우고

점차 뜻/음을 가리고 한자만 보고 뜻/음을 추측하며 공부했던 기억이 있다.

아무래도 객관식의 비중이 높았으니..

 

한자를 쓰는 부분.

 

외운 한자는 초록색 표시, 아직 못 외운 한자는 붉은색 표시를 한다.

외움 여부와 난이도는 사용자가 설정하는 부분이다.

 

설정에서는 각 메뉴의 한자 노출 범위를 설정할 수 있다.

 

아래는 마켓 주소 입니다.

https://play.google.com/store/apps/details?id=com.nulltree.ccstudy&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5udWxsdHJlZS5jY3N0dWR5Il0.

또한 티스토어와 올레마켓에서도 [한자한자 - 천자문]으로 검색이 가능합니다.^^

Trackback 0 : Comment 0

어플 5호 - 관악문화관·도서관

어플소개 2012.04.07 17:52

실제 글 작성일 : 2012. 01. 31

이번 어플은 생각만 한 6개월은 한 것 같다.

HTML 파싱을 하는 게 번잡스러워서 계속 미루다가 이번에 맘먹고 만들게 되었다.

관악도서관에서 책을 자주 빌려보는 편인데 검색대에 사람이 많길래

폰으로 관악도서관 홈페이지 들어가서 검색하려니 여간 불편한 게 아니더라.

그래서 검색하는 부분만 만들어서 혼자 사용하려다

좀 더 다듬어서 마켓에 올려도 괜찮겠다 싶어 아래와 같이 만들었다.


일단 메인 화면은 관악문화관·도서관 메인 페이지와 비슷한 느낌을 주기 위해 노력했다.


검색 결과를 파싱해서 리스트에 뿌려주는 화면. 역시 이 부분에 손이 많이 갔다.


상세화면에서 청구기호를 확인하여 도서 위치를 찾을 수 있다.

이 부분은 딱히 화면을 따로 만들지 않고

웹 화면을 그대로 보여주어도 괜찮겠다 싶어 웹뷰에 바로 뿌려 주었다.

(라고 쓰고 사실 좀 귀찮았음.ㅋ)

대부분 각 도서관 홈페이지 링크를 웹뷰에 보여주는 방식이다.

뭐 어쩔 수 있는가. 관악도서관 모바일 페이지가 따로 존재하는 것도 아니고..

그래도 깔끔하게 보이도록 하려 꽤 노력했다.

버튼 이미지도 하나하나 손수 만들었고 색상도 일관성 있게 하려 했고..

암튼 디자인도 계속 하다보면 조금이라도 늘려나?

마켓에는 어제 올려서 아직 다운로드 수가 없다.

같은 관악구 주민이 몇 사람이라도 편하게 쓸 수 있었으면 좋겠다.^^

아래는 마켓 주소 입니다.

https://market.android.com/details?id=com.nulltree.mobilegwanak&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5udWxsdHJlZS5tb2JpbGVnd2FuYWsiXQ..

Trackback 0 : Comment 1

어플 4호 - 권투 타이머

어플소개 2012.04.07 17:50

실제 글 작성일 : 2012. 01. 24

오랜만에 만들어 본 개인적인 어플.

구상은 이미 몇 달 전부터 해 놓았지만

(내 몸과 마음이) 이제서야 조금 안정을 찾게 되었달까?

아무튼 2주 정도 틈틈히 만들어서 마켓에 올려 보았다.

4번 째 어플이지만 마켓에 올린 것으로는 1호 어플이다.

저녁마다 체육관에서 운동하고 있는데

운동시간 3분 마다 땡~! 쉬는시간 30초 마다 땡~! 하는 소리를 듣고 아이디어를 얻은 어플.


위 두 이미지는 개발 초기 화면 구성이다.

위 이미지는 완성된 모습의 어플 이미지이다.

광고를 붙여 봤는데 클릭률 0%;;


나름 타이머 설정에 대한 기능도 있다.

안드로이드 마켓에 올려진 모습. 왠지 좀 뿌듯하다.ㅎㅎ


아래는 권투 타이머 앱의 마켓 주소

https://market.android.com/details?id=com.nulltree.roundbell

관심있는 분들은 다운로드 받아서 한 번 실행해 보시길..^^ 

Trackback 0 : Comment 0

어플 2호 - 개인 도서관리 프로그램

어플소개 2012.04.07 17:46

실제 글 작성일 :  2011. 01. 29

2011.01.18 ~ 2011.01.28

두 번째 만들어 본 어플.

적용해 보고 싶었던 것은

1. SQLite 데이터베이스 활용

2. 네이버 책 API 활용

2. 갤러리 레이아웃 (Gallery Layout) 사용

3. 어플의 완전 종료

[ 메인화면 ]

10분 동안 만든 메인화면..;;


[ 리스트 뷰 ]

어플 1호 소스를 활용해 쉽게 구현했다.

[ 리스트의 제일 아래 ]

어플 1호에서 리스트 제일 아래로 이동 시

자동으로 리스트를 더 불러오는 기능을 구현했었기 때문에

이번에는 풋터(footer.xml)에 버튼을 넣고

버튼 클릭 시 리스트가 추가되도록 구현해 보았다.

[ 상세보기 화면 ]

리스트를 탭 했을 때 보여주는 액티비티.

[ 책 정보를 넣을 위치 선택 ]

[ 읽고 싶은 책 리스트 ]

읽고 싶은 / 추천 받은 / 다 읽은 리스트는 모두 동일한 레이아웃이다.

[ 추천 받은 책 리스트 ]

[ 다 읽은 책 리스트 ]

[ 책 정보 변경(이동) ]

책 정보 이동/삭제 시 이미지가 동적으로 사라지고

아래 책 정보도 함께 변경되도록 하는 부분이 좀 어려웠지만

하루 고민 끝에 해결했다.

[ 책 정보 삭제 ]

[ 어플 종료 시 ]

뒤로 버튼을 두 번(2초 안에) 눌러야 어플이 완전히 종료되도록 구현했다.

@Override
public void onBackPressed() {
// TODO Auto-generated method stub
//super.onBackPressed();
Log.i("myLog", "back");
if(mIsBackKeyPressed == false) {
mIsBackKeyPressed = true;

mCurrTimeInMillis = Calendar.getInstance().getTimeInMillis();

Toast.makeText(this, "'뒤로' 버튼을 다시 한 번 누르면 종료 됩니다.", Toast.LENGTH_SHORT).show();

startTimer();
}
else {
mIsBackKeyPressed = false;

if(Calendar.getInstance().getTimeInMillis() <= (mCurrTimeInMillis + (BACKKEY_TIMEOUT*MILLIS_IN_SEC))) {
finish();
System.exit(0);
}
}
}

 

Trackback 0 : Comments 2