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;
    }
     
    

      

      

  • 相关阅读:
    04.日志管理
    刷爆美国朋友圈的超燃短片:年轻人为什么要奋斗?
    【逗比作孽呀】网站缓存优化
    来看看这20个顶尖的开源项目!
    nginx处理问题笔记
    -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
    一个创业公司倒下的128小时
    快速打造跨平台开发环境 vagrant + virtualbox + box
    【Git 使用笔记】第四部分:git在公司中的开发流程
    新购买的vps应该做的几件事情
  • 原文地址:https://www.cnblogs.com/ganchuanpu/p/6680266.html
Copyright © 2011-2022 走看看