포트폴리오2012. 2. 23. 15:20

정말 힘들었던 프로젝트중 하나입니다. 일단 개발자는 1명(저!!!) 디자이너 1명(기백)

이렇게 시작했던 프로젝트였고 역시 끝날때도 이렇게 추가 없이 끝났습니다.

일단 짧은 기간, 방대한 양의 업무파악,아이폰과 100% 똑같아야 한다는 부담감, 기획서도 없습니다.

일단 엄청나게 좋지 않은 조건에서 시작하였고

기획서가 없어서 아이폰소스를 보면서 하나하나 참고해야했고(아이폰 앱을 만들어 보지 않았다면 못했을 작업)

어떤 기능이 있는지 몰라서 하나하나 실행하면서 했었습니다. 물론 정말 꼼꼼하게 봤었고 모르는게 있으면 메신저로 코레일 직업원에게 물어봤었는데 웬만하면 아이폰소스랑 제 핸드폰을 이용해서 기능을 배웠습니다.

직통, 환승 에 따라 UI가 다 다르고, 할인은 또 얼마나 종류가 많은지 ㅠㅠ (아니 열차안에서 언제부터 영화를 볼수 있고 좌석을 선택할수 있었던거지??? 영화 예매까지도 구현해야되?)

그리고 알수 없는 수많은 API들... , 윈폰에는 없는 아이폰 전용 컨트롤들...

프로젝트 마지막에 아이폰말고 안드로이드 테스트해서  왜 다르냐고 어이 없는 상황까지...

그리고 아이폰 1년동안 업그레이드 한것들을 그대로 적용해야했기때문에 시간도 모잘랐고

아이폰은 8명인가? 개발하고 개발 시간도 많았던데 난 왜 혼자서 2달만에 개발하라는건지 모르겠네요. 덕분에 맨날 야근

스트레스도 많이 받았지만 무사히 코레일 공식앱을 완성해서 기쁩니다. 

남은게 있다면 코레일 취직해도 될만큼 철도 전문가가 되었네요 하하하 늘어야할 코딩실력은 안늘고...ㅠㅠ


 

 

 

 

 

 

 

 

 

 

 

 

 

 

Posted by 동동(이재동)
Windows Phone 72011. 11. 16. 17:19

코레일의 역정보를 어디서 가져오나 싶었더니 sqllite를 이용하여 가져왔다.

나도 그것을 복사해서 해볼려고 했었지만 외부에서 가져온 sqllite 파일의 인코딩이 UTF8이 아니라 UTF16이여서

읽혀지지가 않았다.

그래서 어짜피 로컬 파일이니 그냥 csv로 만들어서 넣었다.

내가 한 작업은 이렇다.

1. sqlLite Database Browser에서 아이폰소스에서 가져온 KorailDatabase.sqlite 파일을 로드 한다.

2. file - export-에서  csv 파일로 export한다.

3. 메모장으로 아까 저장한 csv 파일을 다른이름으로 저장하는데 인코딩을 UTF8로 다시 저장한다.

4. 이제 윈폰7에서 정상적으로 한글로 보이고 파싱한다.
 

만약 나중에 역이 업데이트 되었을때 아이폰소스에서 저 파일만 다시 받아서 저렇게 csv파일로 만들어서 윈폰에 넣으면 된다.

아래는 csv를 List로 만든 소스이다.

 

    private List<StationsModel> GetStationsList()
    {
        var resource = Application.GetResourceStream(new Uri(@"/GloryApp;component/Resources/KorailStations.csv", UriKind.Relative));

        StreamReader streamReader = new StreamReader(resource.Stream);
        string stations = streamReader.ReadToEnd();

        var StationsSplitData = stations.Split('\n');

        List<StationsModel> stationLists = new List<StationsModel>();

        foreach (var item in SkipData.First(StationsSplitData))
        {
            if (item == "")
                continue;

            var splitString = item.Split(',');

            stationLists.Add(new StationsModel()
            {
                code = splitString[0].Replace("\"", ""),
                lat = splitString[1].Replace("\"", ""),
                lng = splitString[2].Replace("\"", ""),
                title = splitString[3].Replace("\"", ""),
                ktx = splitString[4].Replace("\"", ""),
                indexgroup = splitString[5].Replace("\"", ""),
                maingroup = splitString[6].Replace("\"", "")
            });
        }

        return stationLists;
    }
}
Posted by 동동(이재동)