我想xml
在我做很多其他事情之前从文件中读取字符串,比如setText
在窗口小部件上做什么,所以如果没有要调用的活动对象,我怎么能这样做getResources()
呢?
我正在尝试将配置(例如URL/etc)放入资源文件夹中以供实用程序类使用.但是,我不想从各地的活动中传递Context.我希望能够通过路径名访问资源(似乎资产/是为此用途设计的),而不使用上下文来访问资源.
在这种特殊情况下,我希望单例在实例化时在配置中使用某些东西.在实例化期间,除了那一次之外,它不需要任何资源.因此,每次调用getInstance()时都必须传入一个Context,这将是一个完全的浪费.
此外,这特定于App的配置,不应存储在共享系统文件或类似的任何内容中.
有没有办法从单独的类中使用getString方法?
我有一个存储在我的字符串xml中的字符串,我想在一个对象中使用该字符串...但该方法在该对象中甚至不可用...
有小费吗?
我有一个封装密封类的 Flow,用于向 UI 调用消息。例如显示 Snackbar。我可以使用 LaunchedEffect 观察可组合项的流程。但问题是我想从协程范围中检索字符串资源。我不想在视图模型中使用直接字符串值,因为我想使用不同语言的区域设置,所以我传递了字符串 Res Id。那么有没有一种好的方法可以做到这一点,而无需将字符串资源放入 Application 类中并从那里检索它们,如此处所示getString Outside of a Context or Activity
代码如下:
@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
我需要在我的应用程序中使用大多数模块中的getString().
但由于一些奇怪的原因,它与Application或Context绑定在一起,这意味着我需要传递给我的应用程序中的每个类,Application引用作为参数.
这显然违反了面向对象设计的最基本原则之一.
有没有解决的办法?
我在 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)