gpt4 book ai didi

android - 2018年安卓上的相册选图有什么方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:05 24 4
gpt4 key购买 nike

我想知道社区对从常见来源获取 Android 图像以在我们的应用程序中使用的问题的意见。我知道早在 2010 年就有关于堆栈溢出的问题,但我发现这个简单任务的答案有点多样板代码。

也许任何人都知道一些轻量级库可以从画廊(或其他常见来源)获取图像,这样代码可以保持简单和可读

也许是这样的:

            Bitmap image;

SomeCoolLib.
.performImageSelect()
.asBitmap()
.listener(new RequestListener<String, Bitmap>() {
@Override
public boolean onException(Exception e) {
e.printStackTrace();
return false;
}

@Override
public boolean onCancel() {
return false;
}
}).into(image);

让用户:

so we can see this

最佳答案

最好的方法是使用 Android 存储访问框架 (https://developer.android.com/guide/topics/providers/document-provider.html)。

例如,在您的 Activity 中,您可以请求设备和文档类型(如果您想按文档类型进行过滤,请注意 intent.setType 方法)。

此代码将打开 android 文档选择器并让用户选择图像:

public class MainActivity extends AppCompatActivity {

private static final int OPEN_DOCUMENT_CODE = 2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

findViewById(R.id.floatingActionButton).setOnClickListener(view -> {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(intent, OPEN_DOCUMENT_CODE);
});

}
}

然后,只需在同一个 Activity 中实现 onActivityResult 即可接收所选图像:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
if (requestCode == OPEN_DOCUMENT_CODE && resultCode == RESULT_OK) {
if (resultData != null) {
// this is the image selected by the user
Uri imageUri = resultData.getData();
}
}
}

关于android - 2018年安卓上的相册选图有什么方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48194733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com