杂乱代码1

public interface Callback {  public void onSucc();  public void onFail(String msg); }

////////////////////////

@Override    public void onClick(View v) {

this.getServerAppVersion(new Callback() {

@Override      public void onSucc() {

new AlertDialog.Builder(MoreVersionActivity.this)         .setTitle("版本更新检测")         .setMessage("检测到新版本,是否下载更新?")         .setPositiveButton("是",           new DialogInterface.OnClickListener() {            @Override            public void onClick(              DialogInterface dialog,              int which) {             MoreVersionActivity.this               .downloadApp();            }           }).setNegativeButton("否", null)         .setCancelable(false).show();

}

@Override      public void onFail(String msg) {       // Log.e("FindEventAddActivity", msg);      }

});

}

public String getServerAppVersion(final Callback callback) {

RequestParams params = new RequestParams();

CommunicationTools.communication(Const.GET_SERVER_APP_VERSION_PATH,     params, new JsonHttpResponseHandler() {      @Override      public void onSuccess(JSONObject data) {       // 是否上传数据成功       try {        String serverVersion = data.getString("versionNo");

String currentVsersion = MoreVersionActivity.this          .getVersion();

if (serverVersion != null          && serverVersion.contains("s")) {         serverVersion = serverVersion.replace("s", "");        }

if (!serverVersion.equals(currentVsersion)) {         callback.onSucc();        } else {         PublicMethods.showToastTopShort(           getApplicationContext(), "已经是最新版本!");        }       } catch (JSONException e) {        PublicMethods.showToastTopShort(          getApplicationContext(), "网络连接失败!");        e.printStackTrace();       }

}

@Override      public void onFailure(Throwable arg0) {       PublicMethods.showToastTopShort(         getApplicationContext(), "网络连接失败!");       callback.onFail("服务器连接失败");      }     });

return null;  }

///////////////////////////////////////////////////

