相关疑难解决方法(0)

以编程方式清除应用程序的数据

我想以编程方式清除我的应用程序的数据.

应用程序的数据可能包含数据库,共享首选项,内部外部文件或在应用程序中创建的任何其他文件.

我知道我们可以通过以下方式清除移动设备中的数据:

设置 - >应用程序 - >管理应用程序 - > My_application->清除数据

但我需要通过Android程序做上述事情吗?

android

114
推荐指数
4
解决办法
10万
查看次数

Android Studio - 清除Instrumentation Test的应用程序数据

如何在不手动运行adb命令的情况下让Android Studio(AndroidJunitRunner)清除检测测试之前的应用程序数据?

我发现了android.support.test.runner.AndroidJUnitRunner一种作弊的-它从来没有真正调用connectedCheckconnectedAndroidTest.

  1. 从命令行运行时 $ gradle connectedCheck

    :MyMainApp:assembleDebug UP-TO-DATE
    :MyMainApp:assembleDebugTest UP-TO-DATE
    :MyMainApp:clearMainAppData
    :MyMainApp:connectedCheck
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过单击检测测试配置从IDE内部运行(带有红色/绿色箭头的绿色Android机器人徽标)

    **Executing tasks: [:MyMainAppApp:assembleDebug, :MyMainAppApp:assembleDebugTest]**
    
    Run Code Online (Sandbox Code Playgroud)

    如您所见,最后一个gradle目标是 assembleDebugTest

我已经添加了一个钩到connectedCheckbuild.gradle开始仪表测试之前清除主要的应用程序的数据.

// Run 'adb' shell command to clear application data of main app for 'debug' variant
task clearMainAppData(type: Exec) {
    // we have to iterate to find the 'debug' variant to obtain a variant reference
    android.applicationVariants.all { variant ->
        if (variant.name.equals("debug")) {
            def clearDataCommand = ['adb', 'shell', 'pm', …
Run Code Online (Sandbox Code Playgroud)

gradle android-studio android-gradle-plugin android-instrumentation

13
推荐指数
2
解决办法
9250
查看次数

通用图像加载器 - 手动清除缓存

我正在使用Universal Image Loader在listviews中显示我的应用程序中的图像.我正在使用,UnlimitedDiscCache因为根据文档,这是最快的缓存机制.

但是,我想清除我的应用程序关闭时的光盘缓存(例如,在onStop()),但只应删除超过给定限制的最旧的缓存文件(如同TotalSizeLimitedDiscCache).

我知道,ImageLoader.clearDiscCache()但在我的情况下,这清除了完整的缓存,因为我UnlimitedDiscCache以前使用...

因此,当用户加载和滚动列表视图时,我希望拥有最快的缓存机制,并在用户不再与应用程序交互时清除慢速缓存.

我有什么想法可以达到这个目的吗?

java android universal-image-loader

8
推荐指数
1
解决办法
3127
查看次数

如何销毁android应用程序并从内存中清除?

我试过 System.Exit(0),但不是我需要的;

我正在尝试安全地销毁 android 应用程序并从内存中清除它,
我可以制作一个按钮来退出 android 应用程序并从内存中清除所有应用程序吗?

android

5
推荐指数
1
解决办法
2万
查看次数

在活动开始之前访问活动

我正在使用InstrumentationTestCase类来对活动中的某些内容进行单元测试.

在启动此活动之前,我需要能够检查SharedPreferences的内容并对其进行编辑.

我无法使用setUp方法创建Activity并访问它的SharedPreferences对象进行编辑,然后在完成setUp方法之前关闭该活动,因为它显然是锁定测试处理.

在我在测试中启动活动之后,我也无法访问SharedPreferences,因为一旦Activity启动,它就会在我有机会获得它之前更改SharedPreferences对象并按照它行动.

我之前显然无法访问SharedPreferences,因为我没有Activity对象......而且一旦我这样做,它就已经在执行代码并被启动了......

所以,我的问题是,在我通过Intent实际创建Activity之前,有没有办法访问此Activity的SharedPreferences(和任何其他Activity信息)?

我无法将其更改为ActivityInstrumentationTestCase2,因为我的测试在其进程中使用了第二个活动,因此我不能只更改为此类并使用它的setUp()方法来访问SharedPreferences.

junit android

4
推荐指数
1
解决办法
2707
查看次数

以编程方式清除Android上的PhoneGap/Cordova应用程序缓存以模拟全新安装?

这与我之前的问题" 如何在每次安装时在我的Android模拟器上清除应用程序的localStorage"有关?".

它还建立在' 如何清除Android应用缓存?'和' 如何以编程方式清除应用程序数据?".

上述问题均未提供适用于Android PhoneGap/Cordova应用程序的直接答案.本博客文章伊戈尔Hrupin涵盖在上下文的情况下原生 Android应用程序,所以这个问题扩展了覆盖科尔多瓦.

我会自己发一个答案,但我是一个完整的Java菜鸟,所以请编辑改进.

java jquery android cordova

4
推荐指数
2
解决办法
2万
查看次数

关闭应用程序时我们可以删除SharedPreferences吗

我在谷歌搜索。我可以找到清除共享首选项的答案,但是当应用程序关闭时,我需要清除共享首选项。这可能对您有帮助吗?

代码清除共享首选项

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
SharedPreferences preferences = 
PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("UserName", "Tonny");
editor.putInt("UserAge", 20);
editor.commit();
Run Code Online (Sandbox Code Playgroud)

java android sharedpreferences

2
推荐指数
1
解决办法
4969
查看次数