上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要: 我真喜欢你们。 等两天再开始敲代码。 另外经过这两天的使用我发现我之前写的安卓的记事本有bug。 文本框内容的更新跟用户操作不同步,表现为比如有一篇文章有三行字,你把第二行的删掉,在显示上第三行不会移动到第二行去,不管怎么删那里都有一个空行,要等到关了输入法才会更新。 同理如果你在中间行插入一个回车然后继续输入,新输入的内容会直接覆盖在第三行文字上,真的是视觉上的覆盖…… 我不打算找原因了…… 阅读全文
posted @ 2014-02-23 20:39 Chihane 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 其实我有理由…… 阅读全文
posted @ 2014-02-16 00:44 Chihane 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 我五天没写代码了,想必尸体都冰凉了。 阅读全文
posted @ 2014-02-07 23:01 Chihane 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 对的,出了新手村就不用了的那种。 惯例发包,还是加了rr3,明明根本没人下。 里面三个文件,一个是纯打包的jar,一个是能能运行的jar,一个是能运行的exe,我测试没问题,运行不了请检查环境变量和人品。 不过按照习惯,最后还是会把所有代码直接发出来的。 第一次用了下枚举类,还是挺简单的,百度随便搜两篇博客就懂了,用起来也挺智能,最重要的是用1234来表示方向太low了。 像这样:public enum Orientation {UP, DOWN, LEFT, RIGHT} 之后用起来直接当常量引用就行了(比如Orientation.UP),不过数据类型是Orientation... 阅读全文
posted @ 2014-02-02 23:42 Chihane 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 标题有点语无伦次,总之是举个栗子:outerWhile: while (true) { for (int i = 0; i < 100; i++) { if (i == 50) { break outerWhile; } }} 这个语法之前从来没听说过。 第一个outerWhile的作用是给外层循环做标记,这样就可以在内层循环的时候break或者continue掉外层循环。 标记的名字可以随便改。 直接用break的话,只能跳掉for循环。 简直高端。 阅读全文
posted @ 2014-02-02 21:03 Chihane 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 不过事实上是Fenby网写的。 练练手,用了用ImageView,Button,TextView,SoundPool,Toast,Dialog和两种动画。 感觉也不是很有必要说的样子。 还擅自用了人家妹子的照片,就不往这发了。 阅读全文
posted @ 2014-01-29 01:12 Chihane 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 极速启动!绝对精简! 完全没有广告条和推送消息! 完全没有开机自启和后台自启! 完全没有偷偷耗电和偷偷联网! 完全没有那个技术呃含量。 我想想有没有什么好说的哈。 默认情况下应用窗口最上边是有一个很难看的又粗又黑的标题栏的,要改的话改主题就好了,方法是在AndroidManifest.xml文件里的application标签下加上一句android:theme="@android:style/Theme.NoTitleBar" 主题的名字已经说明作用了,如果在Theme.NoTitleBar后面再加上.Fullscreen的话连通知栏都可以隐藏,很方便。 在applicat 阅读全文
posted @ 2014-01-27 19:57 Chihane 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 跟着官方教程做。 上来就出现了奇怪的错误,卡住进行不下去了。 不过后来试着增加了目标版本,问题就解决了。 总的来说,感觉还行。 目前还没什么好说的,之后有点进展了再来发博客吧。 阅读全文
posted @ 2014-01-21 20:48 Chihane 阅读(119) 评论(0) 推荐(0) 编辑
摘要: bug基本解决了,用两台电脑加上hamachi测试了一下,能用。 干,刚说完拿自己的外网IP测试了一下,报空指针异常,懒得改了。理由大概是虽然连不上服务器的IP会报错,但是其实你随便连个谁的IP也能连上,所以程序还会执行下去,但是因为对面没有人给你接收,发包没人接,就 报错了。 我猜的。 有外网服务器当然更好,没有就只能挂hamachi或者用内网映射什么的我不懂的东西。 分成两个部分,随便哪台机器运行OIFaQ-Server启动服务器,是第三者的机器也无所谓。 然后用户启动OIFaQ-Client就完事了。 还是挺直观的。 OIFaQV1.1.rar 惯例发一下代码,就... 阅读全文
posted @ 2014-01-19 22:23 Chihane 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 服务器没启动的情况下直接启动客户端会报错,测试的时候无所谓,发布的时候一定要注意,下个版本修正。 得给服务器写个GUI,测试的时候有命令行,发布之后就不对劲了,要关闭还得用任务管理器。 客户端的独立线程在关闭框架的时候会报错,目前直接catch掉了,感觉不够优雅,之后修正。 服务器端倒是好像没什么bug了。 上边这句话说完我自己都不信。 先把exe和jar发了。 这小图标画得我自己都陶醉了。 1 import java.io.*; 2 import java.net.*; 3 import java.util.ArrayList; 4 5 /** 6 * 服务器... 阅读全文
posted @ 2014-01-19 13:15 Chihane 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 就是不能着急,今晚的问题是一次写了太多内容,因为不好测试,所以放着一大堆没测试的代码,还在继续写。 结果就是bug堆bug,各种问题纠缠在一起,根本解不开。 以后要注意,哪怕稍微绕一点路,也要写一点测试一点,不能赌运气。 阅读全文
posted @ 2014-01-18 22:47 Chihane 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 文件已经没了,留尸体的一部分作纪念:java.io.StreamCorruptedException: invalid type code: AC at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1375) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) at SimChatClient$MessageWaiter.run(SimChatClient.java:164) at java.lang.Thread.run(Thr.. 阅读全文
posted @ 2014-01-18 22:41 Chihane 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 简单应用了一下多线程,搞定了多客户端的问题。 之前只能有一个客户端接入,因为服务器只会accept()一次,然后就进入接收输入流的死循环了。 然后我趴在地上想了一下,主进程里死循环来accept(),然后每个客户端new一个新进程是不是就搞定了,越想越觉得有道理,于是就试了试。 另外每个进程里重新各new一个Socket和输入流,这样就不会跟主进程产生冲突,同时主进程里的这两个也就可以直接删掉了。 于是现在是各个进程各自处理自己的接收信息动作,互不干涉。 启动进程是start()不是run()哪。 现在的问题是服务器已经把该接收的都接收了,怎么把客户端发上来的消息再发给其他客户... 阅读全文
posted @ 2014-01-18 12:22 Chihane 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 不过目前就算了。 练练Socket,还有一点GUI。 这次直接用了默认包。 原理很简单,客户端想办法搞到用户输入的内容,然后把用户ID和输入内容拿一个数组装起来,然后用ObjectOutputStream送到服务器端。 服务器端接到了之后原样拆开,打印一下就行了。 其实我根本不知道聊天程序该怎么实现……每个人都有一份server和一份client? 写一点是一点吧…… 总之之后再学学。 另外目前因为用的是TCP,似乎只能一对一,之后再研究研究UDP。 Server的输入流名字起错了,不要在意。 另外代码这么简单,没有注释也没关系的嘛,是吧。 1 import jav... 阅读全文
posted @ 2014-01-17 12:56 Chihane 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 如题。 当然,我Java文件全在C盘。 不过这事挺影响心情的。 阅读全文
posted @ 2014-01-15 01:06 Chihane 阅读(126) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页