new Thread(new Runnable() {    @Override    public void run() {     Looper.prepare();     try {      URL url = new URL(Const.GET_SERVER_APP_DOWNLOAD_PATH);      HttpURLConnection urlConn = (HttpURLConnection) url        .openConnection();      urlConn.setRequestProperty("Accept-Encoding", "identity");      urlConn.connect();      urlConn.setConnectTimeout(60 * 1000);      InputStream is = urlConn.getInputStream();      Message msg = handler.obtainMessage(0);      msg.obj = urlConn.getContentLength();      msg.sendToTarget();      downFile(is);     } catch (Exception e) {      e.printStackTrace();      // PublicMethods.showToastTopShort(getApplicationContext(),      // "下载失败!");      new AlertDialog.Builder(MoreVersionActivity.this)        .setTitle("提示").setMessage("下载失败,请检查网络是否正常,稍后重试!")        .setPositiveButton("确定", null).setCancelable(false)        .show();     }     Looper.loop();

}   }).start();

时间: 2024-08-26 20:38:59

杂乱代码1的相关文章

我的代码重构经验

说明 本文在<MDU某产品OMCI模块代码质量现状分析>一文的基础上,分享作者对该模块进行重构时的实践经验. 具体的重构手段可参考<代码大全2>或<重构:改善既有代码的设计>,本文不再班门弄斧,而侧重重构时一些粗浅的“方法论”,旨在提高重构效率. 作者未采用重量级的重构工具,仅用到Source Insight的”Smart Rename”功能.也未使用CUnit等单元测试工具,而是通过在线调测和自动化测试保证代码的正确性. 一 背景 MDU系列产品从他处接手,OMCI模

asp.net mvc 3.0 知识点整理 ----- (3).asp.net mvc 3 和asp.net mvc 4 对比

asp.net mvc的版本更新很快,每个版本都在前一个版本的基础上,进行性能的优化和功能的完善和提升. 以下,便是我对比了下两个版本,发现最基本的差异.(更新补充中..) 一.关于配置类Global.asax的不同 为了较少配置类的杂乱代码,asp.net mvc 4 中 将Global.asax文件中的内容单独到 App_Start 下的几个配置文件中去. 在asp.net mvc 3 中: public static void RegisterGlobalFilters(GlobalFil

6周学习计划,攻克JavaScript难关(React/Redux/ES6 etc.)

6周学习计划,攻克JavaScript难关(React/Redux/ES6 etc.) 余博伦· 2 个月前 原文链接:A Study Plan To Cure JavaScript Fatigue 作者:Sacha Greif 和大家一样,最近我也看了Jose Aguinaga写的How it feels to learn JavaScript in 2016. 显然这篇文章击中了人们的痛处.它在Hacker News上排了不止一次第一.同样也是/r/javascript上最火的一篇,在Med

文字图片化

RT,实现类似现在网上流行的长微博生成器,就是把长文字转成图片.当然功能比不上网上流传的,不知道网上那些用的什么方法.我这是用的HTML5的Canvas特性,也算一种实现吧.     示例地址: TextToImage,仅作大家交流使用. 附加_2012年4月18日11:13:00:之前刚分享此代码的时候的版本是不能处理分行的,现在可以了.在做断行的过程,我发现:一个好算法,是胜过无数行苦逼的杂乱代码的... 标签: <无> 代码片段(2)[全屏查看所有代码] 1. [图片] QQ截图2012

蓝桥杯练习系统题解

转于:http://www.cnblogs.com/cshhr/p/3550014.html 蓝桥杯官网练习系统题解(非VIP) BEGIN-4(Fibonacci数列) 有递推公式,大家都知道用递推公式求,仅仅要记得在递推的时候同一时候取模求好 这里给一份另类代码,用矩阵高速幂求,事实上还有循环节 /* (1 1) * (Fn-1) = ( Fn )//矩阵相乘,将就着看吧 (1 0) (Fn-2) (Fn-1) (1 1) * (1 1) * (Fn-2) = ( Fn ) (1 0) (1

这10篇 iOS 热文,你别错过哦

<移动开发必读书单> 某一领域的技术人,在他的职业生涯中,一定有一些绕不过去的技术和非技术的知识.有的时候,靠自己摸索.到处偷师,倒也能掌握.但是,这些别人早就趟过去的坎,大多已经有了非常棒的书籍作为总结.看了这些书,脚下的路就要平一些.这个书单,就是为了找到移动领域的这些书. <iOS开发经验总结(上)> <iOS开发经验总结(下)> 在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累(踩过的坑). <MVVM架构的一次实践,重写iOS头条客户

gulp实用配置(2)——中小项目

上一篇的gulp配置很简单,主要就是为了demo的查看和调试,这一篇则会相对详细一些,包括压缩合并打时间戳等. 在互联网环境比较好的城市,需要多人协作的,大一点的项目应该都用上了模块化(这里主要指commonjs和ES6模块系统,不是再早的require.js和sea.js).代码也会更注重如何分离和注入,而不再是单纯的合并. 但是在很多小公司,开发模式或技术都还是比较传统的,或者一些小项目也完全不需要用上那些比较前沿的技术. 所以这篇配置就主要为了这样的中小项目. 1.所需工具和版本 包管理工

前端js,如何在结构化与性能中做取舍。

js发展中的问题 随着前端web技术的发展,js要解决的问题也变得越来越多,越来越复杂. 解决更复杂的问题,需要更好的结构. 解决更复杂的问题,也需要更好的性能. 结构的优化在一定程度上会牺牲性能,同样的,性能的优化也有可能会破坏原有的结构. 一般化的例子 我们先来看看以前这些问题是如何(被)解决(妥协)的. jquery vs 原生api 回到10年前,精通jquery是前端程序员的一个里程碑,没有人执着于原生api.原生api有更好的性能,jquery有更好的结构.但问题在于开发效率的提升,

错误和问题解决的成本

问题描写叙述 错误 数据收集 根本原因 版本号   组件:数据修复           在一个实际成本组织中,(平均,先进先出,后进先出) 一个或更 多的下面情况可能发生: 1.导航到物料成本历史表单上的数量信息,与现有量表单的数量不匹配的记录 2. 一些物料前期已计成本的数量与前面的事务处理历史表单的数量不匹配 3. 全部的库存值报表与事务处理值报表不匹配 4. 存货层次成本更新表单的总数量与现有量数量表单不匹配(只在先进先出/后进先出) 5.这些症状的不论什么一个意味着 MMT-CQL不匹配