想学android 但工作没多少时间学,【共勉】Android学习日志。新年刚过离开学还有时间,加油!...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
网络通讯查看图片。
用到了一个显示图片的控件,
稍微了解了一下发现,view的子类用backgroud都可以变相的设置图片。
ImageView显示图片用ViewImg.setImageBitmap(bitmap); 我也不知道这个方法有什么好处,但是这不是唯一的方法,接收的参数 是一个BitMap对象,这是一个位图对象,这样一个对象的好处可以用byte[] 字节数组构建。
Bitmap bitmap = BitmapFactory.decodeByteArray(dataImg, 0, dataImg.length);
安卓让我搞不懂的是很多对象都是用工厂生产出来的而不是new出来的,应该是原因和好处的,但是目前我感觉习惯性的去new 然后然后一查发现是用工厂方法生产出来的,主要是工厂方法的名字都特别长,太记,一不小心就用了名字差不多的方法。
显示图片的问题已经解决了,那么怎么从网络中读到一个图片,转成字节数组哪。
其实也很简单。
构建这么一个读取的方法,接收一个HTTP协议地址。
构建成URL url = new URL(strUil); 现在一直不是很明了的知道,URL Url Uri,貌似URL是可以放所有协议的地址,后面两个是安卓用的,uri是不带协议的地址。而且,他们的构建方法还不统一,安卓非得搞特殊用Uri.parse(); 而不是用New,因为本机上没有下载源码,所以也没进去看,但是英语很不行,估计也不是看多动,只是好奇他是怎么解析我传入的字符串。
然后获得一个连接对象,
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
既然知道http类型的直接强转就行。
conn.setConnectTimeout(5000); 设置一下,延迟等待,意思就是等这个网页5s打开不成功就抛例外,
conn.setRequestMethod("GET");设置请求方式,很好理解你到底是读 还是改。这种方式很特别,这个方法本身不返回内容,下了获得命令,还得用其他命令去拿,感觉和让别人快递东西一样,给你发过来然后你还得去拿,不知道会不会和快递一样,超时不拿就把东西给反回去了,或者自己的东西被别人冒领了之类的。
conn.getResponseCode() == 200 判断一下刚才的操作是否成功了,等于200就是成功了。
然后读到的是一个输入流。到这里就好办了,把输入流的东西读出来存成字节数组里面。
InputStream instream = conn.getInputStream();
什么你不会读?
这个方法经常用,我都做成一个工具方法了。 这么经常用的方法不知道,库类本身有没有提供。
ByteArrayOutputStream outS = new ByteArrayOutputStream(); 这算是一个缓存区域把,把每次读到的数据放这里面,然后读完了一下在返回出去。感觉这东西还是必要的。
byte[] buffer = new byte[1024]; 这也是一个缓存区域....。
下面我就直接拷贝代码算了。
int len = 0; 这个是 输入流read方法的返回值,具体什么意思我不清楚,返回-1就代表输入流的数据读完了。应该返回的是剩余数据长度,或者读到数据返回1,或者....反正-1就肯定里面没数据了。
while((len = instream.read(buffer)) != -1){ 用流的read方法读数据,把存放的容器放进去,
outS.write(buffer, 0, len);然后把读到的数据全部存到二级缓存。
}
instream.close();
return outS.toByteArray(); 把里面的数据概念成字节数组返回出去。
这样就OK了。
我没学过JAVAEE,所以WEB也是 临时建的,但是注意要访问本地的地址不能用,local:8080作为访问地址,这个想想也应该知道,因为程序要在安卓手机上跑的,虽然虚拟机装在你电脑上,但是你如果填local 他会去运行的手机去找8080这个端口,所以要填本机的IP。
至于建立WEB也很简单,因为我只是往里面放一张图片。
至于WEB项目直接找到Dynamic Web project 然后创建就行了然后把你的图片丢到WebContent目录下面就可以了,其他工具创建的项目可能不一样,就是项目根目录下的一个文件夹。
项目想让别人访问,或者自己访问,意思就提供服务 这时候就需要部署到Server上了,我用的是Tomcat 7.0,也用通过这个集成开放工具把 这个算是“服务器”的东西简单架起来,然后把项目部署上去就能访问了。
想学android 但工作没多少时间学,【共勉】Android学习日志。新年刚过离开学还有时间,加油!...相关推荐
- android 8.1没声音,RingtonePreference无法在Android 8.1上添加新的铃声
在xml文件中,我有以下代码.我可以通过点击ringtonepref屏幕中的广告铃声按钮来选择mp3声音,但是当我这样做时,我会看到以下异常.这曾经工作过,但更新到Android 8后它无法正常工作. ...
- mysql查询当前时间和用户_MySQL学习笔记(3) - 查询服务器版本,当前时间,当前用户...
IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive) 首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔 ...
- 一篇文章看明白 Android PackageManagerService 工作流程
Android - PackageMangerService 分析 相关系列 一篇文章看明白 Android 系统启动时都干了什么 一篇文章了解相见恨晚的 Android Binder 进程间通讯机制 ...
- python自学书籍推荐豆瓣-想学python,请问有没好的书籍推荐?
很多人在问,学习Python读什么书,这其实是一个非常通用的问题,学习分为三种方式:看书.上课.培训,而读书学习是最实惠也是最高效的一种,下面我们推荐6本高分书籍给大家,希望大家学习愉快: 1.Pyt ...
- 明知工作没前途,想辞职却又不知道做什么?
前两天,收到了一个30多岁读者的私信留言.他的工作是辅警,合同工,觉得工作没前途,想辞职. 我跟他聊了很久,打消了他辞职的想法. 并不是说他不应该辞职,而是他不应该急着辞职. 当工作没前途看不到希望时 ...
- 计算机想转行金融 但是完全没经验,FRM证书如何帮助没有工作经验的人转行金融?...
自Sherry大学毕业,已经过去多年.当年他是在某985名校学习计算机专业,出来后便在电子行业工作8年,后来又转到银行,一晃三年飞逝. 就在去年5月和11月,Sherry报名FRM网课,接连参加了金融 ...
- 学计算机每天都没时间,大学里“苦不堪言”的5大专业,忙到没有时间谈恋爱,学生累成狗...
五月已经悄悄地过去了一半,高中生们也即将迎来改变命运的高考. 在高中时代,无论是家长还是老师,都会以过来人的身份告诉高中生们:熬过这三年,上了大学就轻松了.很多高中生对此深信不疑,而且对大学的生活无比 ...
- 学习python需要什么基础-要学Python编程,需要什么样的基础呢?想找这方面工作...
原标题:要学Python编程,需要什么样的基础呢?想找这方面工作 作为一个初学Python的新手,如何学好这门语言,肯定经常是一头雾水. 那么,学好这门编程语言的基础是什么呢? 第一步,就是马上到网站 ...
- 学python要什么基础-要学Python编程,需要什么样的基础呢?想找这方面工作
原标题:要学Python编程,需要什么样的基础呢?想找这方面工作 作为一个初学Python的新手,如何学好这门语言,肯定经常是一头雾水. 那么,学好这门编程语言的基础是什么呢? 第一步,就是马上到网站 ...
最新文章
- 最高 10 万奖金!2021 新网银行智能语音大赛来了!
- 企业网络推广期间关于网站分享功能设计有哪些细节需要加以重视?
- rust怎么传送坐标_德国人怎么学电机——浅谈电机模型(十一):异步电机:绕线转子电机(一)...
- 直流电源端口雷击或瞬态浪涌防护设计方案图详解
- NFS搭建openfoam
- 23-初识正则表达式
- Matlab计算机视觉/图像处理工具箱(待续)
- Altium Designer20原理图库放置引脚报错解决方案
- Android P 适配指南
- 1799元!OPPO A9悄然上架:4月30日正式开售
- Spring : Spring Aop JDK和CGLIB动态代理调用过程
- 反射--获取构造器,获取父类,获取带泛型的父类,获取实现的接口,获取所在的包,获取注解
- 5.1、按键SW1控制LED1亮灭
- java贪吃蛇总结报告_java贪吃蛇开发总结
- 二叉平衡树的旋转操作
- 机器学习与数据挖掘 编程实现k均值算法
- 阿里云配置免费ssl证书,apache配置
- rust相框加载图片代码_vue图片加载与显示默认图片实例代码
- 我室友拿到了美团50万年薪,太牛逼了
- 虚拟linux jdk,虚拟机下Linux安装jdk