热门推荐
Cursor零基础小白教程系列「进阶」 - Cursor AI聊天详解(Chat)
2024-12-31 20:53
要在Android中打开本地的Excel文件,并允许用户手动选择文件夹,您可以使用`Intent`来调用系统的文件选择器。以下是一个示例代码: ```java import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.provider.documentsContract; import android.provider.OpenableColumns; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private static final int REQUEST_PICK_FILE = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 调用文件选择器 openFilePicker(); } private void openFilePicker() { Intent intent = new Intent(Intent.ACTION_OPEN_document); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("application/vnd.ms-excel"); // 设置文件类型为Excel文件 startActivityForResult(intent, REQUEST_PICK_FILE); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_PICK_FILE && resultCode == RESULT_OK && data != null) { Uri fileUri = data.getData(); // 处理文件URI handleFileUri(fileUri); } } private void handleFileUri(Uri fileUri) { // 获取文件名 String fileName = getFileName(fileUri); // TODO: 在这里处理Excel文件,例如解析文件内容等 } @NonNull private String getFileName(Uri uri) { String fileName = null; if (uri.getScheme().equals("content")) { try (Cursor cursor = getContentResolver().query(uri, null, null, null, null)) { if (cursor != null && cursor.moveToFirst()) { fileName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME)); } } } else if (uri.getScheme().equals("file")) { fileName = uri.getLastPathSegment(); } return fileName != null ? fileName : ""; } } ``` 在这个示例中,我们使用`Intent`调用了系统的文件选择器,并设置文件类型为Excel文件(MIME类型为`application/vnd.ms-excel`)。当用户选择了一个文件后,`onActivityResult`方法会被调用,并传递选中的文件URI。然后,您可以在`handleFileUri`方法中处理文件URI,例如获取文件名或解析Excel文件内容等。 请注意,为了正确获取文件名,我们使用`getFileName`方法,在`content` scheme和`file` scheme下进行不同的处理。
    以上就是本篇文章【Cursor零基础小白教程系列「进阶」 - Cursor AI聊天详解(Chat)】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/quote/17267.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站https://sicmodule.kub2b.com/mobile/,查看更多   
发表评论
0评