如何正确地将查询参数添加到Dart http get请求?当我试图将'?param1 = one¶m2 = 2'附加到我的网址时,我无法正确回应我的请求,但它在Postman中正常工作.这是我的代码的要点:
final String url = "https://www.myurl.com/api/v1/test/";
String workingStringInPostman = "https://www.myurl.com/api/v1/test/123/?param1=one¶m2=two";
Map<String, String> qParams = {
'param1': 'one',
'param2': 'two',
};
var res = await http
.get(Uri.encodeFull("$url${widget.pk}/"),
headers: {HttpHeaders.authorizationHeader: "Token $token",
HttpHeaders.contentTypeHeader: "application/json"},
);
Run Code Online (Sandbox Code Playgroud)
$ {widget.pk}只是一个传递的整数值(请参阅workingStringInPostman变量中的值123.
如果需要Uri参数,qParams可以用于connivence.
一个代码示例将受到欢迎.
我采取的步骤:
如何生成(反向生成?)现有项目的UML图?甚至是特定的java文件?
我想制作一个Flutter应用程序,其中一个要求是在Android或iPhone设备上打开本机电子邮件客户端.我不想创建新的电子邮件,只需打开电子邮件应用程序.如果可能的话,我希望能够使用平台通用代码打开电子邮件客户端,如果不是,我想知道iOS端需要什么.我不是在寻找发送电子邮件意图,因为我知道Flutter中有一个插件.作为Android开发人员,我相信我知道如何从Flutter调用Intent Intent的Intent,如果我必须这样做,但我对iOS不熟悉.
我正在尝试使用OKHttp将jpg文件上传复制到PHP服务器上的多部分表单.我相信,我在错误的地方得到了一些参数,我对http和命名法中的多部分形式并不熟悉.
这就是我想要完成的事情
将参数(名称值对)发布:myuser,token,types to https://www.somesite.com/jpgphotoupload.php
然后我用方法POST发出一个多部分表单请求,其中包含以下内容:path:https://www.somesite.com/jpgphotoupload.php
文件数据:大小为480 x 640的JPEG压缩图像数据(据我所知)
mimeType:image/jpeg (我明白了)
不确定以下名称值对应放在多部分表单请求的一部分,尝试使用addFormDataPart
参数:再次上面的参数形式,(myuser,token,types)
name:imagefile
fileName:myname.jpg
此外,这里还有其他可能相关的内容
"Connection" , "Keep-Alive"
"ENCTYPE", "multipart/form-data"
"Content-Type", "multipart/form-data"
Run Code Online (Sandbox Code Playgroud)
这是我目前的代码.
MediaType MEDIA_TYPE_JPG = MediaType.parse("image/jpg");
OkHttpClient client = new OkHttpClient();
RequestBody requestBody = new MultipartBuilder()
.type(MultipartBuilder.FORM)
.addPart(
Headers.of("Content-Disposition", "form-data; name=\"imagefile\""),
RequestBody.create(MEDIA_TYPE_JPG, new File("/storage/emulated/0/download/camerapic.jpg")))
.addFormDataPart("myuser", getprefmyuser(getBaseContext()))
.addFormDataPart("token", getpreftoken(getBaseContext()))
.addFormDataPart("types", "type1")
.addFormDataPart("fileName", "myname.jpg")
.build();
Request request = new Request.Builder()
.header("myuser", getprefmyuser(getBaseContext()))
.header("token", getpreftoken(getBaseContext()))
.header("type", "car")
.url("https://www.somesite.com/jpgphotoupload.php")
.post(requestBody)
.build();
Response response = null;
try {
response …Run Code Online (Sandbox Code Playgroud) 我最初在Android Studio中使用Kotlin和Swift的本地语言创建了Flutter项目。有没有一种方法可以将本机iOS语言更改为Objective-C。这种配置似乎仅在Flutter项目创建时发生。
我在制作谷歌截击请求时使用了setTags.如何在内联onResponse或响应侦听器中使用getTag或其他方法?
public boolean VolleyRequestWrapper(final int which, String url, final String volleyTag) {
JsonObjectRequest jsonObjReq = null;
jsonObjReq = new JsonObjectRequest(
Method.GET,
url,
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
??????.getTag(); // <----- THIS IS WHERE I WANT TO get the Tag.
}
}, new Response.ErrorListener() {
public void onErrorResponse(VolleyError error) {
VolleyLog.d(volleyTag, "Error: " + error.getMessage());
volleyException = true;
}
});
// Adding request to request queue
jsonObjReq.setTag(volleyTag); // I can set the tag
requestQueue.add(jsonObjReq);
return !volleyException; …Run Code Online (Sandbox Code Playgroud) 我的应用程序的OS 4.x版本中止没有找到类.NoClassDefFoundError:com.google.android.gms.internal.zzno.当手机使用更高版本的Google Play服务时似乎没有问题.您如何解决此构建问题.这是日志.
11-20 10:03:25.945 3018-3018/com.something.foobar D/dalvikvm:延迟启用CheckJNI 11-20 10:03:26.089 3018-3018/com.something.foobar W/dalvikvm:VFY:无法查找签名中引用的类(Lcom/google/android/gms/internal/zznl;)11-20 10:03:26.089 3018-3018/com.something.foobar W/dalvikvm:VFY:无法找到签名中引用的类( Lcom/google/android/gms/internal/zznl;)11-20 10:03:26.089 3018-3018/com.something.foobar I/dalvikvm:找不到方法com.google.android.gms.internal.zznl. currentTimeMillis,引自方法com.google.android.gms.measurement.internal.zzt.zzBM 11-20 10:03:26.089 3018-3018/com.something.foobar W/dalvikvm:VFY:无法解析接口方法44251: Lcom/google/android/gms/internal/zznl; .currentTimeMillis()J 11-20 10:03:26.089 3018-3018/com.something.foobar D/dalvikvm:VFY:将代码0x72替换为0x007f 11-20 10: 03:26.137 3018-3018/com.something.foobar D/dalvikvm:VFY:将代码0x71替换为0x0000 11-20 10:03:26.137 3018-3 018/com.something.foobar D/AndroidRuntime:关闭VM 11-20 10:03:26.137 3018-3018/com.something.foobar W/dalvikvm:threadid = 1:线程退出时未捕获异常(组= 0xa4b6c648)11 -20 10:03:26.141 3018-3018/com.something.foobar E/AndroidRuntime:FATAL EXCEPTION:主要java.lang.NoClassDefFoundError:com.google.android.gms.internal.zzno,位于com.google.android.gms.来自com.google.android.gms.measurement.internal.zzx.zzBQ(未知来源)的com.google.android.gms.measurement.internal.zzt.(未知来源)的measurement.internal.zzx.zzj(未知来源) com.google.android.gms.measurement.internal.zzt.zzaU(未知来源)位于android.content.ContentProvider.attachInfo(ContentProvider.java)的com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(未知来源) :1214)在Android.app.ActivityThread.installContentProviders(A)的android.app.AtentThread.installProvider(ActivityThread.java:4879)的android.content.ContentProvider.attachInfo(ContentProvider.java:1189)ctivityThread.java:4485)android.app.ActivityThread.acle上共有android.app.ActivityThread.handleBindApplication(ActivityThread.java:4425).事件$ 1300(ActivityThread.java:141)android.app.ActivityThread $ H.handleMessage(ActivityThread. java:1316)在android.app.Handler.dispatchMessage(Handler.java:99)的android.app.Looper.loop(Looper.java:137)在android.app.ActivityThread.main(ActivityThread.java:5103)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:525)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:737 )在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)at dalvik.system.NativeStart.main(Native Method)11-20 10:03:28.753 3018-3018 /?I /处理:发送信号.PID:3018 SIG:9
我尝试编译ScottdVersion/targetSdkVersion 22和23,但得到了大量的样式主题错误.
这是gradle构建
buildscript {
repositories {
mavenCentral()
maven …Run Code Online (Sandbox Code Playgroud) 我已经为 WillPopScope 创建了一个自定义小部件(如下),你如何初始化 WillPopCallback onWillPop?
我收到警告说 onWillPop 变量没有初始化,也没有找到应该如何初始化。
在 PlatformWillPopScope 的以下实现中,WillPopCallback onWillPop 只是传递给 Flutter 定义的小部件 WillPopScope。从 Dart 分析窗口中,我收到以下错误:
warning: The final variable 'onWillPop' must be initialized. (final_not_initialized_constructor_1 at [draw_navigation_app] lib/common/platform/platformWillPopScope.dart:15)
Run Code Online (Sandbox Code Playgroud)
我只是想将 onWillPop 初始化为任何值,因为实际值将从构造函数提供。
class PlatformWillPopScope extends StatelessWidget{
final Key key;
final Widget child;
final WillPopCallback onWillPop;
final EdgeInsetsGeometry paddingExternal = EdgeInsets.all(0.0);
PlatformWillPopScope({
this.key,
this.child,
onWillPop
}) : assert(child != null),
super(key: key);
@override
Widget build(BuildContext context) {
return Platform.isIOS ?
Padding(padding: paddingExternal == null ? EdgeInsets.all(0.0) :
paddingExternal,
child: child, …Run Code Online (Sandbox Code Playgroud) 在使用Android Studio 3.1.4的FLutter Release Preview 2发行版中,当我使用命令stop'main.dart'(命令f2)从Android Studio中停止该程序,然后运行'main.dart'时,我的项目出现了零星的构建问题。 '(^ R)我得到下面列出的错误。但是,如果我完全关闭Android Studio并再次打开该项目,它将编译并正确运行而不会出现错误。我想知道是否有一种方法可以清理项目以提高关闭和打开Android Studio的效率,这与Flutter热重装起了反作用。
这是我得到的Android Studio错误:
在为调试模式x86构建的Android SDK上启动lib / main.dart ... [{“ event”:“ app.progress”,“ params”:{“ appId”:“ 04e99281-55ea-41cd-851f-5b07487c5302” ,“ id”:“ 0”,“ progressId”:null,“ message”:“正在初始化gradle ...”}}]正在初始化gradle ...
解决依赖关系...运行'gradlew assembleDebug'... 不赞成使用registerResGeneratingTask,不赞成使用registerGeneratedFolders(FileCollection)registerResGeneratingTask,不赞成使用registerGeneratedFolders(FileCollection)registerResGeneratingTask,使用registerGeneratedFolders(FileCollection)registerResGeneratingTask(不推荐使用)不推荐使用,请使用registerGeneratedFolders(FileCollection)编译器消息:lib / ui / loginScreen.dart:1:1:错误:无法访问平台私有库。编译器消息:import'dart:_http'; 编译器消息:^编译器在/Users/pbirdsall/Documents/highline/hl_leverage/lib/main.dart上失败
失败:构建失败,发生异常。
其中:脚本'/Users/pbirdsall/flutter/flutter/packages/flutter_tools/gradle/flutter.gradle'行:460
出了什么问题:任务':app:flutterBuildDebug'的执行失败。
进程'命令'/ Users / pbirdsall / flutter / flutter / bin / flutter''完成,退出值非零1
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。
在https://help.gradle.org上获得更多帮助
8秒内失败,完成:错误:Gradle构建失败:1
您可以忽略错误日志的以下部分(在上面的斜体中),因为在成功执行程序时会发生这种情况。
不推荐使用,不建议使用registerGeneratedFolders(FileCollection)registerResGeneratingTask,不推荐使用,不建议使用registerGeneratedFolders(FileCollection)registerResGeneratingTask,不推荐使用,不建议使用registerGeneratedFolders(FileCollection)registerResGeneratingTask,不使用,使用registerGeneratedFolders(FileCollection),RegisterResGeneratingTask,不推荐使用loginScreen.dart:1:1:错误:无法访问平台私有库。编译器消息:import'dart:_http'; 编译器消息:^编译器失败
我的Android Studio版本是3.1.4
我的Flutter版本是:
Flutter 0.8.2•频道beta• https://github.com/flutter/flutter.git 框架•版本5ab9e70727(2周前)•2018-09-07 12:33:05 -0700引擎•版本58a1894a1c工具•Dart 2.1.0-dev.3.1.flutter-760a9690c2
我在macOS High Sierra 10.13.6上运行
在 Flutter 中,我在列表视图中使用 RefreshIndicator,效果很好。我想在从顶部下拉时刷新数据,如果从底部拉起则加载更多分页数据。有没有办法在 onRefresh 回调中判断它是从顶部还是从底部拉出?
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return RefreshIndicator(
onRefresh: () {},
child: ListView ...
Run Code Online (Sandbox Code Playgroud) 我有几个连接到Google的活动,我只想连接到Google一次并在整个应用程序中共享凭据.我有一项通过OAuth2向Google验证的活动.它返回一个凭证,如下所示:
private GoogleAccountCredential credential;
...
credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE);
Run Code Online (Sandbox Code Playgroud)
有没有办法将其放入共享首选项.我已经尝试了所有明显的类型,即parcelable等,我发现凭证可以放入共享首选项,但找不到将其转换回GoogleAccountCredential的getter.我甚至尝试将它作为一个对象,但是再次将getter转换回GoogleAccountCredential类型.
如果无法使用"共享首选项",那还有其他选择吗?
在此先感谢您的时间和帮助.