我使用了最新的android包装格式捆绑包,并将我的应用发送到Beta渠道,捆绑减少了应用大小的〜60%,这真是太棒了,
我的应用程序支持英语和阿拉伯语(可以在应用程序中即时切换)
现在的问题是:AFAIK基本apk将仅在应用程序下载期间具有用于用户语言的资源(如果在下载时,如果语言是英语,则只会对string-en.xml进行废弃)
所以我该如何处理用户在应用内切换语言的情况..
请告诉我..
在我的Android应用程序中,我使用mvvm模式跟随架构组件.我的应用程序进行网络调用以显示天气信息.正在从存储库进行调用,该存储库返回对视图模型的响应的居住数据,其中由我的主要活动观察到.
该应用程序工作正常,除了一个条件,每当我断开互联网测试失败的情况下,它会根据需要膨胀错误视图
在错误视图中我有一个重试按钮,这使得方法调用再次观察视图模型(这个方法也是第一次被oncreate()调用,这有效)
即使在打开互联网并点击侦听observable的重试按钮后,数据也会变为空.
我不知道为什么.请任何人帮助
REPOSITORY
@Singleton public class ContentRepository {
@Inject AppUtils mAppUtils;
private RESTService mApiService;
@Inject public ContentRepository(RESTService mApiService) {
this.mApiService = mApiService;
}
public MutableLiveData<ApiResponse<WeatherModel>> getWeatherListData() {
final MutableLiveData<ApiResponse<WeatherModel>> weatherListData = new MutableLiveData<>();
mApiService.getWeatherList().enqueue(new Callback<WeatherModel>() {
@Override public void onResponse(Call<WeatherModel> call, Response<WeatherModel> response) {
weatherListData.setValue(new ApiResponse<>(response.body()));
}
@Override public void onFailure(Call<WeatherModel> call, Throwable t) {
weatherListData.setValue(new ApiResponse<>(t));
}
});
return weatherListData;
}
}
Run Code Online (Sandbox Code Playgroud)
视图模型
public class HomeViewModel extends AndroidViewModel {
private final LiveData<ApiResponse<WeatherModel>> weatherListObservable;
@Inject public HomeViewModel(Application …Run Code Online (Sandbox Code Playgroud) android android-livedata android-viewmodel android-architecture-components