思路:打开的时候缓存一个时间,如果当前的时间比保存的时间大,就是第二天。

PS:用sp会有个漏洞,如果客户把缓存清理了,再打开,还是会执行第二天的事件,或者用户改了android的系统时间,也一样。

如果是要精确的做到第二天的判断,还是需要和服务器交互。

public class MyActivity extends Activity {/**
     * Called when the activity is first created.
     */

    SharedPreferences sp;
    SharedPreferences.Editor editor;

    @Override
    public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
        sp = getSharedPreferences("myapp", MODE_PRIVATE);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.main);
        if (isToday()) {//不是同一天的时候做一些啥的
            Toast.makeText(this, "一分钟过去了", Toast.LENGTH_LONG).show();
        }}/**
     * 判断是否是同一天
     * 是同一天返回false
     *
     * @return
     */
    private boolean isToday() {editor = sp.edit();
        Time t = new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料
        t.setToNow(); // 取得系统时间。
        int year = t.year;
        int month = t.month;
        int date = t.monthDay;
        int minute = t.minute;
        int oldminute = sp.getInt("minute", -1);
        int oldyear = sp.getInt("year", -1);
        int oldmonth = sp.getInt("month", -1);
        int olddate = sp.getInt("date", -1);
        saveMsg();
        //the first
        if (oldminute == -1 || oldyear == -1 || oldmonth == -1 || olddate == -1) {return true;
        }logUtil("timeM", t.minute);
        if (oldyear < year) {logUtil("month", month);
            return true;
        } else if (oldmonth < month) {return true;
        } else if (olddate < date) {return true;
        } else if (oldminute < minute) {return true;
        } else {return false;
        }}private void saveMsg() {Time t = new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料
        t.setToNow(); // 取得系统时间。
        int year = t.year;
        int month = t.month;
        int date = t.monthDay;
        int minute = t.minute;
        editor.putInt("year", year);
        editor.putInt("month", month);
        editor.putInt("date", date);
        editor.putInt("minute", minute);
        editor.commit();
    }private void logUtil(String name, int msg) {Log.v(name, "" + msg);
    }
}

界面就不给了,PS测试的代码还在里面,请先自己测试下再用啊!

android用SP,判断是否过了一天相关推荐

  1. Android版本dp,Android中sp和dp区别

    --- title: Android中sp和dp区别 date: 2016-09-08 17:04:15 tags: Android categories: Android开发 --- ## 理解an ...

  2. android判断多个按钮,Android开发之判断有无虚拟按键(导航栏)的实例

    判断有无虚拟按键(导航栏) 现在很大一部分手机没有虚拟按键,一部分有.我们在做适配的时候可能会用到这方面的知识. 例如:屏幕填充整个屏幕的时候,没办法只能连导航栏一起填充了,但是这个不是我们想要的,我 ...

  3. android 判断安装微信,Android开发中判断手机是否安装了QQ或者微信

    下面一段代码给大家分享了android中判断手机是否安装了qq或者微信,代码简单易懂,非常不错,具有参考借鉴价值,需要的的朋友参考下吧 public static boolean isWeixinAv ...

  4. 2014.04.21 ——— android 魅族SmartBar判断

    2014.04.21 --- android 魅族SmartBar判断 public boolean hasSmartBar() { try { // 新型号可用反射调用Build.hasSmartB ...

  5. android 图片横竖判断_Android横竖屏切换及其对应布局加载问题详解

    本文为大家分享了Android横竖屏切换及其对应布局加载问题,供大家参考,具体内容如下 第一,横竖屏切换连带横竖屏布局问题: 如果要让软件在横竖屏之间切换,由于横竖屏的高宽会发生转换,有可能会要求不同 ...

  6. Android获取和判断当前手机状态和信息

    为什么80%的码农都做不了架构师?>>>    判断用户是否开启某个服务 public static boolean serviceIsStart(Context cont, Str ...

  7. android摄像头方向与屏方向,Android通过ExifInterface判断Camera图片方向的方法

    Android的Camera相关应用开发中,有一个必须搞清楚的知识点,就是Camera的预览方向和拍照方向 图像的Sensor方向:手机Camera的图像数据都是来自于摄像头硬件的图像传感器(Imag ...

  8. android 图片横竖判断_Android应用开发之android 判断ImageView当前显示的是哪一张图片...

    本文将带你了解Android应用开发之android   判断ImageView当前显示的是哪一张图片,希望本文对大家学Android有所帮助. 判断ImageView当前显示的是哪一张图片 Java ...

  9. android 经纬度的范围内,在Android里如何判断一个指定的经纬度点是否落在一个多边形区域内...

    在lbs开发中,可能要碰到这样的问题,如何判断一个指定的经纬度点是否落在一个多边形区域内,比如我在地图上画了一个多边形区域,然后给出一个经纬度点,怎样判断这个点是否在这个多边形范围之内,由于我用的是a ...

最新文章

  1. 树的广度优先搜索(BFS),深度优先搜索(DFS)
  2. spark task和stage划分原理
  3. C# SerialPort 读写三菱FX系列PLC
  4. linux系统下nginx安装目录和nginx.conf配置文件目录
  5. 木兰编程语言重现——支持列表操作,演示编辑器高亮
  6. vue main.js中引入js_手把手教你深入Vue3.0(Vue-cli4)项目打包性能优化实践
  7. 支付弹出php,PHP微信公众号支付弹出“NaN:undefined”解决方法
  8. 学习汇编语言 -王爽,自已完成的一道实试题 (1)
  9. 台币转换计算机,Soulver 内建自动计算机功能的备忘录工具 货币换算、複杂数学式也支援...
  10. 打印机服务器wps101官方网站,打印机服务器工具
  11. File /py-faster-rcnn/tools/../lib/datasets/imdb.py, line 108, in append_flipped_images assert
  12. 如何启用计算机的休眠,win7休眠-win7如何启用休眠,我已经google过了,没用,请大家帮忙我? 爱问知识人...
  13. 哈夫曼树的构造与哈夫曼编码
  14. python绘制地图的第三方库,geopandas,用python画地图原来这么简单!
  15. OA课程--word2013实用技巧大全-目录
  16. 02. 只允许使用QQ和微信 - 服务 ❀ 飞塔 (Fortinet6.0) 防火墙
  17. 计算机cpu为什么有版本之分,CPU怎么看性能好坏 最新CPU天梯图2016年9月-11月版本(台式机)...
  18. 画论17 邓椿《画继》
  19. iOS-Runtime
  20. XXL-JOB快速安装使用教程

热门文章

  1. java电影票选座_jQuery仿猫眼电影票在线选座购买特效
  2. Tomcat搭建实现jsp连接数据库
  3. win10安装或更新NotePad++后鼠标右键无Edit with NotePad++
  4. 游戏助手微信小程序源码王者荣耀战力查询,游戏扫码登录器等支持流量主
  5. 王者荣耀国际服服务器维护中,王者荣耀国际版一个设定解决干得漂亮问题,网友:求王者荣耀快出...
  6. CNN网络介绍与实践:王者荣耀英雄图片识别
  7. 爱奇艺在日志实时数据监控的探索与实践
  8. 如何让你在潜在客户的心智中与众不同?《定位》每个公司必须在潜在客户的心智中建立一个位置,这就是所谓的定位。...
  9. Ext.ux.data.PagingMemoryProxy,用于本地数据前台分页,用法都是我一点点试出来的,不是网上粘贴来复制去的东西
  10. c语言阶乘求自然数e,求10000的阶乘(c语言代码实现)