<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~")
//插入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="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工程,查看效果:
要按条件查看图片信息,您需要在小程序中槐吵使用一些逻辑和条件语句。以下是一些可能雀明蔽有用的步骤:1. 在小程序中创建一个图片信息的数据集合,包括每张图片的名称、描述、标签等信息。
2. 创建一个筛顷州选器,让用户可以选择他们想要查看的图片,例如按照标签或日期筛选。
3. 使用条件语句,根据用户选择的筛选器来显示符合条件的图片。例如,如果用户选择了“标签”筛选器并选择了“自然风景”标签,您可以使用一个if语句来只显示该标签下的图片。
4. 在小程序中添加一个搜索栏,让用户可以输入关键字来查找图片。使用一个包含关键字的if语句来显示符合条件的图片。
5. 最后,您可以将筛选器和搜索栏组合在一起,让用户可以更方便地查看他们想要的图片。
以上是一些常见的步骤,您可以根据自己的需要进行调整和修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)