Android学习第十天
- 计算机表示图形的几种方式
a) Bmp:以高质量保存,用于计算机
b) Jpg:以良好的质量保存,用于计算机或网络
c) Png:以高质量保存
d) 图片大小的计算公式:
图片大小=图片总像素*每个像素大小
e)
单色:每个像素指标是两种颜色(黑或白),那么只需要使用长度为1的二进制位来表示,那么一个像素占1/8个byte
f)
16色:每个像素最多表示16种颜色,0000 - 1111,那么需要使用长度为4的二进制来表示,那么一个像素占1/2byte
g)
256色:每个像素最多表示256种颜色,00000000
– 11111111,那么只需要长度为8的二进制位来表示,一个像素占1个byte
24位:每个像素最多表示1600万多种颜色,一个像素占3个byte
r:占1个byte
g:占1个byte
b:占1个byte
h)
Android采用png格式,Android中采用ARGB,一个像素占4个byte
- 缩放加载,加载大图片 oom
a)
获取图片的分辨率
b)
获取手机的分辨率
c)
计算缩放比
d)
按照大的比值去缩放
- 创建原图的副本
//创建原图副本,创建了一张空白的纸
Bitmap copyBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), srcBitmap.getConfig());
//需要画笔,将原图内容画上
Paint paint = new Paint();
//需要画布,把白纸铺到画布上
Canvas canvas = new Canvas(copyBitmap);
//开始作画drawBitmap(参考原图,矩阵,画笔)
canvas.drawBitmap(srcBitmap, new Matrix(), paint);
- 使用mediaplayer播放音频文件
a)
MediaPlayer用于播放音频或视频
- MediaPlayer的生命周期
a)
同步和异步
b)
同步:一般播放本地音乐
c)
异步:播放网络音乐,不用开子线程
- Surfaceview介绍
a)
播放视频
b)
MediaPlayer只能播放mp4和3gp格式
- VideoView控件介绍
Android学习第十天的更多相关文章
- 十一、Android学习第十天——项目开始(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 十一.Android学习第十天——项目开始 Android知识点的学习告一 ...
- android 学习随笔十九(对话框、样式、主题、国际化 )
1.对话框 package com.itheima.dialog; import android.os.Bundle; import android.app.Activity; import andr ...
- android 学习随笔十八(广播与服务 )
1.广播接收者注册 清单文件注册(Android四大组件都要在清单文件中注册) 一旦应用部署,广播接收者就生效了,直到用户手动停止应用或者应用被删除 广播接收者可以使用代码注册 需要广播接收者运行时, ...
- android 学习随笔十六(广播 )
1.广播接收者 BroadcastReceiver 接收系统发出的广播 现实中的广播:电台为了传达一些消息,而发送的广播,通过广播携带要传达的消息,群众只要买一个收音机,就可以收到广播了 Andro ...
- android 学习随笔十五(Activity的生命周期与摧毁时返回数据 )
1.Activity的生命周期 onCreate:创建时调用 onStart:在屏幕上可见,但是还没有获得焦点 onResume:可见并且获得焦点 onPause:可见,但是失去焦点 onStop:不 ...
- android 学习随笔十四(页面跳转与数据传递)
1.activity 创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> ...
- android 学习随笔十二(网络:使用异步HttpClient框架)
使用异步HttpClient框架发送get.post请求 在https://github.com/ 搜索 asyn-http https://github.com/search?utf8=✓& ...
- android 学习随笔十(网络:get、post提交数据)
1.get public class Tools { public static String getTextFromStream(InputStream is){ byte[] b = new by ...
- android学习笔记十——TabHost
TabHost——标签页 ==> TabHost,可以在窗口放置多个标签页,每个标签页相当于获得了一个与外部容器相同大小的组件摆放区域. 通过此种方式可以实现在一个容器放置更多组件(EG:通话记 ...
随机推荐
- 【20190405】JavaScript-整理一些常用正则式
匹配中文字符: let reg=/([\u4E00-\u9FFF]+)/; //\u代表Unicode编码 匹配电话号码: let reg=/^1[34578]\d{9}$/; 给每三位数字添加一个逗 ...
- Dynamics 365创建用户提示:您正在尝试使用已由其他用户使用的域登录来创建用户。如何解决。
摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复287或者20181128可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me ...
- SAP MM MI01事务代码里的批次确定
SAP MM MI01事务代码里的批次确定 1 – 批次管理启用之后果 一个物料如果启用了批次管理,那么库存管理以及盘点等诸多事务里都需要在批次的层次上进行. 货物移动的时候,需要在界面上指定相关货物 ...
- ArrayAdapter、SimpleAdapter简单用法
1. 使用流程 2. ArrayAdapter new ArrayAdapter<?>(context, textViewResourceId, objects) context:上下 ...
- linux下执行QT可执行文件报错
老样子,不多BiBi,直接进入主题! 有时候在linux下编译好QT程序,用QTCreator运行没问题,打包移植到另一台机器上,用命令./XX执行就会报错:error while loading s ...
- angular应用容器化部署
angular 应用容器化部署 Intro 我自己有做一个个人主页,虽然效果不怎么样(不懂设计的典型程序猿...),但是记录了我对于前端框架及工具的一些实践, 从开始只有一个 angularjs 制作 ...
- Maven的基础了解与使用
目录 Maven的介绍: 什么是Maven: 为什么要学习maven? 安装与配置: 下载: 配置环境变量 测试安装结果: Maven概念: 坐标 仓库 入门示例 创建maven工程: 添加依赖 Ma ...
- SM4加密算法实现Java和C#相互加密解密
SM4加密算法实现Java和C#相互加密解密 近期由于项目需要使用SM4对数据进行加密,然后传给Java后台,Java后台使用的也是SM4的加密算法但是就是解密不正确,经过一步步调试发现Java中好多 ...
- win10系统的“USB选择性暂停设置”怎么打开
Win10系统自带的“USB选择性暂停设置”功能开启后会帮助我们节省电源,这一项功能对于笔记本来说用处很大.那么怎样才能打开这一功能呢?下面小编就来告诉大家打开“USB选择性暂停设置”功能的方法. 1 ...
- 力扣算法题—079单词搜索【DFS】
给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格.同一个单元格内的字母不允许被重复使用. ...