![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
DDHKing
希望做一个心很大,行动大的智能硬件专家
展开
-
1.Android studio及其使用
OK,开启新篇章。公司已经安装有Android studio。网上下吧,然后打开,显示缺少好吧,说明缺少SDK,网上下的只有100多M,应该只是其中一个安卓版本,找公司其他人,要了个齐全的。。真是很大。。还在copy中。事实证明,在windows下跑Android,的确比较耗资源,我开着的时候CPU站70%左右,不过电脑性能也是一般吧。。等copy完了再来说下面的事。原创 2017-07-10 13:22:55 · 155 阅读 · 0 评论 -
1.9Android 学习+进度之九-消息队列及其相关
细细思考了下,设想这么个场景,此时ABC都登录了服务器S,此时B、C都给A发消息,然后多线程接收到以后。都要给A转发,此时是B、C的接收线程。假如发现这个消息是转发给A的,那么都会去调用A这个对象(因为共享了client——list),假如两个线程同时找到这个list中A,然后因为多线程的机制,互相调用A的发送数据对象,那就糟糕了。所以,这里设想的是,每个client得有一个可被多线程操作的消原创 2017-07-18 08:47:08 · 162 阅读 · 0 评论 -
1.22Android 学习+进度之二十二-语音与发送
折腾一下语音发送。其实思路应该是简单的吧,既然图片可以存,语音也就存,然后发就行了。主要看看怎么放,大小如何这些。原创 2017-08-01 16:27:19 · 163 阅读 · 0 评论 -
1.13Android 学习+进度之十三-删除冗余代码+注释+分析设计方法
终于到了,规范化代码的时候。第一步,把该删的删,命名也规范,加注释。有个链接存一下,号称是新浪sdk的开发规范http://glblong.blog.51cto.com/3058613/1677101/第一步,下载了一份10多页的文档,看看。1.类名:大驼峰写法MainActivity。方法函数:小驼峰,除了首单词外,其余单词首字母大写getText常量:MSG_TYPE成原创 2017-07-24 15:59:58 · 671 阅读 · 0 评论 -
1.14Android 学习+进度之十四-解决bug
终于到解决bug的时候。先备份一下首先第一个大bug,当我A和B聊天,A处于聊天界面,此时B退出,A再返回,会崩溃。分析原因,应该是,当不在Main界面,但是收到的socket数据会修改main界面的东西,所以报错。看一下studio的报错语句地方。java.lang.RuntimeException: Unable to resume activity。貌似并不是,而是出现了空指针。恩,原创 2017-07-24 17:24:50 · 221 阅读 · 0 评论 -
1.16Android 学习+进度之十六-项目阶段性总结(没有更高的需求可能是最终总结)
这个项目也可以做一个阶段性的总结。从7月10号入职实习接收后,大约两个礼拜的时间,就一个感觉,这种专注写代码的感觉还是非常不错的,而且公司根本没有加班的机会,中间还有小假期,更让人觉得,效率才是干这一行的关键,不然效率不高,天天加班,身体垮掉就真的吃青春饭了(就怕工作的时候打自己脸)。还是说说项目吧首先说一下整体的项目架构。先看一下项目所包含的文件:这是所有的java文件列表。大体原创 2017-07-25 09:26:01 · 258 阅读 · 0 评论 -
1.17Android 学习+进度之十七-项目内容增加
刚刚汇报了一下,感觉自己做得还是进步很大的(不要脸的习惯永远改不掉)。。相应的,也多了新的任务。现在先对任务做一个分析处理。1:服务端IP可以输入,这个是老问题了。。这次竟然忘记加了2:希望添加声音和图片两个聊天信息。恩。。对于2个这个要求,我感觉就是完善自己这个项目的体系结构的地方。首先是图片,这个我想了想,在现有的体系下是比较好的解决的(当时设计的时候就考虑了,到了实战的时原创 2017-07-25 09:56:24 · 259 阅读 · 1 评论 -
1.23Android 学习+进度之二十三-同步和分析
今天汇报了工作,功能性的任务暂时好像要搞一个段落了。如今,讨论下下一步要做的内容。1:之前测试中,一个1.5M左右的图片需要发送30s-40s。需要分析下,到底在哪一步消耗的时间比较多。2:改个按钮功能什么的。初步判断,造成1的原因是,整个1.5M的图片,我封装成了一个类,这在接收端,需要不停的接收,直到,获得一个完整的类,才会进行下一步操作(可以理解为不是流式的),然后再进行发送,地原创 2017-08-02 14:16:00 · 158 阅读 · 0 评论 -
1.18Android 学习+进度之十八-IP框添加,并测试
这个比较简单的事情,加文本框,外加测试,要稍微改,并且比如加上输错了,无法连接服务器,等。这个问题的解决过程中,出现之前已经没有考虑解决的bug。就是说当服务器没开的时候,客户端应该是个怎么样的状态,当然了,之前的代码就是异常退出了。而现在解决了这个问题。主要发生问题的原因是,按道理,所有的xxx.close()都应该判断,close的东西是否是null,因为是null,就没有所谓的clo原创 2017-07-25 13:04:13 · 147 阅读 · 0 评论 -
1.24Android 学习+进度之二十三-聊天界面修改及增加配置界面
在汇报了工作之后,又提出了新要求,改变chatlist界面,以及增加配置界面等。想法,list界面就加上时间戳信息,配置的话,控制visiable,这样应该比较方便。第一个改界面,放上timediff,不能再Adapter上做,因为,一旦刷新list,重新view,就会调用函数new Date,那么值也就会一直变,因此,需要,放置到list时就已经算好了。恩,第一步已经完成,现在是第二原创 2017-08-02 17:21:15 · 167 阅读 · 0 评论 -
1.26Android 学习+进度之二十六-音频聊天
首先先实习,本地的,发送先变成一个转移。挺好的,就是过了UDP,不行了,其中一个pad不行了,另一个还凑活给个链接,觉得分析得很到位http://ticktick.blog.51cto.com/823160/1746136,简直太棒了。一个系列的文章都是不错的,只是最后的效果还是不好。看来直接发pcm这个玩意还是有点问题,其实假如能解决忽快忽慢这个问题,空间可以自己管理的。原创 2017-08-10 11:34:39 · 177 阅读 · 0 评论 -
1.19Android 学习+进度之十九-图片和语音
终于到一个小难点了,先查查资料,看看怎么做比较好。首先,查了不少语音的资料。翻来覆去,就那一个例程,给上链接http://blog.csdn.net/xlgen157387/article/details/45457025。这里面解决了这么几个问题,首先按住录音,录音太短会有提示(因为可能还没怎么例化就结束了),录音后再本地生成文件,后缀amr,没有发送部分。然后播放amr,就是路径播放。原创 2017-07-26 09:27:25 · 244 阅读 · 0 评论 -
项目背景
项目背景:现在有一个多路由网络(具体原理以及内部结果,后面补),如今利用Android Studio实现一个。局域网聊天系统,来测试网络的传输情况。基本要求:1:虽然是多路由器(AP),但是各个路由器下所分配的网段是不会重复的。例如:C类地址192.168.0.0-192.168.255.255。一个路由器下分配192.168.1.0-192.168.1.255;另一个则是2.0-2.25原创 2017-07-10 13:14:01 · 2493 阅读 · 0 评论 -
1.25Android 学习+进度之二十五-小修小补及完工
也许这是android的最后一篇文章,不知道下次拾起他又是什么时候。这次的学习只是最初步的,用到的功能模块还是有限,也没有去搞一个成熟的开源框架来用到项目中去。但是!我觉得吧,重要的是学习过程和总结过程,代码量是量变,要质变得用脑,以及高效地学习能力才是更重要的品质。刚刚汇报了下工作,差不多完成了他所需要的所有基本需求,前前后后3周吧(时间过得可真快)。小修小补,包括一些注释呀,一些借用他原创 2017-08-03 16:28:21 · 182 阅读 · 0 评论 -
1.20Android 学习+进度之二十-图片进一步
虽然图片能发送了,本质问题还没解决,文件没有存到本地。这个问题始终要解决,否则语音也没法做。考虑不加路径,直接写看看吧。既然会路径了,问题也就方便多了。现在socket在接收图片的时候,会写到文件里面去,然后。现在实现了,发的时候,从本地取,然后传给Adapter的是一个路径值,然后socket线程接收到是图片时,先存在本地,然后广播的是路径值。下一步,点击一下,显示全景。首先原创 2017-07-26 17:03:02 · 248 阅读 · 1 评论 -
2.1Android调研 - MQTT&&XMPP
关于MQTT:https://zhuanlan.zhihu.com/p/20888181原创 2017-08-04 10:55:07 · 249 阅读 · 0 评论 -
2.2Android调研 - NIO
经常看到这个东西,称在调研,就看看。先极力推荐个帖子https://zhuanlan.zhihu.com/p/23488863,没看多少,感觉感触良多。总结下呗。问题来源,也就是我现在用的,来一个客户端,我要开2个线程(一个负责发,一个负责收),客户端一多,1000个咋办,1:像Java的线程栈一般至少分配512K~1M的空间,如果系统中的线程数过千,恐怕整个JVM的内存都会被吃掉一半;原创 2017-08-04 15:05:05 · 163 阅读 · 0 评论 -
1.21Android 学习+进度之二十一-拍照和发送
放了一个小小的假期,接着干活吧,现在需要拍照发送。我的想法是,拍照完毕的,就存在本地,然后返回的是一个文件名,然后发送图片。这个事情干完了,但是有一点瑕疵,先说明下,首先,调用摄像头,然后拍照干活,其实挺简单的。这里贴个链接:http://blog.csdn.net/abc5382334/article/details/25083445。这里有基本的调用和处理的方式。但是呢,这样做会有个问题,原创 2017-08-01 10:38:42 · 157 阅读 · 0 评论 -
1.12Android 学习+进度之十二-聊天UI升级
设计模式,架构什么的,先放放,先改UI。根据boss吩咐,首先把聊天的UI改了,再改其他。恩,聊天UI用最简单的arraylist实现,现在研究下,怎么美化下。人啊,想干一个事情总能干成的,之前一直苦于没有截图,现在行了界面丑吧。。然后聊天界面都是丑图,第一步,把上面这个界面先改好。首先,工程里添加图片资源,在drawable文件夹里,直接放置图片,然后刷新就行,在an原创 2017-07-19 13:34:03 · 218 阅读 · 0 评论 -
1.Anroid - ServerSocket
背景为,台式机插着网线和无线网卡,但是当做服务器,必须要用其中一个。java的ServerSocket可以指令本地IP划重点:ServerSocket serverSocket = new ServerSocket(8000, 10, InetAddress.getByName("192.168.3.4"));然后,客户端,由于连接net只能在子线程里面,因此开了个线程,然后暂时只是连原创 2017-07-11 15:56:37 · 146 阅读 · 0 评论 -
1.1Android 学习+进度之一
换了本书,Android 移动开发基础案例教程按照步骤,生了apk,也可以布局了。学布局各种布局类型,恩,就那意思。然后学习了TextView,Button,就先做了。然后做了个效果,公司电脑权限不行,不能装虚拟机,不能截图。。然后学习了对话框呗,然后就也加一个,刷新列表(不登录的时候给出提醒),OK的。单选,和多选,由于暂时用不到,就先不看他函数了,用的时候查就行。啥国际原创 2017-07-11 10:18:08 · 167 阅读 · 0 评论 -
1.《Android面试宝典》
终于到了,规范化代码的时候。第一步,把该删的删,命名也规范,加注释原创 2017-07-19 17:27:28 · 260 阅读 · 0 评论 -
1.8Android 学习+进度之八-Activity切换及其相关
进入下一个议题。实现的效果是,比如,产生俩个用户后,我点击一个(自己不应该能点,但是为了方便测试,暂时让他点),点了之后会生成新的Activity,然后返回不影响其他操作。好像很简单的样子:Intent intent = new Intent(MainActivity.this,Chat_Activity.class);startActivity(intent);两个语句就完事原创 2017-07-13 15:04:26 · 615 阅读 · 0 评论 -
1.7Android 学习+进度之七-控制列表及正确显示
新来用户成功发送信息后,就要利用该信息做一些处理。首先作为一个客户端,连接之后,会先显示自己的IP。OK,这个任务做完了,总结下中间碰到的问题,另外记得备份下。首先,第一个问题是ListView,这个控件的问题,因为一开始测得时候,我用adpter什么的,给他配了个arraylist,然后配了以后,主函数运行add,是能添加的,然后呢,我就把这个传递给了clientThread,结果,原创 2017-07-13 13:34:01 · 248 阅读 · 0 评论 -
1.6Android 学习+进度之五-通信规则及部分问题
这里说的通信规则主要意思是,当我手机orPad登录后,会发送哪些数据,然后服务器又会发送什么数据。这些方面的规则。首先,服务器一定开在那里,我pad登录了,其实不用专门发登录包(只是为了方便显示罢了),然后服务器应该会把此时在线的用户给你发(当然也可以搞成群发,因为这个信息还是比较重要的)。所以这应该是规则的第一步先把这个实现。具体流程,client发送后,先在第一栏显示自己,然后此时假如原创 2017-07-13 10:29:43 · 140 阅读 · 0 评论 -
1.5Android 学习+进度之五-wifi地址
首先,帧类的定义也出具模型了,就是类型,内容,已经发送Ip,接收ip。然后现在,要获取android的ip,这个,百度了几个方法,貌似都过期了?明显自己犯傻了,这种方法要么是调用包,要么就是继承类,或者接口里的东西事实证明,网上这些都要在Activity中进行调用就行了。包的封装:并且把这个包发出去了,我觉得UDP的时候应该也可以这样子。并且接收成功了原创 2017-07-13 10:27:23 · 173 阅读 · 0 评论 -
1.4Android 学习+进度之四-socket发送object
规划了下,该自定义帧了即发送数据的封装,第一次特备傻逼的,各种握手发,现在可以优化一点了。沃日,发个object真tm难。一开始发一直发布出去,后来发现,是必须Serializable化,加了之后可以发了,但是收,会报另一个错问题原因找到了,假如是发送Object,则必须发送和接收的对象包名应该保持一致,否则会出现java.lang.ClassNotFoundException的异常。原创 2017-07-12 15:35:59 · 207 阅读 · 0 评论 -
1.2Android 学习+进度之二
ACtivity。四大组件之一。一个程序可包含多个。直接通过new来创建Activity,可以进行自动注册在清单里,你要是人工写,然后继承类,就得以自己改清单文件,容易忘记(新版本不知道有没有这个优化)。Activity的什么周期。1.启动状态(短暂,进入下一个状态)2.运行状态,这个状态处于屏幕最前端,有焦点的(所谓的界面切换就是切换这个是吧?)3.暂停状态,出现个对话框原创 2017-07-11 11:42:05 · 183 阅读 · 0 评论 -
1.Android 子线程和UI的问题
真切感受到了,主线程不能尝试网络连接的意思。我一个类,类的构造函数里面我准备初始化socket,然后主Activity点击按钮,例化类,调试到例化类,直接跑飞了,都不能定位在哪一行了。。。然后就显示不好意思,我得退出了。当然这个问题现在解决了,把socket建立放到了类的线程里面,但是现在退出好像有点问题,应该是没有正常退出线程吧。先看解决办法,好吧,使用状态位,想想,C++的线程,好像也原创 2017-07-12 08:41:18 · 243 阅读 · 0 评论 -
1.Android readline阻塞与关闭问题
刚刚解决一个问题,又有新的问题,就是,我现在执行关闭,client关不掉啊,因为,接收那个流阻塞着。这个问题貌似简单的呀。总结下百度到的东西1:双方约定,连接之后,我会发你啥,然后你发我啥,然后完事就关掉,当然这个办法貌似是之前用的。2:暴力:socket.getInputStream().close(),据说这个办法会导致关闭socket,所以先关socket是不是也行(果然。。原创 2017-07-12 13:34:38 · 514 阅读 · 0 评论 -
1.3Android 学习+进度之三
现在需要加list了,list用来当做用户列表,也是之后切换其他Activity的先决。好吧,找到一个不错的博客,这篇就不原创了,参考人家的吧:http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html转载 2017-07-12 13:50:19 · 134 阅读 · 0 评论 -
1.Android 设备无法识别问题
一开始,什么开发者模式需要打开,允许usb调试,这些都是基本的,然后假如还不行需要Adbdriver一下,下载链接http://adbdriver.com/documentation/how-to-install-adb-driver-on-windows-8-10-x64.html,点开,安装然后pad上点个允许就可以识别了原创 2017-07-12 15:27:19 · 968 阅读 · 0 评论 -
1.git上传等问题
首先,我们这里用的是gitlab。其相关指令是:文字版也放一下:Git global setupgit config --global user.name "Chenggongfan"git config --global user.email "44@qq.com"Create a new repositorygit clone http://10.167.175.原创 2017-07-19 16:49:05 · 224 阅读 · 0 评论 -
1.10Android 学习+进度之十-聊天处理
终于把代码改成了消息队列的模式,并且测试一切ok。接下去考虑聊天了。先考虑最简单的情况,两个人都打开了各自的Activity,然后一方面发送消息,另一方能在对应的Activity接收到相关数据,并且显示。第一步,用户A发消息,能在Activity上显示。用ListView实现的,实现步骤和主界面的差不多。显示了,但是呢,本来想做一下,想左边显示就左边显示,想右边显示就右边显然,还不是那原创 2017-07-18 13:22:39 · 137 阅读 · 0 评论 -
1.11Android 学习+进度之十一-多人聊天缓存
现在实现了两个用户同时打开界面,然后可以进行聊天了,但是,假如A给B发,B没有打开呢,得有显示,而且显示后,点击进去,能显示之前的几条信息。第一步,要解决,如何显示IP+信息数目的玩意。终于解决了显示这个问题。用到的知识点是,SimpleAdapter及其相关,例如动态更新,如何显示等,贴上代码: adapter = new SimpleAdapter(MainActivity.th原创 2017-07-18 16:44:42 · 221 阅读 · 0 评论 -
1.27Android 学习+进度之二十七-视频聊天(硬编解码)
终于可以动笔写这篇文章了。各种调研之后,终于复现成功了一个版本。情况如下首先,ffmpeg编译的时候,需要指定NDK的版本,所以就算偷懒用别人的so库,也得保证自己的NDK和编译的so是一致的,之前没有在意这个事情,so库各种乱用,所以怎么调试都有各种各样的问题。(其实好像接近就可能可以,下面参考的这个NDK是13...啪啪啪打脸)由于公司权限设置,安装什么的太麻烦了。网上下载了一个1原创 2017-08-18 15:44:39 · 482 阅读 · 0 评论