2015년 10월 11일 일요일

안드로이드 app 개발현황(2015-10-10 ~ 2015-10-11) (2)

즐겨찾기가 만들어졌다.

사실 즐겨찾기가 안될줄 알았었다.
이유는, Tmap API를 쓰는데
DB를 우리가 가지고 있는게 아닐 뿐더러
DB로 보내는 부분이 없다고 생각했기 때문이다.

그러나 이게 큰 오류가 있었는데
결론적으로
DB로 쏘아지는 부분이 있었다.
그러나 필자가 잘못 이해를 해버리는 바람에
당연히 없다고 생각했다...


어쨋든
DB로 쏘아지는 부분도 있었고, 심지어 위도와 경도를 알면
위치가 나오는 GeoCode라는 것도 있다는것을 찾아냇다.

그래서 즐겨찾기를 만들 수 있었다.
(마찬가지로, 1달동안 안된다고 생각했는데
하루만에 찾은것도 마술...)

사진을 보면 이름을 넣는 EditText부분이 있다.
그 부분에 내가 원하는 이름을 넣으면 된다.

중요한건, 이름을 넣은 다음에
insert버튼을 누르면 넣어지는게 정상이지만,
일단 스마트폰에서 GPS 위치를 먼저 찾아야
넣을 수 있다.

현재 위치를 지정하는 형식으로 만들었기 때문에
즐겨찾기 버튼을 누르자마자
스마트폰에서는 GPS를 찾고 있다.
그래서 찾아서 현재위치가 저장되면
그때 insert를 누르면 내가 원하는 이름에 현재 위치가 즐겨찾기로 저장된다.


집을 insert한 다음 show를 눌러보았다.
위치가 잘 들어간 것을 확인할 수 있다.


이번엔 똑같은 위치에서 다른 이름으로 넣은다음 insert해보았다.
첫번째 사진을 보면 toast로 잘 들어갓다는 것을 알 수있다.
그다음 show를 하면 학원이라는 이름에 위치가 잘 들어간것을 알 수 있다.


DB는 간단한 DB인 sqlite를 사용하였고,
column은 2개가 들어있다.


실제로 작동모습은
발표때 보여줄 것이다.


2015년 10월 10일 토요일

안드로이드 app 개발현황(2015-10-01 ~ 2015-10-11)

사람이 말을할때, 또는 말을 쓸때
조사가 굉장히 중요하다.

사람'이' 있다. <<- 이게 맞는 말인 반면에
사람'가' 있다. <<- 이것은 틀린 말이다.
'가'를 쓰려면, 글자에 받침이 없어야한다.
즉, 아기'가' 울고있다. <<- 이거처럼....

일반 STT, TTS는 이것을 자동적으로 변환해주지 않는다.
그렇기 때문에 제어를 해줘야하는데

이것을 제어하기 위해 사용된 것이
Normalization이랑 유니코드이다.

String temp = text1.charAt(text1.length()-1)+"";
String temp2 = Normalizer.normalize(temp,  Normalizer.Form.NFD);

text1은 사용자가 말한 위치가 들어있따.
우리는 그 text1에서 가장 마지막 글자만 보면 되므로 charAt을 써서
마지막에 있는 글자만 따왔다.
그 다음, Normalizer을 사용해서 temp의 값을 자음 and 모음으로 나눳다.
예를들면 '람' : ㄹ + ㅏ + ㅁ 이고
'이' : ㅇ + ㅣ 이다.

이렇게 나눠서 temp2에 저장되는데.
그전에 봐야할게 Normalizer.Form.NFD 이다.
두가지 형식이 있는데 NFD와 NFC이다. NFD는 위에 말한것처럼 나누는것이고
NFC는 이걸 유니코드 형식으로 보여주는 것이다.
우리는 밑에 받침이 있냐 없냐만 따지면 되기 때문에 NFD를 사용하였다.

이렇게 나누면 temp2에는 2의 길이를 가지거나 또는 3의 길이를 가진 것으로 나눠지게 된다.
if(temp2.length() >= 3){ ... } else { ... }
그래서 이 길이를 조사해서 if, else문으로 조사를 각각 다르게 사용해주면 된다.
Normalize를 몰랐을때는 막막했는데 알고나니 3줄로 끝나는 마술을 봤다..

안드로이드 app 개발현황(2015-09-01 ~ 2015-09-30)

저번 방학때 마커로 도착위치를 찍어서 경로를 보여주는 것까지 되엇고,
STT, TTS를 통해서 위치를 받는것을 했었다.

지난 9월 한달동안, app은 최소한의 기능을 맞추는 것까지 만들었다.

아래 스샷을 통해 보여주겟다.

처음 app을 시작했을 때 나오는 모습이다.
1. 길안내 시작 <<- 이것은 다른 app가 동일한 길찾기 기능을 가진 button이다.
다른점은, 가고싶은 위치를 사람의 말로 받는다는 것이고.
현재위치를 자동적으로 지금 서있는 위치롤 찾아준다는 것이다.

2. 현재 위치 <<- 이 button을 누르면 현재 내가 서있는 위치가 뜨면서 지도가 보여진다. 
특별한 길 안내사항은 없으며, 움직일 때마다 현재위치가 갱신되고
마커로 보여준다.
사실 이부분은 아직 완성되지는 않은 상태였다.

3. 즐겨찾기 <<- 9월달에는 구현을 못했었다.
지금에서야 알았지만
의사소통의 실수로 인해서 
구현이 안될줄 알았엇다.......

1. 길안내 시작 << 이 button을 누르면 나오는 화면
소리는 안나지만, 실제로 위치를 받는것과 확인하는것. 확인이 되면 시작을 한다.
말 그대로 STT와 TTS만 집어넣은거기 때문에 세세한 오류는 이당시에는 
수정을 하지 못한 상태였다.

지도가 먼저 구현된다. GPS가 찾으면 그때 마커를 찍어준다.
현재위치와 도착위치는 잘 찾는다. 문제는 현재 마커가
스마트폰에 따라 현저하게 차이를 보인다는 것이다.
위체 사진은 갤럭시 S5로 찰영했을때 보이는 사진이다.




이 사진들은 LG 옵티머스 G pro로 찍었을때 나오는 마커다.
정확도가 상당히 다르다는것을 알 수 있다.