android 中的uri到底是什么

android 中的uri到底是什么,第1张

URI是统一资源标识符(Uniform Resource Identifier) 的意思,它的作用是根据这个URI找到某个资源文件,基本格式如: file:///sdcard/tempjpg(就是根据你提供的例子生成的一个路径

ContentProvider是程序间共享数据的,它也需要生成URI供别的程序调用,格式如:

content:///StudentDB/student/name,以后你在别的程序想访问另一个程序里的数据库,就可以用这个URI去访问了,而不用进行数据库连接的 *** 作,非常方便

URL显得很宏观,是网络资源定位的,而URI是应用程序内部或之间定位

从URI获得文件路径:

string myImageUrl = "content://media/external/images/media/";Uri uri = Uriparse(myImageUrl); String[] proj = { MediaStoreImagesMediaDATA }; Cursor actualimagecursor = thisctxmanagedQuery(uri,proj,null,null,null); int actual_image_column_index = actualimagecursorgetColumnIndexOrThrow(MediaStoreImagesMediaDATA); actualimagecursormoveToFirst(); String img_path = actualimagecursorgetString(actual_image_column_index);

File file = new File(img_path);Uri fileUri = UrifromFile(file);

xamarin怎样获取android外卡路径

一部分手机将eMMC存储挂载到 /mnt/external_sd 、/mnt/sdcard2 等节点,而将外置的SD卡挂载到 EnvironmentgetExternalStorageDirectory()这个结点。

此时,调用EnvironmentgetExternalStorageDirectory(),则返回外置的SD的路径。

android 怎样动态的获取sd卡路径

链接电脑USB调试情况下,在电脑上有新的磁盘显示,一个SD的,一个手机的,打开SD的就可以找各文件夹路径

Android怎样获取外部存储器路径

读写sdcard上的文件

其中读写步骤按如下进行:

1、调用Environment的getExternalStorageState()方法判断手机上是否插了sd卡,且应用程序具有读写SD卡的权限,如下代码将返回true

EnvironmentgetExternalStorageState()equals(EnvironmentMEDIA_MOUNTED)

2、调用EnvironmentgetExternalStorageDirectory()方法来获取外部存储器,也就是SD卡的目录,或者使用"/mnt/sdcard/"目录

3、使用IO流 *** 作SD卡上的文件

注意点:手机应该已插入SD卡,对于模拟器而言,可通过mksdcard命令来创建虚拟存储卡

必须在AndroidManifestxml上配置读写SD卡的权限

<uses-permission android:name="androidpermissionMOUNT_UNMOUNT_FILESYSTEMS"/>

<uses-permission android:name="androidpermissionWRITE_EXTERNAL_STORAGE"/>

我怎样才能获得外部SD卡路径为Android 40 +

1 我想你需要这个外部SD卡:

new File("/mnt/external_sd/")

new File("/mnt/extSdCard/")

你的情况

在更换EnvironmentgetExternalStorageDirectory()您的作品,应在MNT目录优先和工作在那里检查什么

你键入选择哪个SD卡

File storageDir = new File("/mnt/");

if(storageDirisDirectory()){

String[] dirList = storageDirlist();

TODO some type of selecton method

}

怎样获取class路径

import javaioFile;

public class FileTest {

public static void main(String[] args) throws Exception {

Systemoutprintln(ThreadcurrentThread()getContextClassLoader()

getResource(""));

Systemoutprintln(FileTestclassgetClassLoader()getResource(""));

Systemoutprintln(ClassLoadergetSystemResource(""));

Systemoutprintln(FileTestclassgetResource(""));

Systemoutprintln(FileTestclassgetResource("/"));

 Class文件所在路径

Systemoutprintln(new File("/")getAbsolutePath());

Systemoutprintln(SystemgetProperty("userdir"));

Systemoutprintln(SystemgetProperty("fileencoding"));

}

}

android 怎么获取相册路径

android手机42版本之前是一个方法,大于42版本又是一个方法。

注意:现在手机市场android版本2015面上半年平均44,现在是平均50了。

before

你百度一下,都能查到,很简单

after

private void startPickPhotoActivity() {

    Intent intent = new Intent(IntentACTION_OPEN_DOCUMENT);

    intentsetType("image/"); Or 'image/ jpeg '

    startActivityForResult(intent, RESULT_PICK_PHOTO_NORMAL);

    }

