- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将其写在自己的类中以便反复使用?在注释行“//加载列表”所在的位置,我需要能够在运行时更改它。
提前收到信息。
/**
* -- Check to See if the SD Card is Mounted & Loads the Ordered List
* ======================================================================
**/
private void storageState() {
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
orderASC();// Loads the list
} else if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_UNMOUNTED)) {
Alerts.sdCardMissing(this);
}
}
修订:
class StorageStateChecker {
static void storageState(Activity param, Listener l) {
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
l.orderASC_Label();//Load the list by Label ASC
l.orderDSC_Label();
l.orderASC_Title();//Load the list by Title ASC
l.orderDSC_Title();
} else if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_UNMOUNTED)) {
// Pass context to AlertDialog.Builder
AlertDialog alertDialog = new AlertDialog.Builder(null).create();
alertDialog.setTitle("External Storage State");
alertDialog.setMessage("Your SD-Card is not mounted! If the device is plugged into a computer via the USB, please disconect the device.");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//this.finish();
}
});
// alertDialog.setIcon(R.drawable.icon);
alertDialog.show();
}
}
public interface Listener {
public void orderASC_Label();
public void orderDSC_Label();
public void orderASC_Title();
public void orderDSC_Title();
}
}
最佳答案
我会这样做:
public static boolean performExternalStorageOperation(Runnable doIfMounted) {
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
orderASC();// Loads the list
if(doIfMounted != null) {
doIfMounted.run();
}
return true;
} else if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_UNMOUNTED)) {
Alerts.sdCardMissing(this);
}
return false;
}
您可以将 Runnable 替换为任何类型的通用 Listener(我经常使用 OnClickListeners 来处理不一定是点击的操作),或者编写您自己的回调类并使用通用的调用方法,但这是我的一般方法。
关于android - 如何复用 getExternalStorageState?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5889385/
如何将其写在自己的类中以便反复使用?在注释行“//加载列表”所在的位置,我需要能够在运行时更改它。 提前收到信息。 /** * -- Check to See if the SD Card is M
当然,在我的应用程序中,在我向外部存储读取/写入任何内容之前,我会检查 Environment.getExternalStorageState() 我一直假设它在偶尔写入存储的应用程序中按预期工作,但
几个小时以来,我一直在努力弄清楚如何在对我的 Android 应用程序进行单元测试时模拟对 Environment.getExternalStorateState() 的调用。 我已经能够模拟 Sys
我是mockito测试的新手,我一直在尝试关注博客,但现在它相当困惑。 座右铭是测试 FileUtility 类中的两个静态函数。代码如下。 public static boolean isExter
我有以下 Android 2.1-2.3 以前项目的代码,用于检查 SD 卡是否已安装和可写。 @Override protected void onResume() { super.onRe
我正在尝试检查外部存储是否可用,甚至我认为我已全部正确它仍然说存储不可用。 private String state; protected void onCreate(Bundle s
我对 Android 开发完全陌生,想从 Android 手机的外部存储中索引文件。我发现一些旧代码使用了已弃用的方法: String file1 = Environment.getExternalS
在我的 Galaxy Tab 10.1 上,我在检查外部存储状态时遇到奇怪的 logcat 错误: Environment.getExternalStorageState(); Logcat 说: 0
我无法使用 Android.OS.Environment.GetExternalStorageState 方法 作为 outlined here . Android.OS.Environment.Ge
我是一名优秀的程序员,十分优秀!