当前位置:首页 » 安卓系统 » calendarandroid

calendarandroid

发布时间: 2022-07-18 16:13:08

‘壹’ Android Calendar获取日期问题

SharedPreferences sp = getSharedPreferences("guozitv2", Context.MODE_PRIVATE);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String spilt[] = df.format(new Date()).toString().split("-");
if (Update(spilt)) {
Editor editor = sp.edit();
editor.putInt("year", Integer.valueOf(spilt[0]));
editor.putInt("month", Integer.valueOf(spilt[1]));
editor.putInt("day", Integer.valueOf(spilt[2]));
editor.commit();
}
public boolean Update(String[] spilt) {
int year = sp.getInt("year", 0);
int month = sp.getInt("month", 0);
int day = sp.getInt("day", 0);
int yearNow = Integer.valueOf(spilt[0]);
int monthNow = Integer.valueOf(spilt[1]);
int dayNow = Integer.valueOf(spilt[2]);
if (year > yearNow) {
return false;
} else if (year < yearNow) {
return true;
} else {
if (month > monthNow) {
return false;
} else if (month < monthNow) {
return true;
} else {
if (day >= dayNow) {
return false;
} else {
return true;
}
}
}
}

‘贰’ android calendar

这两个都是android的包文件,直接把他们安装android上即可。

执行如下命令即可

adb install <你的apk包名>

‘叁’ android 开发中 利用Calendar对象设置时间 为何在设置年2038或者之后的年都设置无效(利用set接口)

2038年问题
在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作。所有使用UNIX时间表示时间的程序都将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部份操作系统使用的软件。在大部份的32位操作系统上,此“time_t”数据模式使用一个有正负号的32位元整数(signedint32)存储计算的秒数。依照此“time_t”标准,在此格式能被表示的最后时间是2038年1月19日03:14:07,星期二(UTC)。超过此一瞬间,时间将会被掩盖(wrap around)且在内部被表示为一个负数,并造成程序无法工作,因为它们无法将此时间识别为2038年,而可能会依个别实作而跳回1970年或1901年。错误的计算及动作可能因此产生。

‘肆’ android开发,闹钟设置问题,关于Calendar

我记得月份好像是要减一的。
calendar1.set(Calendar.MONTH, ii1[1] - 1);

‘伍’ android怎么获取calendar的对象

calendar日历对象,在android里面是可以直接new的,因为android系统内部用的就是java语言,所以java的api方法都是可以使用的。

‘陆’ com.android.calendar已停止运行是什么意思

安卓手机系统故障,一般是系统任务过多导致卡机或者刷机时没有双清又或者误删了系统的核心软件才会这样,如果频繁出现则必须恢复出厂或刷机。

‘柒’ 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="http://schemas.android.com/apk/res/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~");
//插入[email protected]这个账户
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="http://schemas.android.com/apk/res/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工程,查看效果:

‘捌’ Android 日历问题

button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar calendar=Calendar.getInstance();
DatePickerDialog dialog=new DatePickerDialog(getActivity(),
dateListener,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
dialog.show();

}
});
/////////////////////////////////////////////////////////////////////////////////////////////////////
DatePickerDialog.OnDateSetListener dateListener=new OnDateSetListener() {

@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
button.setText(year+"-"+monthOfYear+"-"+dayOfMonth);

}
};
//监听一下选择器就行了

‘玖’ com.android.calendar什么意思,可以删除吗

这是安卓手机的日历应用程序,属于系统的核心程序,不能删除。

‘拾’ 如何读取android里面Calendar的事件

public String QueryAllCalendar(ContentResolver contentResolver){ //日历里面相应的Event的URI Uri uri = Uri.parse("content://calendar//events"); //String[] column=new String[]{"_id","title"}; Cursor cur=contentResolver.query(uri, null, null, null, null); while(cur.moveToNext()){ //日历里面相应的Event的ID String calendarEventId=cur.getString(cur.getColumnIndex("_id")); //日历里面相应的Event的title String calendarEventName=cur.getString(cur.getColumnIndex("title")); System.out.println("calendarEventId:"+calendarEventId+ "calendarEventName"+calendarEventName); }目前已经解决大部分问题,但是有一点不明白的是:在android\android-sdk-windows\sources\android \provider 里面我可以看到Calendar的源码,但是我在Eclipse里面缺无法找到相应的Calendar类。不知道各位有遇到的没有?还望指教

热点内容
如何破解软件登录不了服务器 发布:2025-01-24 02:05:07 浏览:12
春节三新算法 发布:2025-01-24 02:03:22 浏览:18
我的世界服务器房间号2020电脑版 发布:2025-01-24 01:28:05 浏览:399
微信提示存储空间不足 发布:2025-01-24 01:19:53 浏览:964
安卓电脑管家如何清除缓存 发布:2025-01-24 00:55:42 浏览:148
怎么上传歌曲到qq音乐 发布:2025-01-24 00:45:30 浏览:65
养猫用什么配置 发布:2025-01-24 00:37:58 浏览:812
pythongps 发布:2025-01-24 00:37:51 浏览:813
办公编程鼠标 发布:2025-01-24 00:37:07 浏览:386
wpa加密类型 发布:2025-01-24 00:35:58 浏览:960