[android]How To Control Google Map android

isRouteDisplayed()
원문
For accounting purposes, the server needs to know whether or not you are currently displaying any kind of route information, such as a set of driving directions. Subclasses must implement this method to truthfully report this information, or be in violation of our terms of use. TODO: provide link 
번역
For accounting purposes, 서버는 여러분이 현재 라우팅 정보의 주행 방향 등의 정보를 보여주고 있는지 알 필요가 있다. 서브클래스는 이런 정보를 정확히 보고하기 위해서 이 메소드를 구현해야 하거나 .....

공유하기 버튼

 

최근 근황(sip 폰, 모바일, 자리 옮김)

11월부터 SIP 프로토콜과 RTP 등과 관련된 개발일을 시작했다.

물론 SIP와 RTP라는 놈은 난생 처음 들어보는 프로토콜이다. ㅎㅎ VOIP라는 약자는 그래도 귀에 좀 익은 편이었는데...

SIP와 RTP라니! 게다가 부가적으로 SDP,SIMPLE, RSTP......무수히 쏟아져 나온다..

12월 09일 새벽 현재...

프로토콜에 대해서는 RFC 문서를 꾸역 꾸역 읽었더니 조금씩은 이해가 되고 있다.

근데 이거 프로그램 짜기가 만만찮다.. ㅠㅠ

내일부터 모바일 웹페이지도 만들어야 한다. 낮에는 나 대신 지금 파견나와 있는 곳에서 일하실 분 인수인계도 해야 한다.

한 시간 떠들고 나믄 목이 아파서..ㅠㅠ

내년, 2011년은 이직은 아니고 업무가 변경될 것 같다.

공유하기 버튼

 

자라섬 국제 재즈 페스티발이 끝나다 자라섬국제재즈페스티발 어플

성황리에 자라섬 국제 재즈 페스티발이 끝나고 제가 만든 어플의 수명도 다한 것 같습니다^^

이번 어플을 개발하면서 저의 부족한 점도 많이 깨닫고 배운 것도 엄~~~청 많았던 좋은 경험이었습니다.
400여명이 제 어플을 다운받아 주셨고, 절반 넘게 지우시지 않고 가지고 계시는게 너무 감사하고 고맙게 생각하고 있습니다.

(너무 허접한 어플이라서 깔고 바로 지우지나 않을까.. 기능이랄 것도 별로 없는 게 용량은 대땅 크네..하고 욕은 하지 않을까 걱정을 했었습니다. ㅠㅠ)

자바라는 언어를 사용하는 안드로이드 어플을 개발하면서 제가 디자인 패턴에 대해서도 광대한 무지함을 지니고 있다는 걸 다시금 깨닫게 해주었고, 디자인과의 협업에 대한 경험이 전무해서 디자이너과의 커뮤니케이션도 원활하지 못했던 점 반성하고 있습니다.

탄탄한 설계가 프로젝트를 올바른 길로 인도하고 탁월한 커뮤니케이션 능력이 산으로 가는 프로젝트의 돛대를 바로잡을 수 있다는 점 배운 것 같습니다..


11월쯤에 새로운 어플 개발을 시작할 예정입니다. 그 때는 더욱 발전한 제 자신과 어플이 나오길 빌며... 
움짤 한장..^^


공유하기 버튼

 

캘린더에 등록 기능(알람 기능) 자라섬국제재즈페스티발 어플

아래는 프로요(엄밀히 말해서 디자이어)에서 동작하는 폰에 있는 캘린더에 일정을 추가하는 코드입니다.

자라섬 페스트발 어플에 추가되는 코드입니다.

문제는 애뮬레이터에서는 일정 어플이 깔려 있지 않아서 Uri를 찾을 수 없는 걸로 나와서,, 이 코드를 테스트를 해볼 수가 없네요..

        public void sendSchedule(int year, int month, int day, int startHour, int startMinute


                                                                                                , int endHour, int endMinute

                                                                                                , int before, int loc){

                Uri calendars = null;

                Calendar calStTime = Calendar.getInstance();


                calStTime.set(Calendar.YEAR, year);

                calStTime.set(Calendar.MONTH, month-1);

                calStTime.set(Calendar.DAY_OF_MONTH, day);

                calStTime.set(Calendar.HOUR_OF_DAY, startHour);

                calStTime.set(Calendar.MINUTE, startMinute);

                

                Calendar calEndTime = Calendar.getInstance();

                calEndTime.set(Calendar.YEAR, year);


                calEndTime.set(Calendar.MONTH, month-1);

                calEndTime.set(Calendar.DAY_OF_MONTH, day);

                calEndTime.set(Calendar.HOUR_OF_DAY, endHour);

                calEndTime.set(Calendar.MINUTE, endMinute);

                

                if(android.os.Build.VERSION.SDK_INT == 7){

                        calendars = Uri.parse("content://calendar/calendars");


                }else{          

                        calendars = Uri.parse("content://com.android.calendar/calendars");

                }

                String[] projection = new String[] { "_id", "name" };


                Cursor managedCursor = getContentResolver().query(calendars,    projection, "selected=1", null, null);



                if (managedCursor.moveToFirst()) {

                        String[] CalNames = new String[managedCursor.getCount()];


                        int[] CalIds = new int[managedCursor.getCount()];

                        for (int i = 0; i < CalNames.length; i++) {


                            CalIds[i] = managedCursor.getInt(0);

                            CalNames[i] = managedCursor.getString(1);

                            managedCursor.moveToNext();

                        }

                        managedCursor.close();

                        


                        ContentValues cv = new ContentValues();

                        cv.put("calendar_id", CalIds[0]);

                        cv.put("title", Stages[loc]);

                        long startTime = calStTime.getTimeInMillis();


                        long endTime = calEndTime.getTimeInMillis();

                        cv.put("dtstart", startTime); // start time <string     dd-mm-yyyy tt:mm:ss>

                        cv.put("dtend", endTime); // end time <string dd-mm-yyyy tt:mm:ss>


                        cv.put("minutes", before); // alarm described as minutes before



                        cv.put("eventLocation", "gunpo");

                        if(android.os.Build.VERSION.SDK_INT == 7){


                                Uri newevent = getContentResolver().insert(Uri.parse("content://calendar/events"), cv);

                        }else{

                                Uri newevent = getContentResolver().insert(Uri.parse("content://com.android.calendar/events"), cv);

                        }

                }

        }

공유하기 버튼

 

리눅스에서 디자이어 인식시키기 android


아래 두 웹페이지를 참고하였습니다.

첫번째 링크된 안드로이드 공식 페이지에 보시면 각 단말기 제조사별 벤더 아이디가 있습니다.(16진수)

제 디자이어를 만든 HTC는 "0x0bb4"군요.

root 권한으로 아래와 같이 파일을 생성합니다.

sudo vi /etc/udev/rules.d/51-android.rules

그리고 파일에 아래 내용을 붙여넣습니다. 
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"

그리고 쉘에서 

$sudo reload udev 
아무 반응도 없지만 이 상태에서 PC에 안드로이드 폰을 연결하고 adb devices를 치면 정상적인 이름으로 보여집니다.

물론 eclipse의 DDMS 장치 관리자에도 바로 업데이트가 됩니다.

^^

공유하기 버튼

 

1 2
Top