相关疑难解决方法(0)

如何从静态上下文中获取资源内容?

我想xml在我做很多其他事情之前从文件中读取字符串,比如setText在窗口小部件上做什么,所以如果没有要调用的活动对象,我怎么能这样做getResources()呢?

java static android const android-resources

160
推荐指数
5
解决办法
12万
查看次数

在没有上下文的情况下访问资源

我正在尝试将配置(例如URL/etc)放入资源文件夹中以供实用程序类使用.但是,我不想从各地的活动中传递Context.我希望能够通过路径名访问资源(似乎资产/是为此用途设计的),而不使用上下文来访问资源.

在这种特殊情况下,我希望单例在实例化时在配置中使用某些东西.在实例化期间,除了那一次之外,它不需要任何资源.因此,每次调用getInstance()时都必须传入一个Context,这将是一个完全的浪费.

此外,这特定于App的配置,不应存储在共享系统文件或类似的任何内容中.

java android android-context android-resources

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

从类中调用getString(R.strings ....)?

有没有办法从单独的类中使用getString方法?

我有一个存储在我的字符串xml中的字符串,我想在一个对象中使用该字符串...但该方法在该对象中甚至不可用...

有小费吗?

android class object android-context

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

Android Jetpack Compose(可组合)从协程获取字符串资源

我有一个封装密封类的 Flow,用于向 UI 调用消息。例如显示 Snackbar。我可以使用 LaunchedEffect 观察可组合项的流程。但问题是我想从协程范围中检索字符串资源。我不想在视图模型中使用直接字符串值,因为我想使用不同语言的区域设置,所以我传递了字符串 Res Id。那么有没有一种好的方法可以做到这一点,而无需将字符串资源放入 Application 类中并从那里检索它们,如此处所示getString Outside of a Context or Activity

代码如下:

  1. 我有用于显示小吃栏的脚手架,当用户单击填充整个屏幕的脚手架时,将调用 showSnackbarWithScope 方法,该方法向流发出新值。
  2. 然后通过 LaunchedEffect 捕获更改
  3. 然后它使用消息调用 showSnackbar() 方法,但该函数需要 String 并且我有 String Res Id (Int) 值
  4. 问题是我无法使用 stringResource() 方法从可组合范围中检索字符串,因为我位于协程中
@Composable
fun HomeScreen(viewModel: CityWeatherViewModel) {
 
    val scaffoldState = rememberScaffoldState() 
    LaunchedEffect(true) {
        viewModel.eventFlow.collectLatest { event ->
            when (event) {
                is CityWeatherViewModel.UIEvent.ShowSnackbar -> {
                    
                    // THE PROBLEM IS HERE!!!, since event.messageResId is res id, and not the string resource, and I can not use …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose android-jetpack-compose-scaffold

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

如何使用Android的getString()而不违反基本的OOD原则?

我需要在我的应用程序中使用大多数模块中的getString().

但由于一些奇怪的原因,它与Application或Context绑定在一起,这意味着我需要传递给我的应用程序中的每个类,Application引用作为参数.

这显然违反了面向对象设计的最基本原则之一.

有没有解决的办法?

android android-context

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

Android开发中如何为常量变量存储单独的常量类

我在 Android 应用程序中有常量变量,如下所示。我想将它们移动到一个单独的常量类,这样它会更干净。你有什么建议?我应该在项目中创建什么类型的文件?我是否只需在 MainActivity 类中导入该常量类?我正在寻找类似于 C++ 中的constants.h 文件。你们有什么建议?

public class MainActivity extends ActionBarActivity {


public static final String NET_SALE = "com.domain.mobile.tipcalculator.MESSAGE1";
public static final String SER_CHRG = "com.domain.mobile.tipcalculator.MESSAGE2";
public static final String TRN_IN = "com.domain.mobile.tipcalculator.MESSAGE3";
public static final String TRN_OUT = "com.domain.mobile.tipcalculator.MESSAGE4";
public static final String POOL = "com.domain.mobile.tipcalculator.MESSAGE5";
public static final String RADIO = "com.domain.mobile.tipcalculator.MESSAGE6";
Run Code Online (Sandbox Code Playgroud)

java variables android constants

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