2013-06-17 3 views
1

Я следил за документами google и многими другими сайтами и выполнял программирование для календаря, но он не работает для устройств ниже android api v14 ... может ли кто-нибудь дать код для календаря api, который может поддерживать все устройства выше апи v10 ....календарь программирования api для android от api10

MainActivity.java

package com.test.weekly; 
import java.text.Format; 
import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.database.Cursor; 
import android.os.Bundle; 
import android.provider.CalendarContract; 
import android.text.format.DateFormat; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 

@SuppressLint("NewApi") 
public class MainActivity extends Activity implements OnClickListener{ 

private Cursor mCursor = null; 
private static final String[] COLS = new String[] { CalendarContract.Events.TITLE, CalendarContract.Events.DTSTART}; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mCursor = getContentResolver().query(CalendarContract.Events.CONTENT_URI, COLS, null, null, null); 
    mCursor.moveToFirst(); 
    Button b = (Button)findViewById(R.id.next); 
    b.setOnClickListener(this); 
    b = (Button)findViewById(R.id.previous); 
    b.setOnClickListener(this); 
    onClick(findViewById(R.id.previous)); 
} 
@Override 
public void onClick(View v) { 
    TextView tv = (TextView)findViewById(R.id.data); 
    String title = "N/A"; 
    Long start = 0L; 
    switch(v.getId()) { 
    case R.id.next: 
     if(!mCursor.isLast()) mCursor.moveToNext(); 
     break; 
    case R.id.previous: 
     if(!mCursor.isFirst()) mCursor.moveToPrevious(); 
     break; 
    } 
    Format df = DateFormat.getDateFormat(this); 
    Format tf = DateFormat.getTimeFormat(this); 
    try { 
     title = mCursor.getString(0); 
     start = mCursor.getLong(1); 
    } catch (Exception e) { 
     //ignore 
    } 
    tv.setText(title+" on "+df.format(start)+" at "+tf.format(start)); 
} 

}

ответ

1

Android имеет недокументированные API календаря, который поддерживается на старых устройствах.

This is a tiny class, чтобы обеспечить ограниченную поддержку android Calendar. Вы можете посмотреть источники, чтобы понять, как работать с календарем Android, используя недокументированный API.

Полный проект для Eclipse - here.

Если вы можете прочитать русский (или использовать translate.google.com), вы можете прочитать this topic.

+0

Мне нужно открыть календарь Google, а не календарь Android –

Смежные вопросы