Intent.createChooser文件选择

实现点击Button选择文件, 在TextView上显示Uri

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context="com.example.filetest.MainActivity" >
10 
11     <TextView
12         android:id="@+id/textView_uri"
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:text="@string/hello_world" />
16     <Button
17         android:id="@+id/btn_find"
18         android:layout_width="match_parent"
19         android:layout_height="wrap_content"
20         android:layout_below="@+id/textView_uri"
21         android:text="find"/>
22 
23 </RelativeLayout>
 1 package com.example.filetest;
 2 
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.net.Uri;
 6 import android.os.Bundle;
 7 import android.view.Menu;
 8 import android.view.MenuItem;
 9 import android.view.View;
10 import android.view.View.OnClickListener;
11 import android.widget.Button;
12 import android.widget.TextView;
13 
14 
15 public class MainActivity extends Activity {
16 
17     protected static final int FILE_SELECT_CODE = 0;
18     private Button button;
19     private TextView textView;
20     
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.activity_main);
25         
26         button = (Button)findViewById(R.id.btn_find);
27         textView = (TextView)findViewById(R.id.textView_uri);
28         
29         button.setOnClickListener(new OnClickListener() {
30             @Override
31             public void onClick(View v) {
32                 // TODO Auto-generated method stub
33                 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
34                 intent.setType("*/*");  // 选择文件类型
35                 intent.addCategory(Intent.CATEGORY_OPENABLE);
36                 startActivityForResult( Intent.createChooser(intent, "Select a File to Upload"), FILE_SELECT_CODE);
37             }
38         });
39     }
40 
41     @Override
42     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
43         // TODO Auto-generated method stub
44         switch(requestCode){
45             case FILE_SELECT_CODE:
46                 if(resultCode == RESULT_OK){
47                     Uri uri = data.getData();
48                     String path = uri.getPath();
49                     textView.setText(path);
50                 }
51                 break;
52         }
53         super.onActivityResult(requestCode, resultCode, data);
54     }
55 }

截图

选择文件之后

 

转载于:https://www.cnblogs.com/iMirror/p/4030827.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git 历险记

Git历险记&#xff08;一&#xff09; 作为分布式版本控制系统的重要代表——Git已经为越来越多的人所认识&#xff0c;它相对于我们熟悉的CVS、SVN甚至同时分布式控制系统的Mercurial&#xff0c;有哪些优势和不足呢。这次InfoQ中文站有幸邀请到《Git Community Book》的译者刘…

怎样用c语言定义高幂整数,位操作运算的奇技淫巧!(附源码)

位运算百度百科如下:程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作位操作的优势位运算是一种底层的运算&#xff0c;往往比我们普通的运算要快上许多许多位运算是最高效而且占用内存最少的算法操作&#xff0c;执行效…

android系统耗电量大待机,安卓手机耗电快有什么解决办法吗 安卓手机待机耗电量大怎么办...

虽然手机发展速度越来越快&#xff0c;技术也越来越高了&#xff0c;电池容量相对之前的900毫安1000毫安&#xff0c;都上升到了2000毫安到5000毫安&#xff0c;但是感觉待机的时间和正常的使用时间&#xff0c;却没有之前那么长了&#xff0c;难道手机电池容量是假的&#xff…

js 中null,undefined区别

首先摘自阮一峰先生的文章&#xff1a; 大多数计算机语言&#xff0c;有且仅有一个表示"无"的值&#xff0c;比如&#xff0c;C语言的NULL&#xff0c;Java语言的null&#xff0c;Python语言的None&#xff0c;Ruby语言的nil。 有点奇怪的是&#xff0c;JavaScript语…

六款值得推荐的Android开源框架简介

六款值得推荐的Android开源框架简介 技术不再多&#xff0c;知道一些常用的、不错的就够了。下面就是最近整理的“性价比”比较高的Android开源框架&#xff0c;应该是相对实用的。 1、volley 项目地址 https://github.com/smanikandan14/Volley-demo JSON&#xff0c;图像等的…

数据库杂谈(一)——数据库基本概念

文章目录1 数据库基本概念1.1数据库和数据库管理系统1.2 数据库系统和文件系统1.3 数据模型1.4 数据库三级模式和两级独立性1.4.1 三级模式1.4.2 二级映像功能1.4.3 数据独立性1.5 数据库发展历史及分类1.6 数据库系统的组成和生命周期1.6.1 三个概念1.6.2 生命周期1.6.3 存储管…

【转】Java删除文件夹和文件

原文网址&#xff1a;http://kxjhlele.iteye.com/blog/323657 以前在javaeye看到过关于Java操作文件的一篇文章&#xff0c;写的很好&#xff0c;但找了半天也没找到&#xff0c;就把找到底几篇文章整理一下&#xff0c;做个总结&#xff0c;算是一个学习备份…… 1&#xff0c…

数据库杂谈(二)——数据模型

2 数据模型 摘要&#xff1a;数据模型&#xff08;Data Model&#xff09;是数据特征的抽象&#xff0c;它从抽象层次上描述了系统的静态特征、动态行为和约束条件&#xff0c;为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有三部分&#xff0c;分别是…

