//设置时间格式
SimpleDateFormat formatter=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//获取当前时间
Date curDate =new Date(System.currentTimeMillis());
//将时间改为规定格式
String str=formatter.format(curDate);
参考https://blog.csdn.net/chaoyu168/article/details/50729689
取字符串的前i个字符
str=str.substring(0,i);
取字符串中间一部分下标i-j的字符
str=str.substring(i,j);
参考https://blog.csdn.net/q9104422999/article/details/53506224
int i;
String s1="134";
i=Integer.parseInt(s1);
Float.parseFloat();
Doubel.parseDouble();
Integer.toString()
repositories {
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
maven { url 'http://maven.oschina.net/content/groups/public/' }
maven { url "https://jitpack.io" }
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
jcenter()
google()
}
参考https://blog.csdn.net/uisoul/article/details/77482524
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
compile 'com.github.PhilJay:MPAndroidChart:v3.0.2'
// 你要渲染的数据
YourData[] dataObjects = ...;
List entries = new ArrayList();
// 循环你的数据,向图表中添加点
for (YourData data : dataObjects) {
// turn your data into Entry objects
// 图形横纵坐标默认为float形式,如果想展示文字形式,需要自定义适配器。后边会讲,这个地方传进去的X轴Y轴值都是float类型
entries.add(new Entry(data.getValueX(), data.getValueY()));
}
LineDataSet dataSet = new LineDataSet(entries, "Label"); // 图表绑定数据,设置图表折现备注
dataSet.setColor(...); // 设置折线图颜色
dataSet.setValueTextColor(...); // 设置数据值的颜色
Description description = chart.getDescription();
description.setText(typeName + "历史数据折线图"); // 设置右下角备注
LineData lineData = new LineData(dataSet);
chart.setData(lineData); // 图表绑定数据值
chart.invalidate(); // 刷新图表
参考:https://blog.csdn.net/weixin_42776111/article/details/103308996
https://blog.csdn.net/na2609613672/article/details/82561325?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1
//定义数组
// List userVisionDegreeList=new ArrayList<>();
//定义数据格式
//定义日期,以浮点型获取月和日
float dateFloat=Float.parseFloat(dateStr.substring(5,10));
//创建一个对象
UserVisionDegree userVisionDegrees = new UserVisionDegree();
//设置时间
userVisionDegrees.setVisionDate(dateFloat);
//设置
userVisionDegrees.setVisionDegree(Float.parseFloat(vision_count));
//将对象添加到列表中
userVisionDegreeList.add(userVisionDegrees);
// //创建sp对象
// SharedPreferences sp =getSharedPreferences("用户数据数组", Context.MODE_PRIVATE);
//导入Gson包
Gson gson = new Gson();
//将List转换成Json
String jsonStr=gson.toJson(userVisionDegreeList);
//获取编辑对象
SharedPreferences.Editor editor = sp.edit() ;
//保存数据
editor.putString("用户数据数组", jsonStr);
//提交保存
editor.apply();
参考:https://blog.csdn.net/yangtan_tanbaobao/article/details/82589147?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.nonecase
//设置监听方法,跳转页面
iv_user.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//从本地读取照片
getPicFromLocal();
}
});
/**
* 从本机相册获取图片
*/
private void getPicFromLocal() {
Intent intent = new Intent();
// 获取本地相册方法一
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
//获取本地相册方法二
// intent.setAction(Intent.ACTION_PICK);
// intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
// "image/*");
startActivityForResult(intent, CODE_PHOTO_REQUEST);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// 用户没有进行有效的设置操作,返回
if (resultCode == RESULT_CANCELED) {
Toast.makeText(getContext(), "取消", Toast.LENGTH_LONG).show();
return;
}
switch (requestCode) {
case CODE_PHOTO_REQUEST:
if (data != null) {
photoClip(data.getData());
}
break;
case CODE_PHOTO_CLIP:
if (data != null) {
setImageToHeadView(data);
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
/**
* 图片裁剪
*
* @param uri
*/
private void photoClip(Uri uri) {
// 调用系统中自带的图片剪裁
Intent intent = new Intent();
intent.setAction("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
// 下面这个crop=true是设置在开启的Intent中设置显示的VIEW可裁剪
intent.putExtra("crop", "true");
// aspectX aspectY 是宽高的比例
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
/*outputX outputY 是裁剪图片宽高
*这里仅仅是头像展示,不建议将值设置过高
* 否则超过binder机制的缓存大小的1M限制
* 报TransactionTooLargeException
*/
intent.putExtra("outputX", 150);
intent.putExtra("outputY", 150);
intent.putExtra("return-data", true);
startActivityForResult(intent, CODE_PHOTO_CLIP);
}
/**
* 提取保存裁剪之后的图片数据,并设置头像部分的View
*/
private void setImageToHeadView(Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
photo = extras.getParcelable("data");
iv_user.setImageBitmap(photo);
}
/***
* 保存图片
* @param bitmap 将此图片保存到默认路径下
*/
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// 将Bitmap压缩至字节数组输出流ByteArrayOutputStream
photo.compress(Bitmap.CompressFormat.PNG, 80, baos);
// 利用Base64将字节数组输出流中的数据转换成字符串String
String imageBase64 = new String(Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT));
// 将String保持至SharedPreferences
SharedPreferences sp=getContext().getSharedPreferences("img", Context.MODE_PRIVATE);
SharedPreferences.Editor editor=sp.edit();
editor.putString("img", imageBase64);
editor.commit();
}
参考:https://www.mscto.com/android/225870.html
//保存图片
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//将Bitmap压缩至字节数组输出流ByteArrayOutputStream
((BitmapDrawable)myImageView.getDrawable()).getBitmap().compress(CompressFormat.PNG, 80, baos);
//利用Base64将字节数组输出流中的数据转换成字符串String
String imageBase64 = new String(Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT));
//将String保持至SharedPreferences
SharedPreferences sp=this.getSharedPreferences("img", Context.MODE_PRIVATE);
Editor editor=sp.edit();
editor.putString("img", imageBase64);
editor.commit();
//读取图片
//取出字符串形式的Bitmap
SharedPreferences sp=this.getSharedPreferences("img", Context.MODE_PRIVATE);
String imageBase64=sp.getString("img", "");
//利用Base64将字符串转换为ByteArrayInputStream
byte[] byteArray=Base64.decode(imageBase64, Base64.DEFAULT);
ByteArrayInputStream bi=new ByteArrayInputStream(byteArray);
//利用ByteArrayInputStream生成Bitmap
Bitmap bitmap=BitmapFactory.decodeStream(bi);
myImageView.setImageBitmap(bitmap);
参考:https://blog.csdn.net/gly742279097/article/details/39724897?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-3