小编Cha*_*aoz的帖子

完整备份内容xml文件应该为空还是根本不添加以包含所有内容?

所以我在应用程序清单中添加了一些东西,我看到我的应用程序标签上有一个警告:

在SDK版本23及更高版本上,您的应用数据将在应用安装时自动备份和恢复.考虑添加属性android:fullBackupContent以指定@xml资源,该资源配置要备份的文件.

然后我搜索了那个.显然,只有2个标签:<include><exclude>.我不想从备份中排除任何文件,因为我没有任何本地依赖文件,我不需要任何<include>标签

<include>: 指定要备份的一组资源,而不是让系统默认备份应用程序中的所有数据.

当我看到如果我没有放任何<include>标签,那么系统将会back up all data in your app by default,这正是我想要的.

现在我有了这个问题:我应该添加backup_content.xml文件,但是因为默认设置是好的,所以是空的,或者根本不添加文件?(在这种情况下Android Studio会抱怨)

xml backup android

36
推荐指数
4
解决办法
9386
查看次数

Android Studio - 为所有模块添加依赖项

我已阅读吨像帖子的这一个,但他们只告诉你,你不应该添加依赖于项目的根build.gradle,这我知道.
我的情况是:我有很多模块都需要相同的库.所有这些,所以我需要将它们全部配置为具有相同的库.是否有可能以某种方式将其build.gradle添加到根或我已经为每个项目添加build.gradle了依赖项?

dependencies android gradle android-studio build.gradle

10
推荐指数
1
解决办法
2772
查看次数

Android Studio没有显示带有CTRL + Q的javadoc,但在源代码中可用

在阅读之前,这不是任何其他相关的Android Studio javadoc不能正常工作的副本,在我的情况下我可以看到它但只在源代码中,这意味着我无法在不进入类的情况下检查javadoc.这也很奇怪,因为它似乎只发生在某些类中,但它正在处理的类数量非常少.为了清楚起见,这里有一些截图.
首先,当它不工作时: 屏幕截图显示javadoc无法正常工作

然后当它工作时:

显示javadoc工作的屏幕截图

有任何想法吗?请帮忙.谢谢!

java documentation android javadoc android-studio

6
推荐指数
0
解决办法
626
查看次数

我应该在arraylist.add(obj)之后做obj = null

我只是想知道obj = null在将它添加到数组后是否应该这样做.请注意,这是一个特殊情况,请参阅下文.

首先,让我们考虑A这样的类:

public class A {
    public void doSomething(B object) {
        // some code here
    }
}
Run Code Online (Sandbox Code Playgroud)

和这样的类B:

public class B {
    private final A a;
    public B(A a) {
        this.a = a;
    }
    public void aMethod() {
        // Does something here
        a.doSomething(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

到现在为止一切都还好.类型的对象B可以调用AdoSomething()方法来编辑基于一些数据在那里的对象.

现在让我们考虑以下情况:doSomething()将对象B添加到arraylist.现在我应该使用这些代码:

public void doSomething(B b) {
    arrayList.add(b);
    b = null;
}
// or
public void doSomething(B b) …
Run Code Online (Sandbox Code Playgroud)

java arrays null memory-leaks object

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

具有多个没有标题的PreferenceScreen的PreferenceActivity

我想做一个普通的PreferenceActivity(旧样式,没有标题),但是使用片段而不使用addPreferencesFromResource(id)(因为弃用).
现在我把它放在我的onCreate:

getFragmentManager().beginTransaction().replace(android.R.id.content, new PreferencesFragment()).commit();
Run Code Online (Sandbox Code Playgroud)

PreferencesFragment看起来像这样:

public static class PreferencesFragment extends PreferenceFragment {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
    }
}
Run Code Online (Sandbox Code Playgroud)

显然我也实现了这个isValidFragment方法:

@Override
protected boolean isValidFragment(String fragmentName) {
    return PreferencesFragment.class.getName().equals(fragmentName)
            || InnerFragment.class.getName().equals(fragmentName);
}
Run Code Online (Sandbox Code Playgroud)

它工作得很好.然而,当PreferenceScreen我在我的内心时有一个问题preferences.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <!--  ...  -->
    <PreferenceScreen android:fragment="net.chaozspike.batterynotifier.SettingsActivity$InnerFragment"
        android:summary="@string/settings_activity_prefs_display_night_mode_sum"
        android:title="@string/settings_activity_prefs_display_night_mode" />
    <!--  ...  -->
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

我有以下问题:新的首选项屏幕显示在正常的屏幕之上,我知道这可能是因为我更换了默认设置R.id.content.截图:

截图不是loding

但是我想在不使用已弃用的东西或标题的情况下解决此问题.这有可能实现吗?

android preferenceactivity preferencescreen preferencefragment

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