Android开发实现文件关联方法介绍

Android开发实现文件关联方法,做一个项目的时候,需要点击文件打开我们自己的app。首先讲一下点击普通文件打开app的方法,只需要三行代码,在app启动活动里加一个过滤器。

      <intent-filter>
        <category android:name="android.intent.category.LAUNCHER">
      </category></action></intent-filter>
      <intent-filter>
        <category android:name="android.intent.category.DEFAULT">
        <data android:mimetype="*/*">
      </data></category></action></intent-filter>
</activity>

*/*即所有文件的意思,但是很多时候我们并不是需要所有的文件,这个时候就要学习一样mineType了。

一、mineType

mineType媒体类型,一般是[type]/[subtype]格式。

1.type

Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;
Multipart:用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据;
Application:用于传输应用程序数据或者二进制数据;
Message:用于包装一个E-mail消息;
Image:用于传输静态图片数据;
Audio:用于传输音频或者音声数据;
Video:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。

2.subtype主要用法

text/plain(纯文本)
text/html(HTML文档)
application/xhtml+xml(XHTML文档)
image/gif(GIF图像)
image/jpeg(JPEG图像)
image/png(PNG图像)
video/mpeg(MPEG动画)
application/octet-stream(任意的二进制数据)
application/pdf(PDF文档)
application/msword(Microsoft Word文件)
multipart/alternative(HTML邮件的HTML形式和纯文本形式,相同内容使用不同形式表示)
application/x-www-form-urlencoded(使用HTTP的POST方法提交的表单)
multipart/form-data(同上,但主要用于表单提交时伴随文件上传的场合)

3.例子

text/xml

4.笔记

一些基本的文件已经能够关联,但是有一些自定义的文件无法关联,如.pac文件。这个时候需要学习一下第二部分自定义文件关联。

二、data标签

<data android:host="string" android:mimetype="string" android:path="string" android:pathpattern="string" android:pathprefix="string" android:port="string" android:scheme="string"></data>

1.scheme

这个属性用于设定URI的scheme部分。它是给指定URI设置的最基本的属性,至少要给过滤器设置一个scheme属性,否则,其他的URI属性就没有意义了。scheme属性值没有”:”符号结尾(如,file,而不是file: )

2.host

URI授权的主机部分。

3.port

定义URI授权的端口部分。

host和port的使用都依赖于scheme。

4.mintype

前面已讲过。

5.path

path指定一个完整的路径。

6.PathPrefix

PathPrefix属性只指定了部分路径,它会跟Intent对象中的路径初始部分匹配。

7.pathPattern

重点来了,pathPattern属性指定一个要跟Intent对象中的路径进行匹配的完整路径,但是这个路径中可以包含下列通配符:

7.1. 星号(*)通配符,路径中的*星号代表任意多个星号之前的那个字符,如a*,可跟a、aa、aaa、aaaa、...字符串匹配。

7.2. 点跟星号的组合(.*)通配符,它可以跟任意字符串进行匹配,如.*pac,可以跟abpac、cpac、pac、dssf.pac、…等字符串匹配。

三、例子

本人需要点击的文件是一个这样的文件:

1.文件路径:/storage/emulated/0/Android/data/包名/files/files/Omega4040_00.00.4002_Nor.pac
2.文件名:Omega4040_00.00.4002_Nor.pac
3.代码:

  <intent-filter>
    <category android:name="android.intent.category.LAUNCHER">
  </category></action></intent-filter>
  <intent-filter>
    <category android:name="android.intent.category.DEFAULT">
    <category android:name="android.intent.category.BROWSABLE">
    <data android:scheme="file">
    <data android:mimetype="*/*">
    <data android:host="*">
    <data android:pathpattern=".*pac">
  </data></data></data></data></category></category></action></intent-filter>
</activity>

总结

以上就是本文关于Android开发实现文件关联方法介绍的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Android分包MultiDex策略详解等,有什么问题可以随时留言,小编会及时回复大家的。

(0)

