zoukankan      html  css  js  c++  java
  • UserInfoActivity用户图像修改和退出登录

    @OnClick(R.id.btn_user_logout)
    public void logout(View view){//"退出登录"button的回调方法
        //1.将保存在sp中的数据清除
        SharedPreferences sp = this.getSharedPreferences("user_info", Context.MODE_PRIVATE);
        sp.edit().clear().commit();//清除数据操作必须提交;提交以后,文件仍存在,只是文件中的数据被清除了
        //2.将本地保存的图片的file删除
        File filesDir;
        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//判断sd卡是否挂载
            //路径1:storage/sdcard/Android/data/包名/files
            filesDir = this.getExternalFilesDir("");
    
        }else{//手机内部存储
            //路径:data/data/包名/files
            filesDir = this.getFilesDir();
    
        }
        File file = new File(filesDir,"icon.png");
        if(file.exists()){
            file.delete();//删除存储中的文件
        }
        //3.销毁所有的activity
        this.removeAll();
        //4.重新进入首页面
        this.goToActivity(MainActivity.class,null);
    }
    

    用户退出:

    1.销毁当前activity

    @OnClick(R.id.iv_top_back)
    //返回按钮的退出操作
    @OnClick(R.id.iv_top_back)
    public void back(View view) {
     ActivityManager.getInstance().removeCurrent();
    }
    

    2.重写MeFragment的onResume()

    /**
     * 当当前的Fragment显示时,考虑是否需要从本地读取用户头像
     */
    @Override
    public void onResume() {
        super.onResume();
        Log.e("TAG", "onResume");
        readImage();
    }
    
    private boolean readImage() {
        File filesDir;
        //判断sd卡是否处于挂载状态
        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
            filesDir = this.getActivity().getExternalFilesDir(null);//sdcard/Android/data/应用包名/file/...jpg
        }else{
            filesDir = this.getActivity().getFilesDir();
        }
        File file = new File(filesDir,"icon.png");
        if (file.exists()) {//如果存在
            //存储--->内存
            Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
            ivMeIcon.setImageBitmap(bitmap);
            return true;
        }
        return false;
    }
     
    

      

      

  • 相关阅读:
    【LeetCode-树】找树左下角的值
    【LeetCode-贪心】合并区间
    MongoDB3.6版本新增特性
    MongoDB initial sync过程
    MongoDB3.4版本新增特性
    保险配置原则
    MongoDB批量操作时字段为null时没有入库
    Kafka消费者没有收到通知的分析
    Git分支的管理
    NoSQLBooster如何MongoDB的部分文档从一个集合拷贝到另外一个集合中
  • 原文地址:https://www.cnblogs.com/ganchuanpu/p/6680266.html
Copyright © 2011-2022 走看看