向我的清单文件添加权限时,以下xml可以正常工作.
<permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
但是,这个xml不起作用.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
我应该使用哪一个?如果是第一个,为什么它不起作用?我该如何解决?
此外,我得到一个Android 6.0运行时权限相关的异常:
java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission.
Run Code Online (Sandbox Code Playgroud)
当我尝试将权限添加到String数组以检查权限时,Android Studio告诉我它无法Manifest.permission
在以下代码中解析:
new String[]{Manifest.permission.ACCESS_FINE_LOCATION}
Run Code Online (Sandbox Code Playgroud)
为什么要这样做?我该如何解决?
我使用侦听器作为回调来观察Android的异步操作,但我认为用RxJava替换这个侦听器可能很棒,我是新的使用这个库,但我真的很喜欢它,我总是在Android项目中使用它.
这是我重构的代码:
public void getData( final OnResponseListener listener ){
if(data!=null && !data.isEmpty()){
listener.onSuccess();
}
else{
listener.onError();
}
}
Run Code Online (Sandbox Code Playgroud)
一个简单的回调:
public interface OnResponseListener {
public void onSuccess();
public void onError();
}
Run Code Online (Sandbox Code Playgroud)
而"观察者":
object.getData( new OnResponseListener() {
@Override
public void onSuccess() {
Log.w(TAG," on success");
}
@Override
public void onError() {
Log.e(TAG," on error");
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢!
我扩展了本机实现FirebaseMessagingService
以等待本机中的推送通知android
。
当用户单击推送通知时,我需要启动我的 flutter 应用程序,所以..如何将数据发送到我的 flutter 应用程序?
我有一个这个layoutDescription的动画布局: app:layoutDescription="@xml/scene"
scene.xml
<MotionScene
xmlns:motion="http://schemas.android.com/apk/res-auto">
<Transition
motion:constraintSetStart="@layout/view_home_card_start"
motion:constraintSetEnd="@layout/view_home_card_end"
motion:duration="1000">
<OnSwipe
motion:touchAnchorId="@+id/button"
motion:touchAnchorSide="left"
motion:dragDirection="dragLeft" />
</Transition>
</MotionScene>
Run Code Online (Sandbox Code Playgroud)
我认为xml view_home_card_start
和view_home_card_end
无关紧要.
如何以编程方式调用此动画?
可能吗?我需要启动前台服务,因为我在UI线程中使用它,
示例:每25分钟在我的应用中播放视频,即关闭.
我需要帮助为我的应用程序创建架构.我正在使用Flutter和scoped_model来维护状态.
这是一个具有登录功能的应用程序,它在应用程序的一个部分中显示新闻,并显示照片库等.我想将整个事物分成不同的模型.保存登录状态的LoginModel(如用户名,令牌,名称等).包含从API检索的新闻的NewsModel.GalleryModel用于保存照片的名称等.我不确定这是否是使用scoped_model维护状态的最佳实践.
例如,如果文本框依赖于LoginModel和NewsModel,该怎么办?我不确定,但我想从两个独立的模型中检索状态是不可能的.此外,我维护单独的模型以保持状态的主要原因是我不希望在我带来新闻时刷新应用程序的登录部分.我猜这就是我将整个状态放在一个模型中的方式.
我正在尝试在我的 flutter 项目中创建一个范围模型,但我似乎无法弄清楚为什么会出现错误。这个作用域模型实现有什么问题?我有一个带有底部导航器的主页。在个人资料选项卡中,我在树深处的小部件中获取了我需要的关注者列表,因此我尝试使用scopedmodel。
型号代码是
class RelationshipsModel extends Model {
List<Relationship> relations;
RelationshipsModel(this.relations);
void add(String name) {
relations.add(new Relationship("", "", name, name));
notifyListeners();
}
}
Run Code Online (Sandbox Code Playgroud)
创建作用域模型的配置文件页面如下。在这里,我从该州的 Firebase 获取关注者列表,并使用它来创建作用域模型的模型。
class ProfileWidget extends StatefulWidget {
@override
_ProfileWidgetState createState() => _ProfileWidgetState();
}
class _ProfileWidgetState extends State<ProfileWidget> {
@override
initState() {
super.initState();
getCurrentUserDetails();
}
getCurrentUserDetails() async {
_name = await CacheService.getCurrentUser();
var following = await service.getFollowingList(_name);
setState(() {
this._following = following;
});
}
@override
Widget build(BuildContext context) {
if (this._name == null) {
return new …
Run Code Online (Sandbox Code Playgroud) 我有一个Android前台服务,通知通知.在服务中我只是每10秒记录一次"Tick tack",但服务的优先级是每隔X秒在webview中导航,所以我使用新线程并在主线程中工作.
如果我将应用程序连接到usb,则日志似乎没问题,每10秒调用一次"tick tack",如果移动设备已解锁并且我在应用程序上记录日志,则相同.
但是,当我断开USB连接,或者我锁定设备时,这就是正在发生的事情:
2018-11-14 12:11:53.115 12596-12596/? I/Service: tick tack
2018-11-14 12:12:18.704 12596-12596/? I/Service: tick tack
2018-11-14 12:15:42.572 12596-12596/? I/Service: tick tack
2018-11-14 12:17:30.942 12596-12596/? I/Service: tick tack
2018-11-14 12:17:53.534 12596-12596/? I/Service: tick tack
2018-11-14 12:18:27.118 12596-12596/? I/Service: tick tack
2018-11-14 12:18:37.118 12596-12596/? I/Service: tick tack
2018-11-14 12:18:47.118 12596-12596/? I/Service: tick tack
2018-11-14 12:18:57.121 12596-12596/? I/Service: tick tack
2018-11-14 12:19:25.208 12596-12596/? I/Service: tick tack
2018-11-14 12:19:48.294 12596-12596/? I/Service: tick tack
Run Code Online (Sandbox Code Playgroud)
前台服务的限制是什么?即使设备闲置,我还可以进行硬前台工作吗?
flutter/cupertino.dart
是否可以在材质应用程序内部使用一些小部件?(使用Scaffold
)
我想Switch
用库比蒂诺风格而不是材质来渲染小部件。
我尝试将 fcm 集成到我的即时应用程序中,但它不起作用。
我有 4 个清单文件:/app /base /module1 /module2
APP清单仅包含以下代码:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.stackoverflow.app"/>
Run Code Online (Sandbox Code Playgroud)
在基本清单中声明了我的应用程序和推送通知的配置。
知道出了什么问题吗?
我正在尝试使用 android studio 将我的 apk 直接上传到 Playstore。
使用 ribot 样板,我可以看到他们将密钥放在 gradle.properties 中,如下所示:
ribotAppKeystoreReleaseLocation = keystore/release.keystore
ribotAppReleaseKeyAlias = UNDEFINED
ribotAppReleaseStorePassword = UNDEFINED
ribotAppReleaseKeyPassword = UNDEFINED
Run Code Online (Sandbox Code Playgroud)
并在构建gradle中:
// You must set up an environment var before release signing
// Run: export RIBOT_APP_KEY={password}
release {
storeFile file("${ribotAppKeystoreReleaseLocation}")
keyAlias "${ribotAppReleaseKeyAlias}"
storePassword "${ribotAppReleaseStorePassword}"
keyPassword "${ribotAppReleaseKeyPassword}"
}
Run Code Online (Sandbox Code Playgroud)
如果我在 gradle.properties 中编写我的密钥,例如:
ribotAppReleaseStorePassword = THISISMYKEY
Run Code Online (Sandbox Code Playgroud)
我将它上传到 git 时会遇到问题,因为所有团队都会看到这个键。那么,我可以在这里设置系统环境变量吗?或者我该怎么办?
我最近一直在使用Scoped Model,想知道是否有更好的方法将多个模型推到树上供儿童使用。
假设我有一个“ AppModel”,它是我需要的所有模型的组成部分
class AppModel extends Model
{
ModelA a = new ModelA();
ModelB b = new ModelB();
ModelC c = new ModelC();
}
Run Code Online (Sandbox Code Playgroud)
我首先将此模型添加到 main
runApp(ScopedModel<AppModel>(
model: AppModel(),
child: MaterialApp(
title: 'MyApp',
home: Home(),
)),);
Run Code Online (Sandbox Code Playgroud)
这将导致应用程序从树中可用的AppModel的主页开始。
主页是一系列按钮,每个按钮都指向另一个页面,这些页面可以使用AppModel中的多个模型
当按下按钮时,我想打开相关页面并传递AppModel所需的“子模型”
目前onPressed
,我的按钮看起来像这样,在其中嵌套了范围模型
() => Navigator.push(context,
MaterialPageRoute(builder: (context) => ScopedModel<ModelA>
model: ScopedModel.of<AppModel>(context).a,
child: ScopedModel<ModelB>(
model: ScopedModel.of<AppModel>(context).b,
child: PageAB())))))),
Run Code Online (Sandbox Code Playgroud)
在PageAB
这些我可以通过以下方式访问相关模型ScopedModel.of()
ScopedModel.of<ModelA>(context).modelAGet
ScopedModel.of<ModelA>(context).modelAFunc()
ScopedModel.of<ModelB>(context).modelBGet
ScopedModel.of<ModelB>(context).modelBFunc()
Run Code Online (Sandbox Code Playgroud)
这是共享(多个)模型的正确方法吗?还是有一个更优雅的解决方案?
是否可以在中选择一些分支pubspec.yaml
?
library_sdk:
git:
url: git://github.com/library/library.git
Run Code Online (Sandbox Code Playgroud)
我需要使用develop分支而不是master。