我将Xamarin.forms用于Android应用程序,并试图从CDCard获得文件列表。以下代码:
var dir = Android.OS.Environment.ExternalStorageDirectory();
返回本地路径,而不是cd卡的路径/存储/仿真/0
var file = await CrossFilePicker.Current.PickFile();
string pathFile = file.FilePath;
正如文档中所说的“Android:FilePath属性可能包含以content://
开头的内容URI”,您应该将URI转换为FilePath。
这里有一个使用FilePicker nuget的方法,您应该在PCL项目中使用DependencyService,调用android本地方法。
1.在PCL项目中创建接口:
public interface IGetFiles
{
List<string> GetFiles(string filetype);// you could set what type of file do you want
}
[assembly: Dependency(typeof(MainActivity))]//dont miss this line
namespace EntryCa.Droid
{
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity,IGetFiles
{
private static MainActivity Instance;
List<string> fileList = new List<string>();
protected override void OnCreate(Bundle savedInstanceState)
{
...
Instance = this;
...
}
public List<string> GetFiles(string filetype)
{
ActivityCompat.RequestPermissions(Instance, new string[] { Manifest.Permission.WriteExternalStorage }, 1);
var path2 = Android.OS.Environment.ExternalStorageDirectory;
return Search_Dir(path2, filetype); ;
}
public List<string> Search_Dir(Java.IO.File dir,string fileType)
{
Java.IO.File[] FileList = dir.ListFiles();
if (FileList != null)
{
for (int i = 0; i < FileList.Length; i++)
{
if (FileList[i].IsDirectory)
{
Search_Dir(FileList[i], fileType);
}
else
{
if (FileList[i].Name.EndsWith(fileType))
{
fileList.Add(FileList[i].AbsolutePath);
//here you have that file.
//System.Console.WriteLine(FileList[i].AbsolutePath);
}
}
}
return fileList;
}
return null;
}
}
}
3.调用您的页面:
List<string> files = DependencyService.Get<IGetFiles>().GetFiles(".txt");
问题内容: 我需要一种方法来遍历AngularJS表单的注册控件。本质上,我试图获取所有的$ dirty控件,但是没有控件数组(FormController除了包含控件本身以外,还具有许多不同的属性/函数-每个控件都是自己的对象)。 我一直在查看源代码,并且看到FormController中有一个数组正是我要查找的数组。有没有一种方法可以访问此值,或者扩展FormController使其包含返回此
我们在KMM shared/commonMain项目中包含一个assets文件夹。该资产文件夹基本上包含许多JSON文件,这些文件在不同的子文件夹中结构化。 内置。gradle,资产文件夹被添加为android资源,因此它包含在构建AAR的根目录中。 在共享模块中,文件在通用Android中按需读取 这很好用。 现在到问题,读取文件夹: 当代码通过单元测试执行时,它会工作,然后返回文件夹。一旦AA
基本信息 Path: /api/interface/getCatMenu Method: GET 接口描述: 请求参数 Query 参数名称 是否必须 示例 备注 project_id 是 token 是
我们可以使用Autoloader来跟踪是否已从S3存储桶加载的文件。我关于Autoloader的问题:有没有办法读取Autoloader数据库以获取已加载文件的列表? 我可以在AWS Glue job书签中轻松做到这一点,但我不知道如何在Databricks Autoloader中做到这一点。
问题 你想获取文件系统中某个目录下的所有文件列表。 解决方案 使用 os.listdir() 函数来获取某个目录中的文件列表: import os names = os.listdir('somedir') 结果会返回目录中所有文件列表,包括所有文件,子目录,符号链接等等。 如果你需要通过某种方式过滤数据,可以考虑结合 os.path 库中的一些函数来使用列表推导。比如: import os.pa
一切工作正常(动作得到调用,UI渲染正确,等等...)。除了当我试图获取所选对象时,我一直得到NullPointerExcema(即使我用setProperty tyActionListener设置它)...我如何实际得到我在orderList上点击的行。我做了一个转换器,但仍然没有带我去哪里。 我使用webflow来处理动作(xml)。