相关推荐

  • android中实现OkHttp下载文件并带进度条

    OkHttp是比较火的网络框架,它支持同步与异步请求,支持缓存,可以拦截,更方便下载大文件与上传文件的操作.下面我们用OkHttp来下载文件并带进度条! 相关资料: 官网地址:http://square.github.io/okhttp/ github源码地址:https://github.com/square/okhttp 一.服务器端简单搭建 可以参考搭建本地Tomcat服务器及相关配置这篇文章. 新建项目OkHttpServer,在WebContent目录下新建downloadfile目录

  • Android Uri和文件路径互相转换的实例代码

    在项目中需要用到将Uri转换为绝对路径,在网上找到一个方法,做个笔记 网上有不少方法,但是有的对4.4后的版本无效,这里的方法可以在4.4之后的版本将Uri转换为绝对路径 public class GetPathFromUri { /** * 专为Android4.4设计的从Uri获取文件绝对路径 */ public static String getPath(final Context context, final Uri uri) { final boolean isKitKat = Bui

  • Android 将文件下载到指定目录的实现代码

    废话不多说了额,直接给大家贴代码了,具体代码如下所示: /** * 下载指定路径的文件,并写入到指定的位置 * * @param dirName * @param fileName * @param urlStr * @return 返回0表示下载成功,返回1表示下载出错 */ public int downloadFile(String dirName, String fileName, String urlStr) { OutputStream output = null; try { //

  • Android文件下载功能实现代码

    本文实例为大家分享了Android文件下载功能的具体代码,供大家参考,具体内容如下 1.普通单线程下载文件: 直接使用URLConnection.openStream()打开网络输入流,然后将流写入到文件中! public static void downLoad(String path,Context context)throws Exception { URL url = new URL(path); InputStream is = url.openStream(); //截取最后的文件名

  • android中用xml文件实现带边框背景效果的方法

    前言 在项目开发的过程中,有时我们会用到带边框的纯色背景图,类似效果如下: 一般的,我们会让设计给做个背景图,然后自己用.9处理一下,这样有些麻烦,我们可以简洁点实现,就是用xml文件. 下面给出一个范例: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" &g

  • Android中实现OkHttp上传文件到服务器并带进度

    在上一讲中 OkHttp下载文件并带进度条 中,我们知道怎样去下载文件了.那上传文件呢 一.编写服务器端 在上一讲服务器下新建UploadFileServlet,代码如下:然后重启服务器! @WebServlet("/UploadFileServlet") @MultipartConfig public class UploadFileServlet extends HttpServlet { private static final long serialVersionUID = 1

  • Android开发实现文件关联方法介绍

    Android开发实现文件关联方法,做一个项目的时候,需要点击文件打开我们自己的app.首先讲一下点击普通文件打开app的方法,只需要三行代码,在app启动活动里加一个过滤器. <intent-filter> <category android:name="android.intent.category.LAUNCHER"> </category></action></intent-filter> <intent-fil

  • Android使用vcard文件的方法简单实例

    本文实例讲述了Android使用vcard文件的方法.分享给大家供大家参考,具体如下: FileOutputStream os = null; try { os = VCardTest.this.openFileOutput("Android.vcf", MODE_PRIVATE); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } Output

  • Android开发之文件操作详解

    本文实例讲述了Android开发之文件操作.分享给大家供大家参考,具体如下: 目前,几乎所有的设备都会涉及到文件的操作,例如什么电脑,手机等设备.Android的文件操作和电脑是比较类似的,既可以存储在手机内置的存储器里也可以是sd卡.在这篇文章里主要介绍在手机内置存储器里的文件操作. 一. 开发流程 (1)界面的设计 (2)设计android的业务层 (3)单元测试 (4)设置android的控制器层 二. 开发步骤 (1)设计软件界面 <?xml version="1.0"

  • Android开发之音视频协议介绍

    目录 什么是视频文件 什么是264 了解音视频协议有啥用? 两大电信联盟 ITU-T ISO ITU-T 视频编码发展历程 H.26X系列(由ITU[国际电传视讯联盟]主导) 其他音视频协议 Google(VP8/VP9) Microsoft (VC-1) 国产自主标准: AVS/AVS+/AVS2 什么是视频文件 一般是指以某种格式封装了音视频数据的文件 常见的音频格式:mp3.wma.avi.rm.rmvb.flv.mpg.mov.mkv等. 常见的视频格式:rmvb.rm.wmv.avi.

  • Android开发之动画实现方法

    本文实例讲述了Android开发之动画实现方法.分享给大家供大家参考.具体分析如下: 动画分为三种: 逐帧动画.布局动画和控件动画 控件动画实现 通过重写Animation的 applyTransformation (float interpolatedTime, Transformation t)函数来实现自定义动画效果,另外一般也会实现 initialize (int width, int height, int parentWidth, int parentHeight)函数,这是一个回调

  • Android开发调用WebService的方法示例

    本文实例讲述了Android开发调用WebService的方法.分享给大家供大家参考,具体如下: WebService是一种基于SOAP协议的远程调用标准,通过webservice可以将不同操作系统平台.不同语言.不同技术整合到一块.在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService.PC版本的WEbservice客户端库非常丰富,例如Axis2,CXF等,但这些开发包对于Android系统过于庞大,也未必很容易移植到Andr

  • Android 开发隐藏标题栏的方法总结

    android 开发隐藏标题栏的方法总结 1. 推荐!(因为现在工程都默认的为AppTheme) 在value/styles.xml里面添加自定义属性 <resources xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTh

  • Android读取资源文件的方法

    Android读取资源文件的方法 1.放入到资源文件夹里面,也就是所创建android工程的res下面. 我们可以在里面建立文件夹,放置我们要读取的文件. 例如:res里面建立目录raw,将要读取的文件abc.bin放入到该文件夹下,此时通过 openRawResource()方法即可读取.代码为 InputStream is = getResources().openRawResource(R.raw.abc); 只要获取InputStream,一切就好办了! 注意:res下面的目录名字是有讲

  • Android开发实现文件存储功能

    本文实例为大家分享了Android开发实现文件存储的具体代码,供大家参考,具体内容如下 这个程序只有一个Activity, Activity中只有一个Edittext.实现的功能是在Activity销毁之前将EditText的内容存储到一个文件中,在Activity创建的时候,从该文件中读取内容并写道EditText中.代码如下,在onCreate加载数据,在onDestroy中保存数据. MainActivity.kt package com.example.filetest import a

  • android开发去除标题栏的方法

    1:新建一个项目运行起来,可以看到顶部一直有个标题栏看着不是很美观 2:有两种方法可以去除顶部标题栏 (1)将代码中AndroidManifest里android:theme="@style/Theme.MyApplication"改为android:theme="@style/Theme.AppCompat.NoActionBar"> <application android:allowBackup="true" android:i

随机推荐