Palette提取颜色
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
Palette.Swatch swatch = palette.getVibrantSwatch();
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(swatch.getRgb()));
}
});
获取全局Context
public class MyApplication extends Application {
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
public static Context getContext(){
return mContext;
}
}
Intent传递对象
Serializable对象序列化
public class Person implements Serializable {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Person person = new Person();
person.setAge(20);
person.setName("张三");
Intent intent = new Intent(this,Main2Activity.class);
intent.putExtra("person",person);
startActivity(intent);
Person person = (Person) getIntent().getSerializableExtra("person");
Log.d(person.getName(),person.getAge()+"");
Parcelable序列化 效率更高 推荐使用
public class Persons implements Parcelable {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(name);//写出name
parcel.writeInt(age);//写出age
}
public static final Parcelable.Creator<Persons> CREATOR = new Parcelable.Creator<Persons>(){
@Override
public Persons createFromParcel(Parcel parcel) {
Persons persons = new Persons();
persons.name = parcel.readString();//读取name
persons.age = parcel.readInt();//读取age
return persons;
}
@Override
public Persons[] newArray(int i) {
return new Persons[i];
}
};
}
Alarm定时
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
long triggerAtTime = SystemClock.elapsedRealtime()+10*1000;//开机到现在的毫秒数加上10s
manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,triggerAtTime,pendingIntent);
if(Build.VERSION.SDK_INT>=19) {
manager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pendingIntent);
//使定时准确
}
if(Build.VERSION.SDK_INT>=23) {
manager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pendingIntent);
//使定时在Doze模式下也准确
}
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
Palette.Swatch swatch = palette.getVibrantSwatch();
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(swatch.getRgb()));
}
});
获取全局Context
public class MyApplication extends Application {
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
public static Context getContext(){
return mContext;
}
}
Intent传递对象
Serializable对象序列化
public class Person implements Serializable {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Person person = new Person();
person.setAge(20);
person.setName("张三");
Intent intent = new Intent(this,Main2Activity.class);
intent.putExtra("person",person);
startActivity(intent);
Person person = (Person) getIntent().getSerializableExtra("person");
Log.d(person.getName(),person.getAge()+"");
Parcelable序列化 效率更高 推荐使用
public class Persons implements Parcelable {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(name);//写出name
parcel.writeInt(age);//写出age
}
public static final Parcelable.Creator<Persons> CREATOR = new Parcelable.Creator<Persons>(){
@Override
public Persons createFromParcel(Parcel parcel) {
Persons persons = new Persons();
persons.name = parcel.readString();//读取name
persons.age = parcel.readInt();//读取age
return persons;
}
@Override
public Persons[] newArray(int i) {
return new Persons[i];
}
};
}
Alarm定时
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
long triggerAtTime = SystemClock.elapsedRealtime()+10*1000;//开机到现在的毫秒数加上10s
manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,triggerAtTime,pendingIntent);
if(Build.VERSION.SDK_INT>=19) {
manager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pendingIntent);
//使定时准确
}
if(Build.VERSION.SDK_INT>=23) {
manager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pendingIntent);
//使定时在Doze模式下也准确
}