安装了干净的windows10(1607)和intellij idea(2020.1.2社区版)。当我创建新的 gradle 项目时
Invalid Gradle JDK configuration found. Open Gradle Settings
Run Code Online (Sandbox Code Playgroud)
"gradle-wrapper.properties not found"。
我的一些应用程序是从Playmarket下载的,广告被删除并以apk格式发布在各个网站上以供手动安装。flutter 中是否有任何合法的方法来检查应用程序启动时的安装方式?
我需要打开并保存设备上可能存在的简单文本文件。例如在文档、下载等中。只要文件可用于其他程序,在 Android 术语中,它就是“外部存储”
\npath_provider提供了几种方法。其中之一getExternalStorageDirectory()。安卓文档说:
\n\n此方法已在 API 级别 29 中弃用。为了提高用户隐私,\n不推荐直接访问共享/外部存储设备。当\n应用程序定位 Build.VERSION_CODES.Q链接时
\n
如果我使用方法path_provider
getExternalStorageDirectory()\xe2\x86\x92 /storage/emulated/0/Android/data/myapp.name/files \n getApplicationDocumentsDirectory()\xe2\x86\x92 /data/user/0/myapp.name/app_flutter
getExternalStorageDirectories(type: StorageDirectory.documents)返回列表,其中包含
/storage/emulated/0/Android/data/myapp.name/files/Documents
\n/storage/1CEE-4019/Android/data/myapp.name/files/Documents
\n在我的 Android 模拟器(Api 30)上,真实的外部文档位于
\n/存储/模拟/0/文档
\n/存储/模拟/0/下载
\n我怎样才能访问它们?据我了解,没有其他选择path_provider
Future<List<Data>> _DataList; 我使用此方法和 URL获取 JSON 数据,例如https://nomer.biz.ua/mobile/kievstar?page=1
Future<List<Data>> getData(int pageCount) async {
String url = Uri.encodeFull("https://nomer.biz.ua/mobile/kievstar?page=$pageCount");
var response = await http.get(url, headers: {"Accept": "application/json"}).timeout(const Duration(seconds: 10));
final Map res = json.decode(response.body);
Response model = Response.fromJson(res);
page++;
return model.data;
}
Run Code Online (Sandbox Code Playgroud)
并将它们传递给 FutureBuilder
@override
Widget build(BuildContext context) {
return Scaffold(
body:FutureBuilder(
future: _DataList,
builder: (BuildContext ctx, AsyncSnapshot<dynamic> snapshot){
if (snapshot.connectionState != ConnectionState.done) {
return Center(child: CircularProgressIndicator());
}
if (snapshot.hasError) {
return Center(child: Text("Error"));
}
if (!snapshot.hasData) {
return Center(child: Text("Error"));
}
var …Run Code Online (Sandbox Code Playgroud) 这是我第一次使用 Sanctum/Jetstream,我不明白为什么在错误验证期间,$request->validate有关 JSON 格式的验证错误的消息没有响应,而只是显示主页。调试模式已启用,laravel 日志中也没有错误。我使用官方文档中的示例代码,但验证不会响应 JSON 错误,但如果我发送的凭据正确,我会得到正确的令牌。
Route::post('/sanctum/token', function (Request $request) {
$request->validate([
'email' => 'required|email',
'password' => 'required',
'device_name' => 'required',
]);
$user = User::where('email', $request->email)->first();
if (! $user || ! Hash::check($request->password, $user->password)) {
throw ValidationException::withMessages([
'email' => ['The provided credentials are incorrect.'],
]);
}
return $user->createToken($request->device_name)->plainTextToken;
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试捕获 HTTP 客户端操作期间发生的错误。如果启用了调试APP_DEBUG=true,那么我会收到错误跟踪,如果关闭,则会出现 json response "message": "Server Error"。但我需要捕获异常,这不起作用。尝试过 catch (\Illuminate\Http\Client\ConnectionException $e),但没有成功。我究竟做错了什么?
public function ExampleMethod()
{
try {
$response =
Http::withBasicAuth(env('REMOTE_LOGIN'), env('REMOTE_PASSWORD'))
->accept('application/json')
->retry(3, 2000)->timeout(12)
->withBody("dummy body content", "application/json")
->post($host . $url);
if ($response->ok()) {
//Do something
}
} catch (Exception $e) {
dd("CATCH IT");
}
}
Run Code Online (Sandbox Code Playgroud)
文档中有一个示例,域不存在,异常处理程序应该在某处工作,但它不起作用
public function catchExceptins()
{
try {
$url = "domain-is-not-exist.com";
$response = Http::get($url);
if ($response->ok()) {
dd("200 OK");
}
//
if($response->failed()){
dd("FAILED");
}
//Below are the handlers that should work, …Run Code Online (Sandbox Code Playgroud)