android编译系统apk文件,VS2012中MonoForAndroid打包编译APK文件详细图文教程

本文用于介绍Visual Studio 2012中Xamarin Mono For Android 如何打包编译APK文件&#xff0c;从如何创建Android项目&#xff0c;到如何启动调试&#xff0c;都会逐个配图讲解。1 新建项目2 选择安卓3 选择安卓程序4 随便取名和设置存放路径5 确定1 创建完一个新的项目2 点击“…

判断程序是否已经运行

近段时间&#xff0c;需要写一个小功能&#xff0c;就是需要判断程序是否已经运行。某个程序安装后&#xff0c;也许被多个用户运行。那怎样判断当前用户已经运行了此程序了呢&#xff1f;下面是Insus.NET的做法&#xff0c;就是&#xff1a;《VB.NET WinForm获取运行程序用户名…

浅谈缓存技术在ASP.NET中的运用

本篇文章虽不谈架构&#xff0c;但是Cache又是架构中不可或缺的部分&#xff0c;因此&#xff0c;在讲解Cache的同时&#xff0c;将会提及到部分架构知识&#xff0c;关于架构部分&#xff0c;读者可以不用理解&#xff0c;或者直接跳过&#xff0c; 你只需关心Cache即可&#…

Git快速入门+复习笔记

对于学习编程的同志来说&#xff0c;学习Git是必不可少的一项技术&#xff0c;如果你是第一次观看我的文章&#xff0c;欢迎关注我的频道&#xff0c;我会分享更多有趣的知识。 文章目录1 目标2 概述2.1 开发中的实际场景2.2 版本控制器的方式2.3 工作流程图3 Git安装和常用命令…

Android浏览器速度测试,Android平台浏览器网页加载速度对比评测

参与测试的浏览器手机上网已经渐渐成为人们的一种习惯&#xff0c;无论在等公交时、乘地铁时、吃饭等餐时&#xff0c;很多朋友都习惯掏出手机简单浏览一下微博、人人、新闻网站等页面。移动网络的确为我们带来了莫大的便利&#xff0c;但网速和稳定性却是移动网络的硬伤。针对…

操作系统随笔(一)

你好朋友&#xff0c;当你点进来这份读书笔记时&#xff0c;我相信你不是无意中点进来就是对这一部分饶有兴趣&#xff0c;可惜的是&#xff0c;我也只是个普通的大学生&#xff0c;有时候对知识的见解获取没有屏幕前的你那么有天赋&#xff0c;所以在阅读完这篇文章的同时点个…

codeforces 483B Friends and Presents 解题报告

题目链接&#xff1a;http://codeforces.com/problemset/problem/483/B 题目意思&#xff1a;有两个 friends&#xff0c;需要将 cnt1 个不能整除 x 的数分给第一个friend&#xff0c;cnt2 个不能整除 y 的数分给第二个friend。x 和 y 都是素数来的。要求求出最小的 v&#xff…

并行计算随笔(一)

如果觉得本篇文章对你有所启发&#xff0c;请给我点个赞好吗&#xff0c;这对我很重要&#xff0c;谢谢 文章目录1 并行计算基础1.1 什么是并行计算1.1.1 对计算速度的需求1.1.2 并行计算1.1.3 并行计算的基本条件1.1.4 平行计算和分布式计算1.2 为什么需要并行计算1.3 并行计算…

命令行的形式运行php

转自&#xff1a;http://www.cnblogs.com/myjavawork/articles/1869205.html 注意&#xff1a;在安装php时需要将php 的安装目录加到环境变量 PATH 中 (右击我的电脑->属性->高级->环境变量, 如果存在 PATH 则在原来的 PATH 中加入你的PHP安装目录, 如果不存在则新建一…

idea android 模块,IntelliJ IDEA 12 - 新的Android应用程序模块向导失败,“无法找到模块的资源目录”...

我面临的问题是一个非常简单的问题... 我无法使用IntelliJ IDEA 12来帮助我创建一个Android应用程序模块(项目)。IntelliJ IDEA 12 - 新的Android应用程序模块向导失败&#xff0c;“无法找到模块的资源目录”成功安装的IntelliJ IDEA 12和使IDE和二者的SDK(Java和Android设备)…

JQuery常用知识点汇总

2019独角兽企业重金招聘Python工程师标准>>> 0、JQuery的基本属性标识&#xff1a; $(".xxx")&#xff1a;标签的class属性&#xff1b; $("#xxx")&#xff1a;标签的id属性&#xff1b; $("xxx")&#xff1a; 标签名&#…

数据库杂谈(三)——关系代数

3 形式化关系查询语言 摘要&#xff1a;关系代数是一种抽象的查询语言&#xff0c;用对关系的运算来表达查询&#xff0c;作为研究关系数据语言的数学工具。在本文中&#xff0c;我们不仅谈论关系代数的知识点&#xff0c;而且还配备了对应的练习题。 文章目录3 形式化关系查询…