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

日历安卓代码(安卓版日历)[20240428更新]

admin 发布:2024-04-28 17:14 109


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

本文目录一览:

Android中如何获取系统时间和日期,星期?

Android中获取系统时间和日期,星期代码如下:

import java.text.SimpleDateFormat;

SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");

Date curDate = new Date(System.currentTimeMillis());//获取当前时间

String str = formatter.format(curDate);

可以获取当前的年月时分,也可以分开写:

复制代码 代码如下:

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

String date = sDateFormat.format(new java.util.Date());

如果想获取当前的年月,则可以这样写(只获取时间或秒种一样):

Java代码

复制代码 代码如下:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");

String date=sdf.format(new java.util.Date());

当然还有就是可以指定时区的时间(待):

复制代码 代码如下:

df=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,Locale.CHINA);

System.out.println(df.format(new Date()));

如何获取Android系统时间是24小时制还是12小时制

复制代码 代码如下:

ContentResolver cv = this.getContentResolver();

String strTimeFormat = android.provider.Settings.System.getString(cv,

android.provider.Settings.System.TIME_12_24);

if(strTimeFormat.equals("24"))

{

Log.i("activity","24");

}

复制代码 代码如下:

Calendar c = Calendar.getInstance();

取得系统日期:year = c.get(Calendar.YEAR)

month = c.grt(Calendar.MONTH)

day = c.get(Calendar.DAY_OF_MONTH)

取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);

minute = c.get(Calendar.MINUTE)

利用Calendar获取

复制代码 代码如下:

Calendar c = Calendar.getInstance();

取得系统日期:year = c.get(Calendar.YEAR)

month = c.grt(Calendar.MONTH)

day = c.get(Calendar.DAY_OF_MONTH)

取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);

minute = c.get(Calendar.MINUTE)

Calendar c = Calendar.getInstance();

取得系统日期:year = c.get(Calendar.YEAR)

month = c.grt(Calendar.MONTH)

day = c.get(Calendar.DAY_OF_MONTH)

取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);

minute = c.get(Calendar.MINUTE)

利用Time获取

复制代码 代码如下:

Time t=new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料。

t.setToNow(); // 取得系统时间。

int year = t.year;

int month = t.month;

int date = t.monthDay;

int hour = t.hour; // 0-23

int minute = t.minute;

int second = t.second;

日历安卓源代码导入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。

简单实用的Android 自定义 日历 Calendar

==========================

Include MonthPager in your layout XML.

目前来看 相比于Dialog选择日历 我的控件更适合于Activity/Fragment在Activity的 onCreate 或者Fragment的 onCreateView 你需要实现这两个方法来启动日历并装填进数据

使用此方法回调日历点击事件

使用此方法初始化日历标记数据

使用此方法给MonthPager添加上相关监听

Gradle:

Step 1. Add it in your root build.gradle at the end of repositories:

Step 2. Add the dependency

安卓开发中,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怎样实现日历年视图?

因为日历是系统自带的,所以读写它一定要申请权限,也就是在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工程,查看效果:

安卓日历整体布局是怎么实现的

自定义日历控件,支持旧历、节气、日期标注、点击操作 (参考网络上的日历控件改写)

注:将下面的四张资源图片拷贝到所建包的下一个image目录中,如Calendar.java 所在包为

cc.util.android.view,则需要再创建一个包cc.util.android.view.image 然后将图片拷贝进去

/****************从此出开始将代码拷贝到一个文件中*******************/

package cc.util.android.view;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Calendar;

import java.util.Date;

import java.util.List;

import java.util.Locale;

import android.annotation.SuppressLint;

import android.content.Context;

import android.graphics.BitmapFactory;

import android.graphics.Color;

import android.graphics.drawable.BitmapDrawable;

import android.graphics.drawable.Drawable;

import android.graphics.drawable.StateListDrawable;

import android.text.TextUtils.TruncateAt;

import android.util.AttributeSet;

import android.view.GestureDetector;

import android.view.GestureDetector.OnGestureListener;

import android.view.Gravity;

import android.view.MotionEvent;

import android.view.View;

import android.view.ViewGroup;

import android.view.View.OnTouchListener;

import android.view.animation.Animation;

import android.view.animation.Animation.AnimationListener;

import android.view.animation.TranslateAnimation;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.ImageButton;

import android.widget.LinearLayout;

import android.widget.RelativeLayout;

import android.widget.TextView;

import android.widget.ViewFlipper;

import android.widget.AbsListView.LayoutParams;

/**

* 日历控件,支持旧历、节气、日期标注、点击操作 (参考网络上的日历控件改写)

*

* @author wangcccong

* @version 1.406 create at: Mon, 03 Sep. 2014

* brupdate at: Mon, 23 Sep. 2014

* 新增日期标注和点击操作

*/

public class CalendarView extends LinearLayout implements OnTouchListener,

AnimationListener, OnGestureListener {

/**

* 点击日历

*/

public interface OnCalendarViewListener {

void onCalendarItemClick(CalendarView view, Date date);

}

/** 顶部控件所占高度 */

private final static int TOP_HEIGHT = 40;

/** 日历item中默认id从0xff0000开始 */

private final static int DEFAULT_ID = 0xff0000;

// 判断手势用

private static final int SWIPE_MIN_DISTANCE = 120;

private static final int SWIPE_MAX_OFF_PATH = 250;

private static final int SWIPE_THRESHOLD_VELOCITY = 200;

// 屏幕宽度和高度

private int screenWidth;

// 动画

private Animation slideLeftIn;

private Animation slideLeftOut;

private Animation slideRightIn;

private Animation slideRightOut;

private ViewFlipper viewFlipper;

private GestureDetector mGesture = null;

/** 上一月 */

private GridView gView1;

/** 当月 */

private GridView gView2;

/** 下一月 */

private GridView gView3;

boolean bIsSelection = false;// 是否是选择事件发生

private Calendar calStartDate = Calendar.getInstance();// 当前显示的日历

private Calendar calSelected = Calendar.getInstance(); // 选择的日历

private CalendarGridViewAdapter gAdapter;

private CalendarGridViewAdapter gAdapter1;

private CalendarGridViewAdapter gAdapter3;

private LinearLayout mMainLayout;

private TextView mTitle; // 显示年月

private int iMonthViewCurrentMonth = 0; // 当前视图月

private int iMonthViewCurrentYear = 0; // 当前视图年

private static final int caltitleLayoutID = 66; // title布局ID

private static final int calLayoutID = 55; // 日历布局ID

private Context mContext;

/** 标注日期 */

private final ListDate markDates;

private OnCalendarViewListener mListener;

public CalendarView(Context context) {

this(context, null);

}

public CalendarView(Context context, AttributeSet attrs) {

super(context, attrs);

// TODO Auto-generated constructor stub

mContext = context;

markDates = new ArrayListDate();

init();

}

// 初始化相关工作

protected void init() {

// 得到屏幕的宽度

screenWidth = mContext.getResources().getDisplayMetrics().widthPixels;

// 滑动的动画

slideLeftIn = new TranslateAnimation(screenWidth, 0, 0, 0);

slideLeftIn.setDuration(400);

slideLeftIn.setAnimationListener(this);

slideLeftOut = new TranslateAnimation(0, -screenWidth, 0, 0);

slideLeftOut.setDuration(400);

slideLeftOut.setAnimationListener(this);

slideRightIn = new TranslateAnimation

关于日历安卓代码和安卓版日历的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

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

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


取消回复欢迎 发表评论:

分享到

温馨提示

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

联系我们反馈

立即下载