摘要: bug大致都清掉了……至少第一次运行是不会有bug了。等会看能不能发github上去,然后直接外链到这边吧。我花了一个周,就搞出了下载文件这么一个功能……编程太难玩了。 1 package com.mlxy.xml; 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileOutputStream; 7 import java.io.InputStream; 8 import java.io.InputStre... 阅读全文
posted @ 2014-03-24 03:23 Chihane 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 我居然连Java创建文件的机制都不记得了。现在脑子还是个乱的。new File("blahblahblah", "blah.txt").mkdirs();这段代码会创建一个叫blah.txt的文件夹。为什么?为什么? 阅读全文
posted @ 2014-03-24 02:57 Chihane 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 我不能被这个破玩意卡这么久。今晚的第一个收获是,我在下载方法里面,获取了API写完了文件而且关闭了之后又加上了一段代码用来测试。内容是打开刚刚写好的文件,把里面的内容打印到日志上,结果我发现不但文件存在,而且没有乱码。然后不管我怎么折腾,它就是要告诉我文件不存在。它指的是SAXReader。我就说哪里不对劲。之后我就上主界面的代码里复制了一份刚才的代码,结果发现完全可以运行。然而针对的是同一个file变量,解析器它就跟我说文件不存在。dom4j,你过来,你告诉我你是不是不支持安卓。我百度去。 阅读全文
posted @ 2014-03-24 02:17 Chihane 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 我本来以为安卓和Windows一样,直接在根目录new一个File对象然后随便怎么操作都行呢。然后各种文件或目录没找到的异常表示这样行不通。于是就找办法呗。首先是输出流的问题,要往安卓的文件里写东西,不是自己new各种输出流的。Context类提供了一个方法:android.content.Context.openFileOutput(String name, int mode)所以就需要往管输入输出的类的构造函数里传入Activity自身,用以打开输入输出流。第一个参数好理解,就是文件名,不过是单纯的文件名,不包含任何目录和分隔符的那种。第二个是输出输出模式,有几个静态常量,在Context 阅读全文
posted @ 2014-03-23 14:57 Chihane 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 某一天我在测试代码的时候突然发现,程序下载下来的xml文件倒确实是xml文件,但是里面只有一个根节点。也就是说,联网正常,但是获取内容失败了。因为API一共就三个属性,最后一个是日子,肯定没错,于是问题只可能出现在城市和密码上。我首先怀疑密码失效了,因为我根本找不到这个API的申请入口,百度了一下有人说是内部API,所以密码是直接拿别人的来用的。之前用Python写字典的时候碰到过这样的事,总之就是被ban掉了,我怀疑这次也是,于是回原网页重新打开原博主给的链接,结果发现完全没问题,可以访问。然后我略一思考就发现了问题。原博主的地址是这个样子的:http://php.weather.sina. 阅读全文
posted @ 2014-03-23 14:41 Chihane 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 再不说点什么可能都忘了我写了些什么了。折腾了快一个周,只写出了两个处理xml文件的模块。用的API是新浪的,格式大概是这个样子:private String city = CharacterProcesser.encodeByGB2312("南昌");private String password = "DJOYnieT8234jlsK";private int day = 0;private String link = "http://php.weather.sina.com.cn/xml.php?city=" + city + & 阅读全文
posted @ 2014-03-23 14:29 Chihane 阅读(136) 评论(1) 推荐(0) 编辑
摘要: 定义一个抽象类。核心是一个不可变的模板方法,由它来定义算法结构。子类则可以改写算法中的一些具体步骤。像这样:public final void templateMethod() { step1(); step2(); step3();}protected abstract void step3();protected abstract void step2();protected abstract void step1();为了防止算法被子类随意改写,加上final关键字。但是模板方法也不是绝对定死的,也可以加入一个钩子(Hook)方法来改变模板方法的运行过程。像这样:pro... 阅读全文
posted @ 2014-03-19 21:19 Chihane 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1 public static void getXmlSource(String link) throws IOException { 2 // 用链接字符串new出URL对象 3 URL url = new URL(link); 4 5 // 输入输出流 6 InputStream in = (InputStream) url.getContent(); 7 BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UT... 阅读全文
posted @ 2014-03-19 20:02 Chihane 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 出去吃顿饭的功夫就发现了两个问题。第一个:新建实例的时候直接用c.newInstance()会不会导致程序在c不存在的时候出错?测试了一下,如果c不存在的话,场景类里会报错,那看来还是可以直接这么用,不需要Class.forName()。这段代码会报错:Product twoThreeThree = factory.createProduct(Product233.class);twoThreeThree.printName();另一个:我一开始回忆着敲代码的时候把生产方法设成了静态函数,但是后来想到要new工厂的实例,就把static关键字删掉了。但是刚才出门之后发现,我完全可以不用实例化工 阅读全文
posted @ 2014-03-16 20:54 Chihane 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 博客园太难用了,第二页居然连摘要都显示不出来了,选列出标题也没用,选列出摘要也没用。而且都说第一页全部显示了居然还是只显示摘要,怎么让所有博文都不折叠,在列表里就全显示出来……还是顾名思义,用一个工厂类来生产对象。我一开始以为传入的参数是对象,还心想传入对象输出对象这不是有病么,后来发现参数是个类。 1 public class ProductFactory { 2 private static Product product = null; 3 4 @SuppressWarnings("unchecked") 5 public T createProduc... 阅读全文
posted @ 2014-03-16 19:42 Chihane 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,只有一个实例的模式。禅那本书举了个好例子,皇帝,这应该单独写一个类,但是应该是唯一的,只有一个实例,不能让人随便new出很多个来。解决方法就是限制构造函数的权限,本来new对象就是用构造函数的,既然构造函数不能访问了,那自然就不能new对象了。但是又不能一个实例都没有,所以: 1 class Singleton { 2 private static final Singleton singleton = new Singleton(); 3 4 private Singleton() {} 5 6 public static Singleton g... 阅读全文
posted @ 2014-03-16 00:58 Chihane 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 六大原则。 我想想…… 迪米特原则、开闭原则、接口隔离原则、单一职责原则…… SOLID…… 我再想想。 跪了。 百度归来。 里氏替换原则和依赖倒置原则。 至于几个原则分别的定义就不想了,又复杂又有重复,以后一边用一边体会吧。 ……仔细考虑了一下,单独的设计模式还是单独发一篇博吧。 阅读全文
posted @ 2014-03-16 00:40 Chihane 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2014-03-14 23:54 Chihane 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 实际上是一点营养也没有,编辑窗里拖两个控件而已。 App如其名。 嗯…… 阅读全文
posted @ 2014-03-06 10:17 Chihane 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 不过总感觉学Java之后有三个月是荒废掉的……看了看之前的博文,一直到一月下旬都是在学Java,整个二月里,下半月一直在忙,上半月摸安卓。从十一月开始摸Java,十二月一月,其实还可以吧……52篇博文……还算有点收获的…… 阅读全文
posted @ 2014-03-02 20:58 Chihane 阅读(126) 评论(0) 推荐(0) 编辑