安卓开发,存储信息遇到的问题

获取手机时间 

 //设置时间格式
 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 

Android开发中截取字符串的方法

取字符串的前i个字符
str=str.substring(0,i);
取字符串中间一部分下标i-j的字符
str=str.substring(i,j);

参考https://blog.csdn.net/q9104422999/article/details/53506224 

String转int、float、double

int i;
String s1="134";
i=Integer.parseInt(s1);

Float.parseFloat();
Doubel.parseDouble();

Integer.toString()

 

repositories下面配置多个maven仓库

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<Entry> entries = new ArrayList<Entry>();
// 循环你的数据,向图表中添加点
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

Android SharedPreferences保存集合(List类型)

 //定义数组
//        List<UserVisionDegree> 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

Android 设置用户头像

//设置监听方法,跳转页面
        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

Android SharedPreferences保存bitmip图片

//保存图片
  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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值