Birthday.class
package com.example.sendmsg;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.Log;
public class Birthday {
private Context context;
private Bitmap personIcon;
private String name;
private String datas;
private String phone_number;
private String day;
private long days = 0;
public Bitmap getPersonIcon() {
return personIcon;
}
public void setPersonIcon(Bitmap personIcon) {
this.personIcon = personIcon;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDatas() {
return datas;
}
public void setDatas(String datas) {
this.datas = datas;
}
public String getPhone_number() {
return phone_number;
}
public void setPhone_number(String phone_number) {
this.phone_number = phone_number;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
//剩余天数计算:
public String getBirthday(String birthday) {
//String birthday = "2013-03-18";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);// 获得当前年份
try {
Log.i("Birthday_time", formatter.parse(birthday) + "");
cal.setTime(formatter.parse(birthday));
} catch (Exception e) {
e.printStackTrace();
}
int birthyear = cal.get(Calendar.YEAR);
Log.i("Birthday_year", birthyear + "");
while (birthyear < yearNow) {
cal.set(Calendar.YEAR, cal.get(Calendar.YEAR) + 1);
birthyear = cal.get(Calendar.YEAR);
Log.i("Birthday_year++", birthyear + "");
}
Date ed = new Date();
Log.i("Date_ed", ed + "");
Date sd = cal.getTime();
Log.i("Date_sd", ed + "");
days = 0;
if ((ed.getTime() - sd.getTime()) / (3600 * 24 * 1000) < 0) {
//>
days = -((ed.getTime() - sd.getTime()) / (3600 * 24 * 1000)) + 1;
System.out.println("距离你生日还有" + days + "天");
} else {
cal.set(Calendar.YEAR, cal.get(Calendar.YEAR) + 1);
sd = cal.getTime();
days = -((ed.getTime() - sd.getTime()) / (3600 * 24 * 1000)) + 1;
System.out.println("距离你生日还有" + days + "天");
}
if(days == 366L) days = 1;
if(days == 365L) days = 0;
String days_ = Long.toString(days);
return days_;
}
}
这是我写得一个小的生日记录的demo:(这里面包含了添加,删除,多是在一个Activity内,通讯录获取的可以不用写,跟上个博客连在一起的。)
birthdayActivity.class
package com.example.sendmsg;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
@SuppressLint("NewApi") public class BirthListActivity extends Activity{
//1界面
private ListView festival_list1;
private ImageView image;
private ImageView back_image;
private TextView text_name;
private BirthdayAdapter adapter;
private ArrayList<Birthday> birth_lists = new ArrayList<Birthday>();
//2界面
private ListView person_list;
private LinearLayout secondActivity;
private TextView data;
private EditText person;
private Button search_btn;
private Button add_main;
private Button back;
private LinearLayout add_person;
private LinearLayout add_date;
private int year,month,day;
private String datas;
private String days;
private String number;
private String name;
private ArrayList<Birthday> personlist;
@SuppressLint("NewApi")