获得返回的路径

    @Override

    protected void onActivityResult(int requestCode, int resultCode,

        Intent data) {

    if (requestCode == RESULT_PICK_PHOTO_NORMAL) {

        if (resultCode == RESULT_OK && data != null) {

选中路径

mFileName = MainActivitygetPath(getApplicationContext(),

            datagetData());

        if (""equals(mFileName)) {

            return;

        }

        Intent intent = new Intent(this, EditActivityclass);

        intentputExtra("pathName", mFileName);

        startActivity(intent);

        }

    }

    }

    @TargetApi(BuildVERSION_CODESKITKAT)

    public static String getPath(final Context context, final Uri uri) {

    final boolean isKitKat = BuildVERSIONSDK_INT >= BuildVERSION_CODESKITKAT;

     DocumentProvider

    if (isKitKat && DocumentsContractisDocumentUri(context, uri)) {

        ExternalStorageProvider

        if (UriUtilsisExternalStorageDocument(uri)) {

        final String docId = DocumentsContractgetDocumentId(uri);

        final String[] split = docIdsplit(":");

        final String type = split[0];

        if ("primary"equalsIgnoreCase(type)) {

            return EnvironmentgetExternalStorageDirectory() + "/"

                + split[1];

        }

        }

        DownloadsProvider

        else if (UriUtilsisDownloadsDocument(uri)) {

        final String id = DocumentsContractgetDocumentId(uri);

        final Uri contentUri = ContentUriswithAppendedId(

            Uriparse("content:downloads/public_downloads"),

            LongvalueOf(id));

        return UriUtilsgetDataColumn(context, contentUri, null, null);

        }

        MediaProvider

        else if (UriUtilsisMediaDocument(uri)) {

        final String docId = DocumentsContractgetDocumentId(uri);

        final String[] split = docIdsplit(":");

        final String type = split[0];

        Uri contentUri = null;

        if ("image"equals(type)) {

            contentUri = MediaStoreImagesMediaEXTERNAL_CONTENT_URI;

        } else if ("video"equals(type)) {

            contentUri = MediaStoreVideoMediaEXTERNAL_CONTENT_URI;

        } else if ("audio"equals(type)) {

            contentUri = MediaStoreAudioMediaEXTERNAL_CONTENT_URI;

        }

        final String selection = MediaColumns_ID + "=";

        final String[] selectionArgs = new String[] { split[1] };

        return UriUtilsgetDataColumn(context, contentUri, selection,

            selectionArgs);

        }

    }

     MediaStore (and general)

    else if ("content"equalsIgnoreCase(urigetScheme())) {

        Return the remote address

        if (UriUtilsisGooglePhotosUri(uri))

        return urigetLastPathSegment();

        return UriUtilsgetDataColumn(context, uri, null, null);

    }

     File

    else if ("file"equalsIgnoreCase(urigetScheme())) {

        return urigetPath();

    }

    return null;

    }

如何获取android sdcard路径

EnvironmentgetExternalStorageDirectory()

android怎么获取U盘路径

用Re管理器进入/mnt/目录一个一个找

android怎么获取分区路径

我们可以在adb中使用df 来查看分区情况。

1、跨分区不能用 MV命令来拷贝。但是可以用CP命令。如PWD,当前目录为:/data/local/tmp 。

此目录下有个busybox和1txt文件。则利用CP命令拷贝如下:/busybox cp1txt /system

2、Android的用户组有 System, root, shell

3、怎么样才能 *** 作分区。

分区 *** 作是需要权限的。一般来说System分区的权限限制得比较严,Data分区限制比较严,用户可以 *** 作的目录有local,app目录。比如/data/local/tmp

data分区常用目录:app , system , data ,local,misc 其中system,local可以进入并使用ls等命令。data,app可以进入,但不能用ls命令。

data/data目录:存放的是所有APK程序数据的目录,每个APK对就一个自己的Data目录,就是在data/data/目录下,会产生一个跟Package一样的目录。如有一个APK,它的包名叫testhello则,在data/data/目录下会有一个testhello的目录,这个APK只能 *** 作此目录,不能 *** 作其它APK的目录这个在LINUX下叫做用户进程只能 *** 作自己的进程目录

data/app目录:用户安装的APK放在这里。我们如果把APK放入这个文件夹下面的话,就算安装好了。这就叫静默安装。不用管APK文件里面的lib目录下的库文件,系统会自动帮我们放入调用库的。

data/system目录下面有packagesxml ,packageslist,appwidgetsxml, 等等一些记录手机安装的软件,Widget等信息。

data/misc目录:保存WIFI帐号,***设置信息等。如保存了一个WIFI连接帐号,则此目录下的WIFI目录下面可以查看到。

system分区常用目录: app , lib, xbin, bin , media,framework

system/app目录:存放系统自带的APK。没有测试过是否将APK放入到System/app目录下,也是静默安装APK。?

system/lib目录:存放APK程序用到的库文件。

system/bin目录和system/xbin目录:存放的是shell命令。

system/framework目录:启用Android系统所用到框架,如一些jar文件。

4 Android下面的目录都是有权限的,要 *** 作目录都需要有此权限才能 *** 作,如果没有,则使用chomd777来修改如果是分区根目录,如/data分区, /system分区都没有权限,则需要重新挂载 使用 mount -oremount XX

Android调用系统拍照的代码:

创建Intent Intent openCameraIntent = new Intent(MediaStoreACTION_IMAGE_CAPTURE);

String imagePath = EnvironmentgetExternalStorageDirectory() + "/image" ;

设置文件路径 File file = new File(imagePath);

if(!fileexists()){

filemkdirs(); }

设置URI,指定相册拍照后保存的路径,Uri imageUri = UrifromFile(new File(imagePath, "imagejsp"));

openCameraIntentputExtra(MediaStoreEXTRA_OUTPUT, imageUri);

startActivityForResult(openCameraIntent, REQUEST_CODE_TAKING_PICTURES);

拍照完以后,文件就会保存在这个指定的目录下了。Uri 里指定了相机拍照的路径。

以上就是关于android 中的uri到底是什么全部的内容,包括:android 中的uri到底是什么、android中调用系统的图片浏览器后,返回了下面这样的uri----content://media/external/images/media/2、xamarin怎样获取android外卡路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9714086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存