导航:首页 > 操作系统 > android传递uri

android传递uri

发布时间:2022-05-28 09:02:50

‘壹’ android 中的uri到底是什么

URI是统一资源标识符(Uniform Resource Identifier) 的意思,它的作用是根据这个URI找到某个资源文件,基本格式如: file:///sdcard/temp.jpg(就是根据你提供的例子生成的一个路径)
ContentProvider是程序间共享数据的,它也需要生成URI供别的程序调用,格式如:

content:///StudentDB/student/name,以后你在别的程序想访问另一个程序里的数据库,就可以用这个URI去访问了,而不用进行数据库连接的操作,非常方便
URL显得很宏观,是网络资源定位的,而URI是应用程序内部或之间定位

‘贰’ android 两个Activity 之间传递URi 怎么实现啊

Activity A中:
Intent intent = new Intent(this, ActivityB.class);
intent.setData(YouUri);
startActivity(intent);

ActivityB中:
Uri uri = getIntent().getData();

OK?

‘叁’ 安卓如何向服务传递uri

Intent mIntent=new Intent(context, PushService.class);
mIntent.putExtra("KEY", your URL);
startService(mIntent);

onStartCommand里面接收 你的Intent

‘肆’ android中文件uri和url的区别

URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。而URN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java[email protected]。也就是说,URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。

‘伍’ android中uri由哪三部分组成,简述其意义

通用资源标志符(Universal Resource Identifier, 简称"URI")。
Uri代表要操作的数据,Android上可用的每种资源 - 图像、视频片段等都可以用Uri来表示。
URI一般由三部分组成:
在Android平台,URI主要分三个部分:scheme, authority and path。
其中authority又分为host和port。格式如下:scheme://host:port/path
举个实际的例子:
content://com.example.project:200/folder/subfolder/etc
\---------/ \------------------ -/ \--/ \----------------------/
scheme host port path
\---------------------------/
authority

我们很经常需要解析Uri,并从Uri中获取数据。

‘陆’ URI是什么,在Android中有什么作用

通用资源标志符(Universal Resource Identifier, 简称"URI")。
Uri代表要操作的数据,Android上可用的每种资源 - 图像、视频片段等都可以用Uri来表示。
URI一般由三部分组成:
在Android平台,URI主要分三个部分:scheme, authority and path。
其中authority又分为host和port。格式如下:scheme://host:port/path
举个实际的例子:
content://com.example.project:200/folder/subfolder/etc
\---------/ \------------------ -/ \--/ \----------------------/
scheme host port path
\---------------------------/
authority

我们很经常需要解析Uri,并从Uri中获取数据。
Android系统提供了两个用于操作Uri的工具类,分别为UriMatcher 和ContentUris 。
掌握它们的使用,会便于我们的Android开发工作。

‘柒’ android 7.0 调用相机FileProvider生成的URI,作为相机开发的接收者,怎么使用URI

android 7.0以上, 禁止使用Uri中包含一个文件的绝对路径, 必须要使用content方式传递文件路径

‘捌’ android 获取到了uri 怎么获取他的路径

首先你获取到路径的字符串,然后分割就行了。 String a = "/test/aaaa/bbb.txt"; String b = a.substring(a.lastIndexOf("/") + 1, a.length()); System.out.println(b); 这样之后,b字符串就是你所需要的。我的实现方法:用绝对路径和MediaStore里的MediaStore.Audio.Media.DATA列进行比较 如果相同 就取出对应的MediaStore.Audio.Media._ID,然后uri就是Uri.parse("content://media/external/audio/media/"+id),这样就可以设置铃声了

‘玖’ android如何通过path得到uri

最近做项目要通过图片的绝对路径找到图片的URI,然后删除图片,小小总结一下获取URI的方法,亲自试验在

android 4.1.3的系统上都是可用的。

1.将所有的图片路径取出,遍历比较找到需要的路径,取出URI,效率较低

其中 MediaStore.MediaColumns.DATA 字段存的就是图片的绝对路径,

最后mImageUri得到的就是图片的URI

1 Uri mUri = Uri.parse("content://media/external/images/media");

2 Uri mImageUri = null;

3 Cursor cursor = managedQuery(

4 MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,

5 MediaStore.Images.Media.DEFAULT_SORT_ORDER);

6 cursor.moveToFirst();

7

