小编Has*_*sef的帖子

dart lang 中的自定义注释/元数据

谁能给我解释一下 Dart 中注释的使用吗?

在文档中,我找到了这个例子:

library todo;

class todo {
  final String who;
  final String what;

  const todo(this.who, this.what);
}
Run Code Online (Sandbox Code Playgroud)

其次是

import 'todo.dart';

@todo('seth', 'make this do something')
void doSomething() {
 print('do something');
}
Run Code Online (Sandbox Code Playgroud)

那么,我应该在 main() 中编写什么来执行 doSomething() 函数呢?

谢谢

dart dart-mirrors

6
推荐指数
1
解决办法
2612
查看次数

ListView.builder 不工作

在尝试实现flutter-firebase 时ListView.builder未能显示!

请注意,当我尝试在没有ListView.builder它的情况下显示第一个元素时,它工作正常,即错误仅与此代码块相关:

return ListView.builder(
    itemCount: snapshot.data.documents.length,
    padding: const EdgeInsets.only(top: 10.0),
    itemExtent: 25.0,
    itemBuilder: (context, index) {
    DocumentSnapshot ds = snapshot.data.documents[index];
    return Text(" ${ds['name']} ${ds['vote']}");
});
Run Code Online (Sandbox Code Playgroud)

我的完整代码是:

import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

void main() => runApp(MyApp(
  textInput: Text("Text Widget"),
));

class MyApp extends StatefulWidget {
  final Widget textInput;
  MyApp({this.textInput});

  @override
  State<StatefulWidget> createState() => MyAppState();
}

