在Android应用中,以下方法有什么问题:
public class MyApp extends android.app.Application {
private static MyApp instance;
public MyApp() {
instance = this;
}
public static Context getContext() {
return instance;
}
}
Run Code Online (Sandbox Code Playgroud)
并传递它到处(例如SQLiteOpenHelper)需要上下文(当然不泄漏)?
我在SO上发现了许多类似问题的实例,但遗憾的是没有答案符合我的要求.
我有纵向和横向的不同布局,我正在使用后台堆栈,这两个都阻止我setRetainState()使用配置更改例程使用和技巧.
我在TextViews中向用户显示某些信息,这些信息不会保存在默认处理程序中.仅使用活动编写我的应用程序时,以下工作正常:
TextView vstup;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.whatever);
vstup = (TextView)findViewById(R.id.whatever);
/* (...) */
}
@Override
public void onSaveInstanceState(Bundle state) {
super.onSaveInstanceState(state);
state.putCharSequence(App.VSTUP, vstup.getText());
}
@Override
public void onRestoreInstanceState(Bundle state) {
super.onRestoreInstanceState(state);
vstup.setText(state.getCharSequence(App.VSTUP));
}
Run Code Online (Sandbox Code Playgroud)
使用Fragments,这仅适用于非常特定的情况.具体来说,可怕的破坏是替换片段,将其放入后栈,然后在显示新片段时旋转屏幕.根据我的理解,旧片段onSaveInstanceState()在被替换时没有接收到调用但是以某种方式Activity与之相关联,并且此方法稍后在其View不再存在时调用,因此将我TextView的任何结果查找为a NullPointerException.
另外,我发现保留对我的引用对于s TextViews来说并不是一个好主意Fragment,即使它是正常Activity的.在这种情况下,onSaveInstanceState()实际上保存状态但是如果我在隐藏片段时旋转屏幕两次,则问题会重新出现,因为它onCreateView()不会在新实例中被调用.
我想把状态保存onDestroyView()到某个Bundle类型的类成员元素中(它实际上是更多的数据,而不仅仅是一个TextView)并保存它,onSaveInstanceState()但还有其他缺点.首先,如果该片段是当前显示,调用两个函数的顺序是相反的,所以我需要考虑两种不同的情况.必须有一个更清洁,更正确的解决方案!
我花了很长时间来计算如何在Mac上设置adb,所以我想写一下如何设置它可能对某些人有用.adb是在手机/模拟器上安装和运行Android应用程序的命令行工具
我想从我的Android应用程序中启动已安装的软件包.我假设有可能使用意图,但我找不到这样做的方法.有链接,在哪里可以找到信息?
我正在开发一个功能,从Web服务器下载图像,将其显示在屏幕上,如果用户希望保留图像,请将其保存在某个文件夹中的SD卡上.是否有一种简单的方法来获取位图并将其保存到我选择的文件夹中的SD卡?
我的问题是我可以下载图像,将其作为位图显示在屏幕上.我能够找到将图像保存到特定文件夹的唯一方法是使用FileOutputStream,但这需要一个字节数组.我不确定如何从Bitmap转换(如果这是正确的方法)到字节数组,所以我可以使用FileOutputStream来写入数据.
我有另一个选择是使用MediaStore:
MediaStore.Images.Media.insertImage(getContentResolver(), bm,
barcodeNumber + ".jpg Card Image", barcodeNumber + ".jpg Card Image");
Run Code Online (Sandbox Code Playgroud)
哪个可以保存到SD卡,但不允许您自定义文件夹.
我正在从我的应用程序迁移ActionBar到Toolbar.但我不知道如何在Back Arrow上显示和设置click事件Toolbar就像我一样Actionbar.

有ActionBar,我打电话mActionbar.setDisplayHomeAsUpEnabled(true).但是没有像这样的类似方法.
有没有人遇到这种情况,并以某种方式找到了解决它的方法?
android android-actionbar android-actionbar-compat android-toolbar
如何删除应用程序的SharedPreferences数据?
我正在创建一个使用大量Web服务来同步数据的应用程序.出于测试目的,我需要在重新启动应用程序时清除一些SharedPreferences值.