2011-03-03 5 views
1

안녕하세요 m 나는 안드로이드에 새로운 오전 .. 내가 삼성 은하 3과에 설치 안드로이드 2.1 ...... 나는 다음과 같이 위젯을 구축하려는 이 ..달력, 안드로이드

에서 트리거, 웹 서비스 액세스

1. 전화의 캘린더에 액세스하고 싶습니다. (go 인터넷 검색 결과가 많습니다.하지만 아무 것도 찾을 수 없습니다 ..) (jimblackler.net/blog/?p=151 작동하지 않습니다.) 공개 API를 사용할 수 없기 때문에 Google 캘린더 (웹에서 제공되는 캘린더)를 사용할 수 있다고해도 괜찮습니다. letme는 구현하기가 쉬운 방법을 알고 있습니다. 그냥 이벤트를 읽길 원합니다 ..

2. 특정 시간에 이벤트를 트리거하는 방법 3 : 00hrs 일 때 함수를 호출해야합니다. 가능합니까? 그럴 경우 어떻게

3. 서버에 두 개의 문자열을 보내고 그 결과로 텍스트를 다시 수신하려고합니다. 어떤 코드를 작성하는 것이 가장 쉬운 방법일까요 ?? C# 웹 서비스가 ..? 아니면 그냥 몇 가지 매개 변수를 받아 서버에서 PHP 스크립트를 사용합니까?

감사합니다. :)

답변

0

첫 번째 질문 : 캘린더 액세스 : 이것은 content : // calendar/calendars URI를 기반으로합니다. 먼저 응용 프로그램이 android.permission.READ_CALENDAR 권한을 정의하는지 확인하십시오.

이 캘린더 ID 및 표시 이름을 가져 오기 : 특정 일정에

ContentResolver myContentResolver = getContentResolver(); 

final Cursor cursor = myContentResolver.query(Uri.parse("content://calendar/calendars"), 
     (new String[] { "_id", "displayName", "selected" }), null, null, null); 

while (cursor.moveToNext()) { 

    final String _id = cursor.getString(0); 
    final String displayName = cursor.getString(1); 
    final Boolean selected = !cursor.getString(2).equals("0"); 
} 

일 :

Uri.Builder myUriBuilder = Uri.parse("content://calendar/instances/when").buildUpon(); 
long currentTime = new Date().getTime(); 
ContentUris.appendId(myUriBuilder , currentTime - DateUtils.WEEK_IN_MILLIS); 
ContentUris.appendId(myUriBuilder, currentTime + DateUtils.WEEK_IN_MILLIS); 

Cursor eventCursor = myContentResolver.query(myUriBuilder.build(), 
     new String[] { "title", "begin", "end", "allDay"}, "Calendars._id=" + id, 
     null, "startDay ASC, startMinute ASC"); 

while (eventCursor.moveToNext()) { 
    // fields: 
    // Event title - String - 0 
    String eventTitle = eventCursor.getString(0); 
    // Event start time - long - 1 
    Date startTime = new Date(eventCursor.getLong(1)); 
    // Event end time - login - 2 
    Date endTime = new Date(eventCursor.getLong(2)); 
    // Is it an All Day Event - String - 3 (0 is false, 1 is true) 
    Boolean allDay = !eventCursor.getString(3).equals("0"); 

} 


두 번째 질문 : 예약 이벤트 : 는 기본적으로, 당신은 알람 관리기 클래스를 사용해야합니다, 자세한 내용은 android SDK를 참조하십시오. 예는 지금부터 행사 3 시간 설정 :

Calendar cal = Calendar.getInstance(); 
cal.add(Calendar.HOUR, 3); 
Intent intent = new Intent(this, MyAlarmHandler.class); 
intent.putExtra("alarm_message", "Wake up!"); 
int requestCode = 3824723; // this is not currently used by Android. 
PendingIntent pIntent = PendingIntent.getBroadcast(this, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pIntent); 


이 세 번째 질문 : 네,이 PHP 접근에게 놀라운 답변

+0

감사를 제안 .. 당신이 어떻게 구글에 액세스하는 방법을 말해 줄래 달력 ?? 그 달력은 웹상에 ..? –

+0

캘린더를 루프 할 때 (첫 번째 단계) _ _ displayName _ 필드를 확인하십시오. –