zoukankan      html  css  js  c++  java
  • Android高级POS开发

    一、类

    1.1基础BasicActivity需要继承AppCompatActivity和实现PosViewLoad接口

    PosViewLoad接口如下所示:

    public interface PosViewLoad {
    void onBeforeViewLoad(BasicActivity activity,int resId);
    void onAfterViewLoad(BasicActivity activity,int resId);
    }

    onBeforeViewLoad表示Activity加载前的回调

    onAfterViewLoad表示加载后的回调

    1.2Bundle SavedInstance冷却包的处理

    protected void defSaveInstanceState(Bundle outState){
    try{
    Log.d("PPOSX", "defSaveInstanceState do.... on "+this.getClass().getName());
    Field[] fields=this.getClass().getDeclaredFields();
    for(Field f:fields){
    PosSerializableFlag psf=f.getAnnotation(PosSerializableFlag.class);
    if(psf!=null){
    f.setAccessible(true);
    Object obj=f.get(this);
    if(obj!=null) {
    String sav_key = this.getClass().getName().replace('.', '$') + "$" + f.getName();
    if (obj instanceof Integer) {
    outState.putInt(sav_key, (Integer) obj);
    } else if (obj instanceof Double) {
    outState.putDouble(sav_key, (Double) obj);
    } else if (obj instanceof Long) {
    outState.putLong(sav_key, (Long) obj);
    } else if (obj instanceof String) {
    outState.putString(sav_key, obj.toString());
    } else {
    outState.putSerializable(sav_key, (Serializable) obj);
    }
    }
    }
    }
    }catch (Exception ex){
    PosUtil.tryError(ex);
    }
    }

    Activity中有@PosSerializableFlag 注解的属性,程序就会把值存放到冷却包处理。

  • 相关阅读:
    面试技巧
    [CODEVS1116]四色问题
    [CODEVS1216]跳马问题
    [CODEVS1295]N皇后(位运算+搜索)
    [CODEVS1037]取数游戏
    [CODEVS1048]石子归并
    [NOIP2012]同余方程
    C++深入理解虚函数
    Attention Model
    faster-rcnn系列原理介绍及概念讲解
  • 原文地址:https://www.cnblogs.com/riyueqian/p/15787357.html
Copyright © 2011-2022 走看看