java 回调与枚举
来源:互联网 发布:linux守护线程 编辑:程序博客网 时间:2024/06/01 21:43
package miui.maml.elements;import android.util.Log;import miui.maml.ScreenElementRoot;import org.w3c.dom.Element;public class ScreenElementFactory { public interface FactoryCallback { public ScreenElement onCreateInstance(Element ele, ScreenElementRoot root); } private FactoryCallback mFactoryCallback; public void setCallback(FactoryCallback factoryCallback) { mFactoryCallback = factoryCallback; } public FactoryCallback getCallback() { return mFactoryCallback; } public ScreenElement createInstance(Element ele, ScreenElementRoot root) { String tag = ele.getTagName(); try { if (tag.equalsIgnoreCase(ImageScreenElement.TAG_NAME)) return new ImageScreenElement(ele, root); else if (tag.equalsIgnoreCase(TimepanelScreenElement.TAG_NAME)) return new TimepanelScreenElement(ele, root); else if (mFactoryCallback != null) return mFactoryCallback.onCreateInstance(ele, root); } catch (IllegalArgumentException e) { e.printStackTrace(); Log.w("ScreenElementFactory", "fail to create element." + e); } return null; }}
/** * 这个类是可以通过工厂方法进行重构的 * 每一个检测项是一个类,比如 AirModeCheckItem , WifiIsConnectCheckItem,.......他们实现共同的inferface, * 这个inferface包含itemName等变量,还有checkItem,fixItem等方法 * 有一个CheckItemFactory管理他们 */public enum NetworkDiagoneItem { APN_ISSUE("checkAPN","APN扫描...", "建议重置APN",false, "重置APN","fixAPN"), SIM_STATE_ISSUE("checkSimState","SIM卡状态扫描...", "检查是否禁用了sim卡",false, "去检查","fixAPN"), SIGNAL_STRENGTH_ISSUE("checkSignalStrength","信号强度扫描...", "当前环境信号较差",false, "确定","fixSignalStrength"), WIFI_NOT_CONNECT("checkWlanConnected","wifi接入点扫描...","去连接wifi",false,"请连接一个wifi","fixWlanConnected"), WIFI_ROUTE_TO_INTERNET("checkRouteToInternet","路由器连接外网扫描...","去检测路由器设置",false,"去检测路由器设置","fixRouteToInternet"), WIFI_DNS_ISSUE("checkWlanDNSAvailable","ADSL DNS 扫描...","WIFI DNS",false,"修复","fixAPN"), WIFI_GATEWAY_ISSUE("checkRouteGetwayAvailable","Wifi网关扫描...", "建议检查路由器设置",false, "网关不能访问","fixRouteGetwayAvailable"), USB_SHARENET_ISSUE("checkUsbSharenetRoute","USB共享上网扫描...", "建议检查路由器设置",false, "网关不能访问","fixUsbSharenetRoute"); public static List<NetworkDiagoneItem> getAllUsbShareItem() { List<NetworkDiagoneItem> usbshareItems = new ArrayList<NetworkDiagoneItem>(); usbshareItems.add(USB_SHARENET_ISSUE); return usbshareItems; } private String itemCheckMethod; private String itemName; private String itemSummary; private boolean isOk; private String itemSolution; private String solutionMethod; public static int CurrentSignalStrength = 0; private NetworkDiagoneItem(String itemCheckMethod,String itemname,String itemSummary, boolean isOk, String itemSolution,String solutionMethod) { //mContext = context; this.itemCheckMethod = itemCheckMethod; this.itemName = itemname; this.itemSummary = itemSummary; this.isOk = isOk; this.itemSolution = itemSolution; this.solutionMethod = solutionMethod; }
0 0
- java 回调与枚举
- java枚举与.net中的枚举区别
- java枚举与可变参数
- Java迭代与枚举
- c++与java的枚举
- Java 与 C 的枚举
- Java迭代与枚举
- JAVA枚举类状态机 与 Java枚举策略模式
- java 枚举的原理与使用枚举设计单例
- java中的switch语句与枚举类型
- JAVA用enum枚举与switch搭配
- Java中的枚举与values()方法
- java中的枚举介绍与简单应用
- java 枚举类型与int转换
- JAVA枚举的作用与好处
- java枚举的概念与应用
- JAVA枚举的作用与好处
- JAVA枚举的作用与好处
- adb无法找到设备
- ubuntu jdk环境配置
- c#截取未知长度的字符串前面字符到数字为止
- 阿里云搭建--安装vsftpd
- jersey2
- java 回调与枚举
- 不必遗憾,若是美好,叫做精彩,若是糟糕,叫做经历
- 关于SOCKET
- 动态规划题目(一)——换零钱
- 关于struct在内存中的存储结构及妙用
- Object-c 总结之NSDate
- IOS CALayer详解
- 作业
- Git分支开发图解