flutter
文章平均质量分 52
kuanxu
这个作者很懒,什么都没留下…
展开
-
Flutter 强制获取焦点的问题
在用flutter框架实现Flutter TV app的过程中,光标切换是个大问题: 从主菜单到子菜单,从子菜单到目标选项,各个目标选项之间,都需要光标切换。而且在Tv上无法触摸,主要靠遥控器上的上、下、左、右键来实现。所以光标的各个方向移动有时候需要以下方法指定才能实现。FocusScope.of(context).requestFocus(expectFocus); 但是这个方法有时候并不能得到想要的效果,譬如从menu1按右键光标正常会跳到menu2,但事实上却...原创 2021-12-21 15:11:35 · 2891 阅读 · 0 评论 -
混淆编译造成 java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in “/data/app-lib/xx/xx.so”
android app运行的时候偶尔会遇到加载so文件的问题,譬如java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app-lib/xxx/xxx.so"今天遇到这种问题时,我按照网上的资料进行如下检查:检查对应编译目录lib下有没有对应so文件; 检查对应module下的 build.gradle 没有如下条件 sourceSets { main { jniLibs.原创 2021-11-26 12:04:04 · 3720 阅读 · 0 评论 -
Flutter String 的 isEmpty 使用
Flutter 里的String isEmpty 只是判断string是否为空,而不能判断string是否null,所以判断是否为空的前提,要判断str != null;不然,一旦字符串为空为null,调用isEmpty时就会出现以下exception,[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: NoSuchMethodError: The getter 'isEmpty' was called on null.原创 2021-11-24 17:25:02 · 2961 阅读 · 0 评论 -
No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
前段时间由于要进行ndk编译,把AS里的 NDK 版本降了,同时在Default ProjectStucture里面设置了新的ndk路径现在问题是,ndk项目里这样的配置没有问题,但是在flutter项目里,这种ndk配置会出现问题,如会有如下编译错误> No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi因为之前没有改nd.原创 2021-11-18 16:26:47 · 1726 阅读 · 0 评论 -
Flutter源码中的特殊操作符、关键字
相对于java,dart代码里经常会遇到一些特殊的操作符号,如级联操作.., 问号相关操作符?, ??, ??=, ?. , 内联 …, …?, 还有 with, mixin…on等。这里对dart中的常用特殊操作符做一些记录一、级联符号 ..第一次遇到dart 级联符号(..)实在flutter app的入口函数中,如下:void main() => runApp(MyApp());void runApp(Widget app) { WidgetsFlutterBinding...原创 2021-11-17 17:56:13 · 3013 阅读 · 0 评论 -
Android Studio开发工具使用过程中遇到的问题及解决方法
自从把AS工具升级到4.0版本,并安装Flutter开发插件后,AS工具就没那么好使了。经常会出现很多莫名奇妙的问题:找不到Class定义(明明有定义),找不到导入文件,java文件显示xml内容,A文件显示成B文件内容等等。 不知道是Flutter插件的原因,还是V4.0版本的bug。总之,混乱不堪,非常影响开发效率。下面介绍一下几个主要问题的解决方法:1、文件类型显示不对,本来每个java文件前面应该显示”J”图标的却显示“C”图标解决方法; 点击右下角的小人头像将P..原创 2021-10-14 16:07:31 · 7933 阅读 · 0 评论 -
Android开发中数据变化监听的5种方式
一、Broadcast之BroadcastReciever二、SharedPreferences 之 OnSharedPreferenceChangeListener()三、ContentProvider 之 ContentObserver四、Flutter 数据监听之 EventBus五、Flutter 数据监听之 ChangeNotifier日常Android开发中总会遇到数据变化监听的需求,譬如一个数据变化需要多个页面或者activity内容同时更新。 而Android中通..原创 2021-10-09 12:25:35 · 9094 阅读 · 0 评论 -
Flutter TV App 中如何防止按键过快
在刚刚开发完成的Flutter TV app中,遇到过好多个棘手的问题,最后都迎刃而解了。正好有空就一个个总结出来。第一个问题:如何处理flutter TV 按键过快?机顶盒app开发中,内存问题首要考虑的,因为大多数的机顶盒内存较低,它们的Ram在2G以下,特别是很多内存1G, 500M的盒子。app在这种盒子上运行时动不动就闪退,着实令人头疼。由于硬件内存的限制,用遥控器切换app页面时,速度会很慢,偶尔还会发生ANR,这种情况下如果不控制遥控...原创 2021-09-29 15:34:59 · 629 阅读 · 0 评论 -
Native heap 和Dalvik heap 学习总结
最近在开发flutter app,发现flutter app的内存使用和之前android java app 有很大区别,flutter app 运行时Native heap占大头,android java app运行时, dalvik heep 占大头。于是重新学习了一遍android内存知识,大致总结如下1,进程的地址空间分为stack和heap,stack是栈,由操作系统控制, 函数地址、参数,内部变量都在栈上,栈不大,一般几MBheap是堆,由程序员控制,所以malloc, ne原创 2021-09-29 11:26:07 · 1514 阅读 · 0 评论 -
Flutter开发中遇到 “从顶部向下滑动即可退出全屏模式”
近日在用flutte/dart 调试机顶盒app时,发现个别盒子一旦启动app就会进入半透明的全屏模式——安卓沉浸模式,而且还从顶部弹出一个蓝色的提示框,如下图由于机顶盒无法触摸,顶部的弹框也一直无法获得光标,只能按back键关掉弹窗并退出半透明模式。于是尝试了很多方法,设置SYSTEM_UI_FLAG_XXX 相关参数,始终毫无效果,弹窗依然会出现。最后偶然发现根组件是Container的页面就不会弹框,而根部组件是Scaffold的就会弹出蓝色的提示框。查资料发现,对于Scarfo..原创 2021-06-11 16:02:04 · 7349 阅读 · 1 评论 -
Flutter异常Another exception was thrown: Instance of ‘DiagnosticsProperty<void>‘
问题背景:今天尝试在flutter “Column” 控件里添加“ListView”控件时,编辑编译时均正常,但是运行时出现如题异常。问题解决:将ListView 移出“Column”子控件列表,用父“Stack”控件固定坐标方法,将ListView固定显示在屏幕某个位置。总结:1,暂时不清楚为什么ListView和GridView不能嵌入到Column里。2,不能把Column 和Row单纯看作原android Layout里的“LinearLayout”的替代控件, 它们的子widgets里原创 2020-11-04 16:19:50 · 3888 阅读 · 0 评论 -
RemoteViews can only be used once ,if not ,it may cause ANR in hosts such as Laucher
这两天研究flutter downloader (插件flutter_downloader: ^1.5.0)时遇到上面一个错误。 我需要在download callback fuction中获取下载进度并显示首先在initState()中实现了pr = new ProgressDialog(context, type: ProgressDialogType.Download);这是一个用来显示下载进度的RemoteView,然后再flutter download cal...原创 2020-09-10 10:55:36 · 244 阅读 · 0 评论 -
Android 与 Flutter 简单对比
特性 Android Flutter UI视图 View,视图更新只需要修改View的内容来更新部分内容, 视图页面Activity, Fragment Widget,视图更新需要通过setState()重建整个widget UI布局 Xml来编写布局,主要布局和逻辑分开,在不同文件中 Widget树来编写布局, 布局...原创 2020-09-09 15:02:24 · 797 阅读 · 0 评论 -
仅一个方法搞定Flutter Http Dio 请求
首先 pubspec.yaml里面添加dio依赖模块dio: ^3.0.10由于 http请求常用的是GET和POST方法, 请求参数格式要么JSON,要么XML,所以我在第一次封装dio http请求时用了四个方法:Get with Json, GET with XML, Post with Json, Post with xml。完成后发现好多重复代码,于是就相办法把四个方法合并成一个方法,调用的时候传入需要的参数即可譬如 请求method, 可传入“GET”, 或“POST”,..原创 2020-09-04 17:41:41 · 901 阅读 · 0 评论 -
Trying to create a platform view of unregistered type: plugins.flutter.io/webview 问题解决
今天尝试在Android 工程下的Flutter dart 代码里使用WebView 控件,来打开一个web页面但是首次结果是页面白屏,运行错误如题:大概意思是webview插件没有注册。我按照百度出来的方法,一一对照第一步,在pubspec.yaml文件里添加了 flutter 依赖dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your applic...原创 2020-08-18 18:11:11 · 4999 阅读 · 0 评论