8 while (!cursor.isAfterLast()) {

9 String data = cursor.getString(cursor

10 .getColumnIndex(MediaStore.MediaColumns.DATA));

11 if (picPath.equals(data)) {

12 int ringtoneID = cursor.getInt(cursor

13 .getColumnIndex(MediaStore.MediaColumns._ID));

14 mImageUri = Uri.withAppendedPath(mUri, "" + ringtoneID);

15 break;

16 }

17 cursor.moveToNext();

18 }2.直接从媒体数据库根据字段取出相应的记录,效率较高

1 //TYLT: add by anyf 20121027 start

2 String type = Utils.ensureNotNull(intent.getType());

3 Log.d(TAG, "uri is " + uri);

4 if (uri.getScheme().equals("file") && (type.contains("image/")))
{

5 String path = uri.getEncodedPath();

6 Log.d(TAG, "path1 is " + path);

7 if (path != null) {

8 path = Uri.decode(path);

9 Log.d(TAG, "path2 is " + path);

10 ContentResolver cr = this.getContentResolver();

11 StringBuffer buff = new StringBuffer();

12 buff.append("(")

13 .append(Images.ImageColumns.DATA)

14 .append("=")

15 .append("'" + path + "'")

16 .append(")");

17 Cursor cur = cr.query(

18 Images.Media.EXTERNAL_CONTENT_URI,

19 new String[] { Images.ImageColumns._ID },

20 buff.toString(), null, null);

21 int index = 0;

22 for (cur.moveToFirst(); !cur.isAfterLast(); cur

23 .moveToNext()) {

24 index = cur.getColumnIndex(Images.ImageColumns._ID);

25 // set _id value

26 index = cur.getInt(index);

27 }

28 if (index == 0) {

29 //do nothing

30 } else {

31 Uri uri_temp = Uri

32 .parse("content://media/external/images/media/"

33 + index);

34 Log.d(TAG, "uri_temp is " + uri_temp);

35 if (uri_temp != null) {

36 uri = uri_temp;

37 }

38 }

39 }

40 }

41 //TYLT: add by anyf 20121027 end3.直接根据路径通过 ContentProvider 的 delete() 方法删除图片,两行代码搞定,效率最高

1 String params[] = new String[]{filepath};

2
ctx.getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
MediaStore.Images.Media.DATA + " LIKE ?", params);

‘拾’ Android 两个Activity之间怎样使用Uri传递图片,怎样获取图片的Uri,怎样通过Uri得到图片

Activity之间传递数据是通过Intent来传递的。

Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到网页浏览器的Activity来浏览网页。


Android的三个基本组件——Activity,Service和Broadcast Receiver——都是通过Intent机制激活的,不同类型的组件有不同的传递Intent方式:


  1. 要激活一个新的Activity,或者让一个现有的Activity做新的操作,可以通过调用Context.startActivity()或者Activity.startActivityForResult()方法。

  2. 要启动一个新的Service,或者向一个已有的Service传递新的指令,调用Context.startService()方法或者调用Context.bindService()方法将调用此方法的上下文对象与Service绑定。

  3. Context.sendBroadcast()、Context.sendOrderBroadcast()、Context.sendStickBroadcast()这三个方法可以发送Broadcast Intent。发送之后,所有已注册的并且拥有与之相匹配IntentFilter的BroadcastReceiver就会被激活。

  4. Intent一旦发出,Android都会准确找到相匹配的一个或多个Activity,Service或者BroadcastReceiver作响应。所以,不同类型的Intent消息不会出现重叠,即Broadcast的Intent消息只会发送给BroadcastReceiver,而决不会发送给Activity或者Service。由startActivity()传递的消息也只会发给Activity,由startService()传递的Intent只会发送给Service。

阅读全文

与android传递uri相关的资料

热点内容
自己购买云主服务器推荐 浏览:422
个人所得税java 浏览:761
多余的服务器滑道还有什么用 浏览:192
pdf劈开合并 浏览:28
不能修改的pdf 浏览:752
同城公众源码 浏览:489
一个服务器2个端口怎么映射 浏览:298
java字符串ascii码 浏览:79
台湾云服务器怎么租服务器 浏览:475
旅游手机网站源码 浏览:332
android关联表 浏览:946
安卓导航无声音怎么维修 浏览:333
app怎么装视频 浏览:431
安卓系统下的软件怎么移到桌面 浏览:96
windows拷贝到linux 浏览:772
mdr软件解压和别人不一样 浏览:904
单片机串行通信有什么好处 浏览:340
游戏开发程序员书籍 浏览:860
pdf中图片修改 浏览:288
汇编编译后 浏览:491