我试图在Swift中使用十六进制颜色值,而不是UIColor允许你使用的几个标准颜色值,但我不知道如何去做.
示例:我将如何#ffffff用作颜色?
我shared_preferences在适用于 iOS 和 Android 的 Flutter 应用程序中使用。在网络上,我使用http:dart依赖项 ( window.localStorage) 本身。由于 Flutter for web 被合并到 Flutter repo 中,我想创建一个跨平台的解决方案。
这意味着我需要导入两个单独的 API。这在 Dart 中似乎还没有得到很好的支持,但这就是我所做的:
import 'package:some_project/stub/preference_utils_stub.dart'
if (dart.library.html) 'dart:html'
if (dart.library.io) 'package:shared_preferences/shared_preferences.dart';
Run Code Online (Sandbox Code Playgroud)
在我的preference_utils_stub.dart文件中,我实现了在编译时需要可见的所有类/变量:
Window window;
class SharedPreferences {
static Future<SharedPreferences> get getInstance async {}
setString(String key, String value) {}
getString(String key) {}
}
class Window {
Map<String, String> localStorage;
}
Run Code Online (Sandbox Code Playgroud)
这在编译之前消除了所有错误。现在我实现了一些检查应用程序是否正在使用网络的方法:
static Future<String> getString(String key) async {
if (kIsWeb) {
return window.localStorage[key];
}
SharedPreferences preferences = …Run Code Online (Sandbox Code Playgroud) 我们正在开发一个基于 SVG 输入显示人体的应用程序。这个人体分为几个区域,比如头部、左臂、右臂、腹部等。
我们希望在用户点击例如一只手臂时突出显示图像的一个区域。在 Flutter 中实现这一目标的最佳方法是什么?
我们尝试将 Flare 用于 Flutter,但此库不提供与正在显示的人体的直接交互。
有没有更简单的方法:
GestureDetector;请注意,由于图像的部分重叠,简单的框将不起作用。可以看到我们想要达到的效果,我在这里点击了一只手臂。在它周围绘制一些可点击的框,效果不佳。
提前致谢。
我正在编写一个能够缩放和平移图像的Android(Xamarin)应用程序.用户还可以单击图像上的位置.我需要图像上的那些坐标供以后使用.
以下代码是缩放和平移图像:
protected override void OnDraw(Canvas canvas)
{
base.OnDraw(canvas);
_maxX = canvas.Width;
_maxY = canvas.Height;
canvas.Translate(_posX, _posY);
if (_scaleDetector.IsInProgress)
canvas.Scale(_scaleFactor, _scaleFactor, _scaleDetector.FocusX, _scaleDetector.FocusY);
else
canvas.Scale(_scaleFactor, _scaleFactor, _lastGestureX, _lastGestureY);
}
Run Code Online (Sandbox Code Playgroud)
到目前为止这么好,现在我有一些MotionEvent使用,这是一个LongPressListener.我编写了以下代码来将坐标从MotionEvent图像上的坐标转换为:
var actualX = e.GetX() - (_parent._posX / _parent._scaleFactor);
var actualY = e.GetY() - (_parent._posY / _parent._scaleFactor);
Run Code Online (Sandbox Code Playgroud)
e在这种情况下是图像的框架.帧保存图像(即_parent),用户可以拖动图像._parent._posX/Y发生这种情况时会发生变化 用户还可以缩放图像,即_scaleFactor.
因此,当用户点击任意位置时e,我需要将这些坐标转换为图像坐标.
这两行代码可以工作,但是当用户放大时,坐标会关闭,如附图所示:
红点代表计算的位置.如您所见,如果用户放大坐标会获得更多关闭.这个计算有什么问题?
将VS Code版本升级到1.32.1后,保存/自动保存不会触发自动热重装。以前就像魅力一样。
按下热重载按钮仍然可以进行热重载。
据Flutter医生说Flutter似乎还可以:
Doctor summary (to see all details, run flutter doctor -v):
[?] Flutter (Channel beta, v1.2.1, on Mac OS X 10.14.2 18C54, locale hu-HU)
[?] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[?] iOS toolchain - develop for iOS devices (Xcode 10.1)
[?] Android Studio (version 3.2)
[?] VS Code (version 1.32.1)
[?] Connected device (2 available)
Run Code Online (Sandbox Code Playgroud)
你有同样的经历吗?您有什么建议要解决吗?
考虑以下方法:
static void parse<T>(String input, T instance)
Run Code Online (Sandbox Code Playgroud)
可能有T一种情况是List. 如何获取 的子类型List?List请注意,此时中没有任何元素。所以这样做List[0].runtimeType是没有选择的。
如果T是类型List<Foo>,我想要得到Foo。
在 Dart 中如何做到这一点?
由于Android O不允许在不通知用户的情况下启动后台服务,因此我想选择使用Firebase Jobdispatcher在后台运行新线程的不同方法,请参阅:https://github.com/firebase/firebase -jobdispatcher,机器人
在构建API 26之前,我曾经在服务中启动一个新线程.这是一个STICKY服务,并将在用户从最近关闭应用程序时重新启动(当幻灯片从正在运行的应用程序中删除应用程序时).
在下面的API 26之前查看我的原始代码.
public class NotificationService extends Service {
@Override
public void onCreate() {
// this will start the thread
ApplicationLoader.postInitApplication();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
Run Code Online (Sandbox Code Playgroud)
在API 26中,出现了一些限制:
https://developer.android.com/about/versions/oreo/android-8.0-changes.html#back-all
所以上面的方法不再起作用了.但即使用户从最近的应用程序关闭应用程序,我仍然希望我的线程能够运行.我发现了一种解决方法,但对我来说感觉非常糟糕.
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher
(new GooglePlayDriver(applicationContext));
Job notificationJob = dispatcher.newJobBuilder()
.setService(NotificationService.class)
.setTag("backgroundJob-" + System.currentTimeMillis())
.setRecurring(true)
.setLifetime(Lifetime.UNTIL_NEXT_BOOT)
.setTrigger(Trigger.executionWindow(50, 60))
.setReplaceCurrent(false)
.build();
dispatcher.mustSchedule(notificationJob); …Run Code Online (Sandbox Code Playgroud) 我在我的第一个 Angular 应用程序中构建了一个错误拦截器,这对我来说是全新的。当出现401响应代码时,拦截器会尝试刷新 Firebase 授权令牌。因此,我编写了以下代码:
@Injectable()
export class ErrorInterceptor implements HttpInterceptor {
constructor(private authService: AuthService, private alertService: AlertService) { }
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).pipe(
catchError(err => {
if (err.status === 401) {
let user = localStorage.getItem('currentUser');
if (!user) {
this.logout(false);
return throwError(err.error);
}
let currentUser = JSON.parse(user);
if (!currentUser || !currentUser.stsTokenManager || !currentUser.stsTokenManager.accessToken) {
this.logout(false);
return throwError(err.error);
}
const reference = this;
this.authService.getToken(currentUser, true).then(t => {
// How do I await and return this …Run Code Online (Sandbox Code Playgroud) 目前,我已经为Android和PHP构建了一个应用程序,该应用程序使用chacha20-poly1305加密了一些数据。由于我使用libsodium作为它们的主干,因此这些程序工作正常。
但是,现在我为Arduino创建了相同的东西。但是我为此使用了一个不同的库。我正在使用以下输入:
Plaintext: 0000000000000001
Nonce: 0000000000000001
Key: b78b94bdf407e2fb0c4cb01e74fee7db743d4d5ab636fe4c181511137dedfc46
Run Code Online (Sandbox Code Playgroud)
在libsodium上,它使用mac生成以下密文:
78260b2aca088071 3c8eea6f05b671ed72f1bc61fee7cc22
Run Code Online (Sandbox Code Playgroud)
但是在Arduino上:
78260b2aca088071 4d888c3b8fe1a4ab8a28d5e593fe7a25
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:两者都有效吗?反之,它们不起作用,那么Arduino变体可能是什么问题?
我想知道是否有可能在不增加版本号的情况下更新Android应用程序.
我问这个问题,因为每次我在我的应用程序中实现一些小的东西,我需要在Play商店中更新它,然后我必须提供一个新的更高的版本号.
flutter ×4
android ×3
dart ×3
angular ×1
angular7 ×1
c# ×1
coordinates ×1
encryption ×1
flare ×1
flutter-web ×1
google-play ×1
hot-reload ×1
ios ×1
java ×1
svg ×1
swift ×1
typescript ×1
uicolor ×1
xamarin ×1