class MyAppState extends State<MyApp> {
  bool checkBoxValue = false;
  @override
  Widget build(BuildContext ctxt) {
    return new MaterialApp(
      home: SafeArea(
        child: …
Run Code Online (Sandbox Code Playgroud)

dart flutter

6
推荐指数
2
解决办法
3094
查看次数

Postgres 中的不变性

我想创建一个不可变的 Postgres 数据库,用户可以在其中插入和选择(写入和读取)数据,但无法更新或删除数据。

我知道FOR UPDATE锁,但不知道如何使用它。

举例来说,我有下表,如何使其不可变(或者,如果我理解正确,如何FOR UPDATE永久使用锁)

CREATE TABLE account(
 user_id serial PRIMARY KEY,
 username VARCHAR (50) UNIQUE NOT NULL,
 password VARCHAR (50) NOT NULL,
 email VARCHAR (355) UNIQUE NOT NULL,
 created_on TIMESTAMP NOT NULL,
 last_login TIMESTAMP
);
Run Code Online (Sandbox Code Playgroud)

postgresql database-permissions

6
推荐指数
2
解决办法
2760
查看次数

将数据从活动传递到同一活动中webView加载的HTML文件中使用的JavaScript

我的Android应用程序的目标是扫描条形码/ QR码,并将其传递给在webView元素处加载的HTML文件。

该应用程序只有一个布局,其中包含一个按钮和webview元素。单击按钮后,应用程序将打开条形/ QR扫描器,并将结果返回到活动中,我需要将此结果传递到我的HTML文件中以进行进一步处理。

教程所述,MainActivity正常工作,并在此处返回结果:

    public void onActivityResult(int requestCode, int resultCode, Intent intent) {

    IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    if (scanningResult != null) {
        String scanContent = scanningResult.getContents();
        String scanFormat = scanningResult.getFormatName();
        formatTxt.setText("FORMAT: " + scanFormat);
        contentTxt.setText("CONTENT: " + scanContent);

     /*** I NEED to SEND the 'scanContent' to the my HTML file loaded at the WebView element   ***/

    }
    else{
        Toast toast = Toast.makeText(getApplicationContext(),
                "No scan data received!", Toast.LENGTH_SHORT);
        toast.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

我读这个这个和 …

java android webview android-intent android-layout

5
推荐指数
1
解决办法
5765
查看次数

从.Net Core api返回html文件

我试图用这个这个得到一个HTML文件作为输出,但得到error 500

我的应用程序的目标是基于api请求,服务器将生成请求的输出作为html文件,并将其发送到用户请求.

使用的代码是:

using Microsoft.AspNetCore.Mvc;  // for Controller, [Route], [HttpPost], [FromBody], JsonResult and Json
using System.IO;   // for MemoryStream
using System.Net.Http; // for HttpResponseMessage
using System.Net;  // for HttpStatusCode
using System.Net.Http.Headers;  // for MediaTypeHeaderValue

namespace server{
    [Route("api/[controller]")]
    public class FileController : Controller{
    [HttpGet]
    public HttpResponseMessage Get()
    {
        string r = @" 
            Hello There
        ";
        var stream = new MemoryStream();
        StreamWriter writer = new StreamWriter(stream);
        writer.Write(r);
        writer.Flush();
        stream.Position = 0;

       // processing the stream.
       byte[] …
Run Code Online (Sandbox Code Playgroud)

.net .net-core asp.net-core-webapi

5
推荐指数
2
解决办法
8218
查看次数

在 Flutter 中使用 Stream/Sink

我正在尝试increment通过使用Dart API 中的Streams而不使用scoped_modelrxdart来替换flutter 应用程序代码。

所以我读了这个并观看了这个,但无法为我工作,我的代码是:

StreamProvider.dart

import 'package:flutter/widgets.dart';
import 'businessLogic.dart';
import 'dart:async';

class Something {

  final _additionalContrllerr = StreamController<int>();
  Sink<int> get addition => _additionalContrllerr.sink;

  Stream<int> get itemCount =>  _additionalContrllerr.stream;
}

class StreemProvider extends InheritedWidget {
  final Something myBloc;  // Business Logic Component

  StreemProvider({
    Key key,
    @required this.myBloc,
    Widget child,
  }) : super(key: key, child: child);

  @override
  bool updateShouldNotify(InheritedWidget oldWidget) => true;

  static Something of(BuildContext context) =>
      (context.inheritFromWidgetOfExactType(StreemProvider) …
Run Code Online (Sandbox Code Playgroud)

dart flutter

5
推荐指数
1
解决办法
2万
查看次数

如何使用 Gradle Kotlin-DSL 添加本地资源

我正在尝试使用 kotlin DSL 测试 gradle 5。

我创建了一个库,并将其构建如下:

Hasans-Air:blogiclib h_ajsf$ gradle init --type=kotlin-library

Starting a Gradle Daemon, 1 busy Daemon could not be reused, use --status for details

Select build script DSL:

1: groovy

2: kotlin

Enter selection (default: kotlin) [1..2] 2

Project name (default: blogiclib): 

Source package (default: blogiclib): 

**BUILD SUCCESSFUL** in 16s

2 actionable tasks: 2 executed

Hasans-Air:blogiclib h_ajsf$ ls

build.gradle.kts gradlew settings.gradle.kts

gradle gradlew.bat src

Hasans-Air:blogiclib h_ajsf$ code .

Hasans-Air:blogiclib h_ajsf$ gradle build
Run Code Online (Sandbox Code Playgroud)

然后我得到了生成的输出文件: build\libs\blogiclib.jar

Library.kt生成的文件是:

package …
Run Code Online (Sandbox Code Playgroud)

gradle kotlin

5
推荐指数
1
解决办法
5357
查看次数

如何将特征的实现拆分为多个文件?

我开始使用ws,我想将Handler特征实现拆分为多个文件。

所以我把这个写在一个文件中on_open.rs

impl Handler for Client {
    fn on_open(&mut self, _: Handshake) -> Result<()> {
        println!("Socket opened");
        Ok(())
    }
}
Run Code Online (Sandbox Code Playgroud)

这在另一个文件中on_message.rs

impl Handler for Client {
    fn on_message(&mut self, msg: Message) -> Result<()> {
        println!("Server got message '{}'. ", msg);
        Ok(())
    }
}
Run Code Online (Sandbox Code Playgroud)

编译时我收到以下错误:

error[E0119]: conflicting implementations of trait `ws::handler::Handler` for type `models::client::Client`:
 --> src\sockets\on_message.rs:9:1
  |
9 | impl Handler for Client {
  | ^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `models::client::Client`
  |
 ::: src\sockets\on_open.rs:8:1 …
Run Code Online (Sandbox Code Playgroud)

module traits rust

5
推荐指数
1
解决办法
2528
查看次数

使用 webview 拍照/拍照

我有以下代码,可以在移动浏览器中顺利打开,并为我提供使用相机拍照或从图库上传照片的选项:

<input type="file" accept="image/*;capture=camera"/>
Run Code Online (Sandbox Code Playgroud)

我在 加载相同的内容WebView,并进行如下设置:

webView.webChromeClient = object : WebChromeClient() {

            override fun onShowFileChooser(
                webView: WebView,
                filePathCallback: ValueCallback<Array<Uri>>,
                fileChooserParams: FileChooserParams
            ): Boolean {
                var takePictureIntent: Intent? = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
                val contentSelectionIntent = Intent(Intent.ACTION_GET_CONTENT)
                contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE)
                contentSelectionIntent.type = "image/*"
                if (ContextCompat.checkSelfPermission(
                        ctx,
                        Manifest.permission.CAMERA
                    ) != PackageManager.PERMISSION_GRANTED
                ) {
                    ActivityCompat.requestPermissions(
                        activity,
                        arrayOf(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE),
                        0
                    )
                }

                val intentArray: Array<Intent?> = takePictureIntent?.let { arrayOf(it) } ?: arrayOfNulls(0)

                val chooserIntent = Intent(Intent.ACTION_CHOOSER)
                chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent)
                chooserIntent.putExtra(Intent.EXTRA_TITLE, "Image Chooser")
                chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray)
                startActivity(chooserIntent)

                filePathCallback?.onReceiveValue(null)
                return true …
Run Code Online (Sandbox Code Playgroud)

android android-webview

5
推荐指数
1
解决办法
1133
查看次数

结构字段标记“name”与reflect.StructTag.Get不兼容:结构标记对的语法错误

我读过这篇文章,但它与我的情况不同,我有以下代码:

package main

import (
    "bytes"
    "fmt"
    "reflect"
    "strconv"
    "strings"
)

type User struct {
    Name string `name`
    Age  int64  `age`
}

func main() {
    var u User = User{"bob", 10}

    res, err := JSONEncode(u)
    if err != nil {
        panic(err)
    }
    fmt.Println(string(res))

}

func JSONEncode(v interface{}) ([]byte, error) {
    refObjVal := reflect.ValueOf(v)
    refObjTyp := reflect.TypeOf(v)
    buf := bytes.Buffer{}
    if refObjVal.Kind() != reflect.Struct {
        return buf.Bytes(), fmt.Errorf(
            "val of kind %s is not supported",
            refObjVal.Kind(),
        )
    }
    buf.WriteString("{") …
Run Code Online (Sandbox Code Playgroud)

reflection struct go compiler-warnings

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