当前位置:首页 > 代码 > 正文

日历安卓代码(安卓日历app)

admin 发布:2022-12-19 23:10 81


今天给各位分享日历安卓代码的知识,其中也会对安卓日历app进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

android怎样实现日历年视图?

因为日历是系统自带的,所以读写它一定要申请权限,也就是在AndroidManifest.xml加如下两行代码(一个读一个写):

uses-permission android:name="android.permission.READ_CALENDAR"/

uses-permission android:name="android.permission.WRITE_CALENDAR"/

Android中日历用了三个URL,分别是日历用户的URL,事件的URL,事件提醒URL,三个URL在Android2.1之前是如下的样子:

calanderURL = "content://calendar/calendars";

calanderEventURL = "content://calendar/events";

calanderRemiderURL= "content://calendar/reminders";

但是在Android2.2版本以后,三个URL有了改变,变成如下的样子:

calanderURL = "content://com.android.calendar/calendars";

calanderEventURL = "content://com.android.calendar/events";

calanderRemiderURL = "content://com.android.calendar/reminders";

简单的Demo,按照我的步骤一步一步的来:

第一步:新建一个Android工程命名为CalendarDemo.

第二步:修改main.xml布局文件,增加了三个按钮,代码如下:

?xml version="1.0" encoding="utf-8"?

LinearLayout xmlns:android=""

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/

Button

android:id="@+id/readUserButton"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Get a User"

/

Button

android:id="@+id/readEventButton"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Get a Event"

/

Button

android:id="@+id/writeEventButton"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Input a Event"

/

/LinearLayout

第三步:修改主核心程序CalendarDemo.java,代码如下:

package com.tutor.calendardemo;

import java.util.Calendar;

import android.app.Activity;

import android.content.ContentValues;

import android.database.Cursor;

import android.net.Uri;

import android.os.Build;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.Toast;

public class CalendarDemo extends Activity implements OnClickListener {

private Button mReadUserButton;

private Button mReadEventButton;

private Button mWriteEventButton;

private static String calanderURL = "";

private static String calanderEventURL = "";

private static String calanderRemiderURL = "";

//为了兼容不同版本的日历,2.2以后url发生改变

static{

if(Integer.parseInt(Build.VERSION.SDK) = 8){

calanderURL = "content://com.android.calendar/calendars";

calanderEventURL = "content://com.android.calendar/events";

calanderRemiderURL = "content://com.android.calendar/reminders";

}else{

calanderURL = "content://calendar/calendars";

calanderEventURL = "content://calendar/events";

calanderRemiderURL = "content://calendar/reminders";

}

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

setupViews();

}

private void setupViews(){

mReadUserButton = (Button)findViewById(R.id.readUserButton);

mReadEventButton = (Button)findViewById(R.id.readEventButton);

mWriteEventButton = (Button)findViewById(R.id.writeEventButton);

mReadUserButton.setOnClickListener(this);

mReadEventButton.setOnClickListener(this);

mWriteEventButton.setOnClickListener(this);

}

@Override

public void onClick(View v) {

if(v == mReadUserButton){

Cursor userCursor = getContentResolver().query(Uri.parse(calanderURL), null,

null, null, null);

if(userCursor.getCount() 0){

userCursor.moveToFirst();

String userName = userCursor.getString(userCursor.getColumnIndex("name"));

Toast.makeText(CalendarDemo.this, userName, Toast.LENGTH_LONG).show();

}

}else if(v == mReadEventButton){

Cursor eventCursor = getContentResolver().query(Uri.parse(calanderEventURL), null,

null, null, null);

if(eventCursor.getCount() 0){

eventCursor.moveToLast();

String eventTitle = eventCursor.getString(eventCursor.getColumnIndex("title"));

Toast.makeText(CalendarDemo.this, eventTitle, Toast.LENGTH_LONG).show();

}

}else if(v == mWriteEventButton){

//获取要出入的gmail账户的id

String calId = "";

Cursor userCursor = getContentResolver().query(Uri.parse(calanderURL), null,

null, null, null);

if(userCursor.getCount() 0){

userCursor.moveToFirst();

calId = userCursor.getString(userCursor.getColumnIndex("_id"));

}

ContentValues event = new ContentValues();

event.put("title", "与苍井空小-姐动作交流");

event.put("description", "Frankie受空姐邀请,今天晚上10点以后将在Sheraton动作交流.lol~");

//插入hoohbood@gmail.com这个账户

event.put("calendar_id",calId);

Calendar mCalendar = Calendar.getInstance();

mCalendar.set(Calendar.HOUR_OF_DAY,10);

long start = mCalendar.getTime().getTime();

mCalendar.set(Calendar.HOUR_OF_DAY,11);

long end = mCalendar.getTime().getTime();

event.put("dtstart", start);

event.put("dtend", end);

event.put("hasAlarm",1);

Uri newEvent = getContentResolver().insert(Uri.parse(calanderEventURL), event);

long id = Long.parseLong( newEvent.getLastPathSegment() );

ContentValues values = new ContentValues();

values.put( "event_id", id );

//提前10分钟有提醒

values.put( "minutes", 10 );

getContentResolver().insert(Uri.parse(calanderRemiderURL), values);

Toast.makeText(CalendarDemo.this, "插入事件成功!!!", Toast.LENGTH_LONG).show();

}

}

}

