Android进阶知识点(隐式Intent,Assets,样式和主题)
来源:互联网 发布:淘宝页头尺寸 编辑:程序博客网 时间:2024/05/29 13:10
隐式Intent
在隐式Intent中,我们只需要描述要完成的任务,操作系统就会找到合适的应用,并在其中启动相应的Activity。可以使用隐式Intent来利用其它应用完成常见任务,例如打开手机通讯录发短信。使用隐式Intent我们只需要告诉操作系统我们想要做什么,操作系统就回去启动能够胜任工作的任务的Activity。
隐式Intent的组成:(1)要执行的操作:通常以Intent中的常量来表示。例如,要访问查看URL,可以使用Intent.ACTION_VIEW。
(2)要访问数据的位置(URL,URI,ContentProvider中某条记录的某个内容content URI)。
(3)操作涉及的类型
(4)可选类别,DEFAULT类别必须在intent过滤器中明确地设置。
可以使用include在一个布局中引入另外的布局,引入视图时会带入它在原始布局文件中的所有属性。
Context类提供了基本的文件和目录处理方法,既可以对内部也可对外部存储进行处理。
外部存储:主外部存储设备和其他各类存储介质。
读写外部存储要获得权限。
Android自动启动activity的拍照。
mPhotoButton=(ImageButton)v.findViewById(R.id.crime_camera);
final Intent captureImage=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
boolean canTakePhoto =mPhotoFile!=null && captureImage.resolveActivity(packageManager)!=null;
mPhotoButton.setEnabled(canTakePhoto);
if(canTakePhoto){
Uri uri=Uri.fromFile(mPhotoFile);
captureImage.putExtra(MediaStore.EXTRA_OUTPUT,uri);
}
mPhotoButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startActivityForResult(captureImage,REQUEST_PHOTO);
}
});
加载照片到大小合适的Bitmap对象中。要从文件中生成Bitmapd对象,我们需要BitmapFactory类:Bitmap bitmap=BitmapFactory.decodeFile(mPhotoFile.getPath());
Bitmap是个简单对象,它只存储实际像素数据。
Assets 一种资源打包方式,可以被看做是随应用打包的微型文件系统,支持任意层次的文件目录结构。
resouurces资源可以存储声音文件,但存储较多时(声音文件),Android资源系统一个个去处理,效率会很低。assets目录中的所有文件都会随应用打包。assets导入后,我们还要在应用中进行定位、管理记录以及播放。访问assets需要用到AssetsManager类(管理的都是同一套assets资源),可以从Context中获取它。要获取assets中的资源清单,可以使用list(string)(能够列出指定目录中所有文件名)方法。
Android有两大资源系统:resources和assets。resources资源系统设计有良好的检索系机制,但它无法应付图形和声音这样的大文件。这些大资源实际是保存在assets系统里的。在后台Android就是使用openNonAsset方法来打开这些资源(永远不会用到)。
如何播放.wav音频文件,SoundPool能加载一批声音资源到内存中,并支持同时播放多个音频文件。SoundPool.load(AssetsFileDescriptor,int)加载带播放的文件;SoundPool.play(int,float,float,int,int,float)方法播放音频;SoundPool.release()方法释放音频。
在Java的世界里,要保存对象,要么将其保存在Bundle中,要么实现Serializable接口或者Parcelable接口。可保存:不可保存性有向外传递的倾向,如果一个对象重度依赖另一个不可保存的对象,那么这个对象也可能无法保存。
fragment中retainInstance()方法可以确保实例一直存在。Fragment进入保留状态必须满足两个条件:(1)已调用了fragment的setRetainInstance(ture)方法;(2)因设备配置改变,托管activity正在被销毁。使用这种机制会使程序变得复杂,无法确保数据不会丢失(操作系统回收内存时)。
使用样式和主题,可以定制出用户界面风格。颜色资源:res/values下color.xml中定义。
样式:res/values/style.xml中定义,能够用于视图组件的属性,直接style来引用。样式继承,一个样式能继承并覆盖其他样式的属性。
主题:实际就是一种样式,主题可用于整个应用。
XML drawable 在Android的世界里,凡是绘制在屏幕上的东西都可以叫做drawable,比如抽象图形,Drawable类的子类,位图图像等。XML drawable和屏幕像素密度无关。
- Android进阶知识点(隐式Intent,Assets,样式和主题)
- android 样式和主题
- android样式和主题
- android样式和主题
- Android样式和主题
- Android 样式和主题
- android 样式和主题
- android样式和主题
- android样式和主题
- android主题和样式
- android 主题和样式
- Android主题和样式
- android样式和主题
- Android:样式和主题
- Android 主题和样式
- Android样式和主题
- Android主题和样式
- [Android]主题和样式
- hdu 2188(巴什博弈)
- 图像处理算法之图像暗角特效
- 链表实现的散列表(Java版)
- LeetCode-Easy部分标签为HashTable 447. Number of Boomerangs
- Android与JS交互
- Android进阶知识点(隐式Intent,Assets,样式和主题)
- Android6.0的动态权限的简单使用
- Http和Https的区别
- 红牌
- ElasticSearch文档简介
- K叉哈夫曼树
- 蓝桥 快速排序
- Mysql解压版安装注意事项
- Java中使用Calendar类来解决日期的算法题