原文地址:
http://blog.csdn.net/nbalichaoq
android中调用系统图库本来是一个很基本的东西,几乎每个app都用的到(最基本的更换用户头像),网上的相关
容很多,本来找了几篇看了一下,拿几台测试机试了一下感觉就没什么问题了,但是适配问题慢慢就来了。
一.打开图库的基本方法。
通过查询资料,调用系统图库基本有3种方法。
1.使用
Intent.ACTION_PICK
Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media. EXTERNAL_CONTENT_URI); //调用android的图库
//i.setType("image/*");//不可设置type,否则noactivityfound
startActivityForResult(Intent. createChooser(i,null) , 2) ;
这个intent在android6.0以下是可以用的,但是到了6.0就无效了,具体打印log忘记了,官方文档也只用了这
Intent来获取留联系人,所以pass掉。
2.使用Intent.ACTION_GET_CONTENT
Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT) ; //"android.intent.action.GET_CONTENT"
innerIntent.setType( "image/*"); //查看类型 String IMAGE_UNSPECIFIED = "image/*";
innerIntent.addCategory(Intent. CATEGORY_OPENABLE );
startActivityForResult(Intent. createChooser(innerIntent, null) , 2) ;
并且有个bool型的extra
EXTRA_ALLOW_MULTIPLE
来支持多选功能(4.3及以上版本支持)。
官方文档上说,这个intent是用来“检索一个特定类型的文件”并且回返回检索到的文件的一个引用(文件的copy)
这个貌似是可以用的,而且也是大多数人选择。
3.使用Intent.ACTION_OPEN_DOCUMENT
Intent intent =
android中调用系统图库本来是一个很基本的东西,几乎每个app都用的到(最基本的更换用户头像),网上的相关内容很多,本来找了几篇看了一下,拿几台测试机试了一下感觉就没什么问题了,但是适配问题慢慢就来了。一.打开图库的基本方法。通过查询资料,调用系统图库基本有3种方法。1.使用Intent.ACTION_PICKIntent i = new Intent(Intent.ACTION_
大家好,今天我们继续来学习
Android
8.0
系统
的
适配
。
之前我们已经讲到了,
Android
8.0
系统
最主要需要进行
适配
的地方有两处:应用图标和通知栏。在上一篇文章当中,我们学习了
Android
8.0
系统
应用图标的
适配
,还没有看过这篇文章的朋友可以先去阅读
Android
应用图标微技巧,8.0
系统
中应用图标的
适配
。
那么本篇文章,我们自然要将重点放在通知栏上面了,学习一下
Android
8.0
系统
的通知栏
适配
。
其实在8.0
系统
之前,还有一次通知栏变动比较大的版本,就是5.0
系统
。关于5.0
系统
需要对通知栏进行
适配
的内容,我也整理了一篇文章,感兴趣的朋友可以去阅读
Android
通知
android
:调用原生的activity(即:ACTION_GET_CO
NT
E
NT
)进行文件选择,实现多个文件一起选择
前几天做一个东西,需要从手机选择文件。我选择最简单的调用
android
自带的选择文件activity进行操作,这里做一下总结。
这里简单把实现的过程分为三个步骤:
打开
选择文件activity
拿到选到文件的uri资源
将uri转换为对应的path,在path转化为
File
,就拿到对应的文件了
首先是
打开
选择文件的activity,使用
Inte
nt
显示调用,下面为对应的代码:
// 创建一个内容获取动作的意图(准备跳到
系统
相册)
Inte
nt
album
Inte
nt
= new
Inte
nt
(
Inte
nt
.ACTION_GET_CO
NT
E
NT
);
album
Inte
nt
.put
Extra
(
Inte
nt
.
EXTRA
_
ALLOW
_
MULTIPLE
, true); // 是否允许多选...
转载请注明出处:codog_main的博客
有时我们想选择文件,但是又懒得自己去写一个文件浏览器,使用安卓原生的文件选择器或引入第三方库无疑是最佳选择,因为写自己不喜欢的东西真的非常痛苦。
安卓开启
系统
原生文件浏览器的教程网上已经烂大街了,但是很少有文章提及如何进行多选文件。我们在开启原生的文件浏览器时,默认是单选的,即点击文件立即返回uri,想实现多选只需要加入语句:
inte
...
Inte
nt
用于通过描述您想在某个
Inte
nt
对象中执行的简单操作(如“查看地图”或“拍摄照片”)来启动另一应用中的某个
Activity。 这种
Inte
nt
称作隐式
Inte
nt
,因为它并不指定要启动的应用组件,而是指定一项操作并提供执行该操作所需的一些数据.
本文介绍几种可用于执行常见操作的隐式
Inte
nt
,按处理
Inte
nt
的应用类型分成不同部分
Service是应用程序Application的一个组件(compone
nt
)。
它的作用有两点:1.用来提供一个长期在后台运行并且不与用户交互的操作,2.也可以为其他应用程序提供服务。
Service必须和其他四大组件一样,使用标签在
Android
Manifest.xml中
随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的错误:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgume
nt
Exception: method ID not in [0, 0xffff]: 65536
at com.a
在安卓中,有许多关于如何使用RecyclerView实现“drag & drop”与swipe-to-dismiss”的教程,库和例子。即使现在已经有了新的,更优的实现方式,大多数仍然是使用老旧的View.OnDragListener以及Roman
Nurik在SwipeToDismiss中所使用的方法。很少有人使用新的api,反而要么经常依赖于GestureDetectors和on
Inte
r