8月19日TMS开发笔记

做这个APP+WEB项目快2个月的,昨天才发觉有很多知识都没有掌握,每次需要又要重新搜索,十分费时又费力。从今天开始把自己遇到的坑都记录一下吧,给以后做个参考,也希望能给其他和我一样的小白提供点帮助。

1、String和InputStream的互转
[String to InputStream]

String content="abc";
InputStream stream = new ByteArrayInputStream(content.getBytes());

[InputStream to String]

public String inputStream2String (InputStream in) throws IOException   { 
        StringBuffer out = new StringBuffer(); 
        byte[] b = new byte[4096]; 
        for (int  n;  (n = in.read(b)) != -1;)  { 
                out.append(new String(b,   0,   n)); 
        } 
        return out.toString(); 
} 

2、删除List<>中的某些数据
删除List中某些数据的最好的方法是使用iterator.(自己的代码中掺杂了许多其他的方法,这个是引用了@骄傲的奔波儿灞 大神教程中的代码)

/** 
     * 去除未发布状态的课件,并删除其在数据库的存储 
     * @param listLessons 
     * @return 
     */  
    public static List<LessonModel> removeUnpublishedLessons(KorenpineApplication application, List<LessonModel> listLessons){  
        if(null == listLessons || listLessons.size() == 0){  
            return null;  
        }  
        LogUtils.e(TAG + "课件--removeUnpublishedLessons剔除开始--size-->" + listLessons.size());  
        Iterator<LessonModel> it = listLessons.iterator();   
        LessonModel model = null;  
        while (it.hasNext()) {    
            model = it.next();    
            if (model.getStatus() != 1)  {  
                /*课件未发布,剔除*/  
                LessonModelDB.newInstance(application).deleteByCourseIdAndLessonId(model.getCourseid(), Integer.parseInt(model.getId()));  
                LogUtils.d(TAG + "课件--removeUnpublishedLessons剔除-->" + model.getId());  
                it.remove();    
            }  
        }   
        LogUtils.e(TAG + "课件--removeUnpublishedLessons剔除结束--size-->" + listLessons.size());  
        return listLessons;  
    }  

3、另外Android进行HTTP访问时session的问题一直困扰了我很久,之前做的时候就先把session无视掉了,实验了众多方法,okhttp我认为是最好的方案,但是无奈当时对方法调用和回调理解太过浅薄,同步和异步的问题没有解决,也就索性放一边。最近突然又脑子一热找到了解决办法,此时的APP功能已经全部完整,开始回头改代码,简直是一段血泪史,要讲所有的老HTTP访问更换成okhttp的访问,跟重做有的一拼了。

4、现在回过头看自己以前的代码,特别有想重写的冲动,耦合度太高、逻辑性又差,改起来十分不方便,特别是一些变量和函数命名不规范,备注又少,导致自己阅读起来都十分困难。以后写代码还是得规范一点,免得给以后埋太多坑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值