我的问题很简单,有没有办法在应用程序内使用Android calendarView显示Google日历?我找不到方法在Android日历视图窗口小部件上显示Google日历?
回答
在Android上显示Google calender calenderView Widget .. Google中有多少可用的源代码..我给你一些链接,我希望这个链接可以帮助你。
http://code.google.com/p/android-calendar-view/downloads/list
http://www.mysamplecode.com/2011/10/android-datepickerdialog.html
享受此链接代码!
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Introducing ICS Calendar"
android:gravity="center"
android:padding="10dip"/>
<TextView
android:id="@+id/data"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="10dip"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/previous"
android:text="Prev"
android:padding="10dip"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/next"
android:text="Next"
android:padding="10dip"/>
</LinearLayout>
</LinearLayout>
Main.java
import java.text.Format;
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;
public class Main extends Activity implements OnClickListener{
private Cursor mCursor = null;
private static final String[] COLS = new String[]
{ CalendarContract.Events.TITLE, CalendarContract.Events.DTSTART};
}
现在我们需要重写的创建方法。请特别注意我们如何填充数据库游标。这是我们需要我们以前定义的COLS常量的地方。您还会注意到,在数据库游标初始化并设置了click处理程序回调后,我们继续并手动调用on click处理程序。这个快捷方式使我们能够在不必重复代码的情况下填写我们的UI。
Main.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.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));
}
权限:
<uses-permission android:name="android.permission.READ_CALENDAR"/>
我在CONTENT_URI上收到错误消息。 – vascobnunes 2012-11-13 11:40:51
好的,用@TargetApi(14)解决了这个问题。但现在我没有在模拟器上的日历知道这是否工作... :) – vascobnunes 2012-11-13 12:18:41
非常好,有什么办法让它看起来像一个日历?目前它只是提取事件。 – 2013-01-20 17:36:30
- 1. Android日历Google Calendar日历示例
- 2. Android日历视图显示使用caldroid的两个日历
- 3. Android日历视图,只显示2周
- 4. Android日历视图。月连续显示
- 5. Android日历视图
- 6. Android日历视图?
- 7. 日历视图android
- 8. 如何,只显示当前月在Android的Google日历视图
- 9. 显示Google日历UI
- 10. 完整日历CSS - 在日历画布外部显示事件
- 11. Google日历无法正确显示同事日历事件
- 12. 将小部件添加到Google日历
- 13. 在jQuery UI日历小部件中突出显示日期
- 14. 在月视图中显示日历
- 15. 在php上显示日历
- 16. 仅通过日历视图在Android应用程序中显示日历?
- 17. 在日历上显示不正确的angularjs ui日历事件
- 18. Android的Google日历插件
- 19. 如何在django窗体中使用日历视觉窗口小部件?
- 20. Android的Google日历
- 21. Google任务窗格不会在日历上显示
- 22. 添加事件到Android日历不显示日历
- 23. Algolia日历小部件?
- 24. django日历小部件
- 25. Django小部件日历
- 26. Google日历,所有日历的事件
- 27. Android DatePicker仅显示日历
- 28. 显示日历的Android
- 29. 如何在Android上的特定时间段在一天日历视图中显示日历事件?
- 30. 日历视图的Android 2
你是什么意思 “谷歌日历”? – landry 2012-11-08 02:30:50