• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > androidj基础:从网上下载图片,

androidj基础:从网上下载图片,

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了电脑基础从入门到精通,从零开始学电路基础,班组管理从基础到技巧,从零基础学英语,从零开始学电脑基础等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

androidj基础:从网上下载图片,


一、布局文件

设置界面,添加一个ImageView,和两个Button按钮,设置其属性及id

 <ImageView
       android:id="@+id/ImageView"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_centerInParent="true"
       android:background="#ffffff"

       />
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    >
   <Button
       android:id="@+id/bt1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:text="下载图片"
       />

   <Button
       android:id="@+id/bt2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:layout_toRightOf="@+id/bt1"

       android:text="读取图片"
       />

二、声明网络权限

因为使用网络功能需要添加权限,修改AndroidManifest.xml文件添加权限声明语句。

 <uses-permission android:name="android.permission.INTERNET"/>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.administrator.httpexe">
    <uses-permission android:name="android.permission.INTERNET"/>

</manifest>

三、编辑ManActivity.java文件。

import...//import语句自动生成,略
public
class MainActivity extends AppCompatActivity { ImageView imageView; Button button; Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.ImageView); button = (Button) findViewById(R.id.bt1); button1=(Button)findViewById(R.id.bt2); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { MyTask task = new MyTask();//创建异步任务对象 task.execute("https://www.baidu.com/img/bd_logo1.png");//创建下载任务 } }); button1.setOnClickListener(new View.OnClickListener() {//读取图片 @Override public void onClick(View v) { Bitmap bmp=null; try{ FileInputStream fis= openFileInput("a.png"); bmp=BitmapFactory.decodeStream(fis); if(bmp!=null) { imageView.setImageBitmap(bmp); } }catch (Exception ex) { } } }); } public class MyTask extends AsyncTask<String, Void, Bitmap> { //bmp位图,泛型 @Override protected Bitmap doInBackground(String... params) { //真正的下载 String urlStr = params[0]; //取第一个变参 Bitmap bmp = null; try { URL url = new URL(urlStr); bmp=BitmapFactory.decodeStream(url.openStream()); //位图工厂,返回bitmap InputStream is= url.openStream(); byte[] buffer=new byte[4096];//byte[]缓冲区 FileOutputStream fos= MainActivity.this.openFileOutput("a.png",MainActivity.MODE_PRIVATE); int hasRead=is.read(buffer); while (hasRead>0){ fos.write(buffer,0,hasRead);//文件大小,起始位置,读取的量 hasRead=is.read(buffer); } fos.close();//关闭 is.close();//关闭 } catch (Exception ex) { }finally { } return bmp; } @Override protected void onPostExecute(Bitmap bitmap) { if(bitmap!=null){ imageView.setImageBitmap(bitmap); } } }

 

 四、运行结果

点击下载按钮下载图片。读取图片按钮的作用:下载一次后,不需要重新下载。

小记:

java代码输入时有些会自动弹出,并匹配到相应包,直接贴会有报错。

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • androidj基础:从网上下载图片,

相关文章

  • 2017-05-26Android Studio导入第三方库(SlidingMenu)教程,androidslidingmenu
  • 2017-05-226.2 数据存储与访问之——SharedPreferences保存用户偏好参数
  • 2017-05-26android沉浸式状态栏、变色状态栏、透明状态栏、修改状态栏颜色及透明
  • 2017-07-23Android搜索结果显示高亮(有数据滑动底部自动刷新)
  • 2017-05-26zabbix监控tomcat出现"Connection refused to host: 127.0.0.1"的故障解决
  • 2017-05-26Android 手机卫士--设置界面&amp;功能列表界面跳转逻辑处理,android卫士--界面
  • 2017-05-26配置gradle.properties,gradle.properties
  • 2017-05-26利用bintray-release插件上传到Bintray- HTTP/1.1 404 Not Found [message:Repo &#39;maven&#39; was not found]问题解决,bintrayrelease
  • 2017-05-26React-Native系列Android——Touch事件原理及状态效果
  • 2017-05-26高并发低基数多字段任意组合查询的优化

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 硅谷新闻9--图片三级缓存,
    • 整理分享原生态mac AndroidStudio的快捷键,studio快速整理代码
    • 匿名社交1--登陆,匿名社交1--
    • Android自定义控件来袭(Scroller)
    • 安卓中Paint类和Canvas类的方法汇总,安卓中canvas
    • 几种执行shell的方法
    • Android基于监听的事件处理机制
    • MSM8909+Android5.1.1键盘驱动浅析
    • Linux大文件已删除,但df查看已使用的空间并未减少解决
    • Android之文件数据存储,android数据存储

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有