導航:首頁 > 操作系統 > 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