第四步:在AndroidManifest.xml中申请权限,代码如下:

?xml version="1.0" encoding="utf-8"?

manifest xmlns:android=""

package="com.tutor.calendardemo"

android:versionCode="1"

android:versionName="1.0"

application android:icon="@drawable/icon" android:label="@string/app_name"

activity android:name=".CalendarDemo"

android:label="@string/app_name"

intent-filter

action android:name="android.intent.action.MAIN" /

category android:name="android.intent.category.LAUNCHER" /

/intent-filter

/activity

/application

uses-sdk android:minSdkVersion="7" /

uses-permission android:name="android.permission.READ_CALENDAR"/

uses-permission android:name="android.permission.WRITE_CALENDAR"/

/manifest

第五步:运行上述Android工程,查看效果:

安卓开发中,Widget点击事件进入系统的日历是代码如下,那么相似的进入系统时间要怎么修改?

4.0以上版本

Intent intent = new Intent();

intent.setComponent(new ComponentName("com.android.deskclock",

"com.android.deskclock.AlarmsMainActivity"));

startActivity(intent);

如果不行的话,就换成

Intent intent = getPackageManager().getLaunchIntentForPackage("com.android.deskclock");

startActivity(intent);

日历安卓源代码导入android studio

Eclipse迁移到Android studio步骤如下:

一、从Eclipse中导出:

1、将ADT插件版本升级到22.0以上。

2、在Eclipse中,选择File--Export。

3、在弹出的导出窗口中,打开Android的文件夹,选择“Generate Gradle Build Files”。

4、选中想要导入到Android Studio中的项目,Finish。

注意:导出的项目将会和原来的项目在同一目录,覆盖原来的同时,会新增一个叫build.gradle的文件,导入Android Studio时将首先读取这个文件。

二、导入到Android Studio:

1、在Android Studio 中,首先关掉当前的打开的项目。

2、在欢迎界面,点击Import Project(注:也是可以直接在菜单选择Import project的)。

3、选中Eclipse中导出的项目,展开目录,点击build.gradle文件,然后OK。

4、在之后的弹出对话框中,会要求选择Gradle的配置,选中Use gradle wrapper.(注:也可以自定义本机装的Gradle)。

注意:如果没有Grade build文件,也是可以将普通的安卓项目导入到Android Studio中,它会用现有的Ant build.但为了更好地使用之后的功能和充分使用构建变量,还是强烈地建议先从ADT插件中生成Gradle文件再导入Android Studio。

日历安卓代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于安卓日历app、日历安卓代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/29411.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载