代码是一项艺术

来源:互联网 发布:安卓版cad制图软件 编辑:程序博客网 时间:2024/05/16 05:35

第一种:

public class QueryErrorCode {
    public static void showErrorMsg(Context context,TextView textview,int rst)
    {
        switch (rst) {
        case ErrorTable.CV_E_UNSURPPORTED:
            show(context,textview,"该版本未开启此功能");
            //Toast.makeText(context, "该版本未开启此功能", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_INVALIDARG:
            Toast.makeText(context, "无效参数", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_HANDLE:
            Toast.makeText(context, "句柄错误", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_FAIL:
            Toast.makeText(context, "内部错误", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_DELNOTFOUND:
            Toast.makeText(context, "定义缺失", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_INVALID_PIXEL_FORMAT:
            Toast.makeText(context, "不支持的图像格式", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_FILE_NOT_FOUND:
            Toast.makeText(context, "模型文件不存在", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_INVALID_FILE_FORMAT:
            Toast.makeText(context, "模型格式不正确,导致加载失败", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_INVALID_APPID:
            Toast.makeText(context, "包名错误", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_INVALID_AUTH:
            //Toast.makeText(context, "授权验证失败", Toast.LENGTH_LONG).show();
            textview.setText("授权验证失败");
            textview.postInvalidate();
            break;
        case ErrorTable.CV_E_AUTH_EXPIRE:
            Toast.makeText(context, "SDK过期", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_FILE_EXPIRE:
            Toast.makeText(context, "模型文件过期", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_DONGLE_EXPIRE:
            Toast.makeText(context, "加密狗过期", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_ONLINE_AUTH_FAIL:
            Toast.makeText(context, "在线验证失败", Toast.LENGTH_LONG).show();
            break;
        case ErrorTable.CV_E_ONLINE_AUTH_TIMEOUT:
            Toast.makeText(context, "在线验证超时", Toast.LENGTH_LONG).show();
            break;
        default:
            break;
        }
    }
}

第二种:

public class QueryErrorCode {
public static void showErrorMsg(Context context,TextView textview,int rst)
{
switch (rst) {
case ErrorTable.CV_E_UNSURPPORTED:
show(context,textview,"该版本未开启此功能");
break;
case ErrorTable.CV_E_INVALIDARG:
show(context,textview,"无效参数");
break;
case ErrorTable.CV_E_HANDLE:
show(context,textview,"句柄错误");
break;
case ErrorTable.CV_E_FAIL:
show(context,textview,"内部错误");
break;
case ErrorTable.CV_E_DELNOTFOUND:
show(context,textview,"定义缺失");
break;
case ErrorTable.CV_E_INVALID_PIXEL_FORMAT:
show(context,textview,"不支持的图像格式");
break;
case ErrorTable.CV_E_FILE_NOT_FOUND:
show(context,textview,"模型文件不存在");
break;
case ErrorTable.CV_E_INVALID_FILE_FORMAT:
show(context,textview,"模型格式不正确,导致加载失败");
break;
case ErrorTable.CV_E_INVALID_APPID:
show(context,textview,"包名错误");
break;
case ErrorTable.CV_E_INVALID_AUTH:
show(context,textview,"授权验证失败");
break;
case ErrorTable.CV_E_AUTH_EXPIRE:
show(context,textview,"SDK过期");
break;
case ErrorTable.CV_E_FILE_EXPIRE:
show(context,textview,"模型文件过期");
break;
case ErrorTable.CV_E_DONGLE_EXPIRE:
show(context,textview,"加密狗过期");
break;
case ErrorTable.CV_E_ONLINE_AUTH_FAIL:
show(context,textview,"在线验证失败");
break;
case ErrorTable.CV_E_ONLINE_AUTH_TIMEOUT:
show(context,textview,"在线验证超时");
break;
default:
break;
}
}
public static void show(Context context,TextView textview,String errorMsg)
{
//Toast.makeText(context, errorMsg, Toast.LENGTH_LONG).show();
textview.setText(errorMsg);
textview.postInvalidate();
}
}

第一种是不假思索写出来的,第二种是在高人指点下写的。

对比两种发现,虽然只是把Toast单独放到一个方法里面,但看起来段落清晰,清爽多了,更重要的是在show方法里可以随意使用Toast还是textview只需注释一行代码,对比第一种则需在每个case里注释,很繁琐。代码是一种艺术,需要用心一行一行写。






0 0
原创粉丝点击