- 博客(142)
- 资源 (4)
- 收藏
- 关注
原创 flutter app闪退问题记录
1 上架vivo诸多机型出现闪退问题。经过云测,进行大量手机机型测试,功能测试结果报告及截图,退出是使用了exit(0)的地方出现闪退。更换方式:await SystemChannels.platform.invokeMethod('SystemNavigator.pop');2 在Android 5.0及5.1的机型上显示白屏,提高最低版本安装要求。...
2022-05-23 11:09:37 1444
原创 flutter Android混淆
1 在android/app目录下新建文件,名为proguard-rules.pro。文件内容如下:-keep class io.flutter.app.** { *; }-keep class io.flutter.plugin.** { *; }-keep class io.flutter.util.** { *; }-keep class io.flutter.view.** { *; }-keep class io.flutter.** { *; }-keep class i
2022-02-22 19:55:53 2696
原创 Flutter WebView键盘弹起关闭导致闪烁
在使用InAppWebView或者原生WebView时,当网页调起键盘或者关闭键盘的情况下,网页内容会闪烁一次。为了解决这个问题,需要在AndroidManifest.xml中修改android:windowSoftInputMode为adjustPan。在新建flutter工程时android:windowSoftInputMode默认为adjustResize。在改为adjustPan,确实没有闪烁的现象了。...
2021-09-23 09:56:08 1852 1
原创 Flutter 与 JavaScript进行通信
flutter 采用的插件是flutter_inappwebview1 APP调用js的函数//h5端 window.appCallJs = function(args){ console.log(args) }//app端 webView.injectScriptCode("window.appCallJs('hello world')");2 js调用APP的方法// 代码 window.flutter_inappbrowser.
2021-08-05 09:32:49 1686
原创 Android Intent传递HashMap和LinkedHashMap的区别
Intent传递Map集合 intent.putExtra("map",new LinkedHashMap<>()); 或 intent.putExtra("map",new HashMap Intent获取Map集合 (HashMap)intent.getSerializableExtra("map"); 或 (LinkedHashMap)intent.getSerial
2021-07-01 17:21:17 510
原创 fijkPlayer 播放 rtsp
await _fijkPlayer.setOption(FijkOption.formatCategory, "rtsp_transport", "tcp");//关键设置 await player .setDataSource(url, autoPlay: true, showCover: true) .catchError((e) { });
2021-04-08 17:07:39 723
原创 Flutter TextField实现双向绑定
TextField( style: const TextStyle(color: Color(0xFFA7ABBB),fontSize: 15), inputFormatters: [DecimalInputFormat(decimalRange: 4)], keyboardType: TextInputType.numberWithOptions(signed: true), c...
2021-03-19 15:45:01 2964 2
原创 android 引用第三方aar后,再打包成AAR
可参照此文操作,https://www.cnblogs.com/andy-songwei/p/13654035.html
2021-03-15 10:38:33 1657
原创 GreenDao 升级问题
我们都知道GreenDao升级是先会删除原表的,这样可能会导致数据丢失。解决这个问题也很简单,网上的案例非常多。可以搜索MyGreenDaoDbHelper即可。在使用MyGreenDaoDbHelper时,也需要注意数据丢失问题。当我们新增表字段时,如果字段类型使用的是基本类型,那数据肯定会丢失。那使用包装类型会不会丢失呢,如果包装类型的变量没有默认值,也是会丢失数据的。但是String类型除外,没有默认值也不会导致数据丢失。所以,在新增表字段时,最好使用包装类型,并且赋默认值。这样数据就不会丢失.
2021-03-05 11:29:23 288
原创 Android 集成minio运行时异常
返回数据包含了</body>org.xmlpull.v1.XmlPullParserException: expected: /hr read: body (position:END_TAG </body>@6:8 in java.io.StringReader@70119f3)
2020-12-24 18:32:13 1117 1
原创 flutter iOS填坑
1 echarts在iOS上渲染会先黑屏,并且在首页pageview非地页面无法渲染出来(只有更好插件)2 在iOS真机测试表现上,websocket连接未进行加密,在后台运行3分钟后,重新唤醒屏幕或者呼起应用,APP会闪退。经测试,加密的websocket,wss在后台运行一天不会出现闪退现象。3 iOS UI卡顿,webview导致卡顿,ios发布版没有问题,调试版有问题...
2020-12-18 17:52:16 234 1
原创 Flutter 抓包设置
记录一下,项目采用dio网络框架的抓包方式(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) { client.findProxy = (uri) { return "PROXY $ipAddress:$port"; }; client.badCertificateCallback = ..
2020-11-09 15:48:25 429
原创 flutter 手势签名三大插件
1 signature 评分最高、支持web2 flutter_signature_pad 支持横屏,手机和平板3 hand_signature 支持svg和png格式导出
2020-08-31 09:51:50 1012
原创 Flutter iOS版升级,启动AppStore和TestFlight
启动testFilght app外部测试链接:https://testflight.apple.com/join/8ud77sssAPP直接打开地址,会启动网页,如果要启动APP,需要去掉https,按照如下配置即可启动testFlight app.itms-beta://testflight.apple.com/join/8ud77sss启动appStore APPitms-apps://itunes.apple.com/cn/app/idhttps://itunes.apple.com/
2020-08-14 18:00:16 2398
原创 flutter fileProvider冲突解决方案
最近在开发flutter项目,遇到fileProvider冲突问题。下面我详细说说这到底是个什么问题。项目引用了install_plugin自动安装插件、flutter_webview_plugin网页浏览插件。因为这两个插件都需要配置fileProvider。他们的fileProvider配置名字一样,但是authorities不一致,如果不做任何改变,直接配置两个<provider></provider>节点,编译是无法通过的。 <!--自动安装-
2020-06-11 09:28:46 1606
原创 Flutter app启动黑屏
Flutter app启动黑屏在flutter 1.12.13版本中,Android手机启动APP会先出现黑屏,大概一两秒钟,再出现启动页。为什么会出现这样的情况,据说是框架自身bug。只需要在Androidmanifest.xml文件下添加如下代码即可解决此问题<meta-data android:name="io.flutter.embedding.android.SplashScreenDrawable" android:resource="@drawabl
2020-06-03 14:06:31 935
原创 Flutter ListView保留滚动位置之优化之路
起初,采用 TabBarView + ListView 结合 TabController 的方式实现了三页列表展示。但是,切换 TabBarView 的时候,每一页需要重新绘制,导致 ListView 无法保留上次所在位置。为了解决这个问题,通过 ScrollController 的 scrollController.position.pixels 记录 ListView 停留位置...
2019-10-25 14:34:32 5029 2
原创 Flutter multi_image_picker使用问题
multi_image_picker 3.0.221 编译通过,打包异常。gradle时报401,需要认证。2 升级到最新版4.3.6,打包正常,启动闪退3 查看日志键入命令flutter logcat,发现Android配置清单找不到com.vitanov.multiimagepicker.MultiImagePickerFileProvider,因为3.0.22版本做了配置,如下&l...
2019-08-09 17:20:40 4564
原创 Flutter 自定义三角形
import 'package:flutter/material.dart'; /// 绘制三角形class TrianglePainter extends CustomPainter{ Color color; //填充颜色 Paint _paint;//画笔 Path _path; //绘制路径 double angle;//角度 TrianglePain...
2019-08-09 17:17:57 7340
原创 flutter 旋转指定角度的动画组件
import 'package:flutter/material.dart';/// 旋转动画,旋转指定角度 动画 + Transform.rotate() 实现class RotateContainer extends StatefulWidget{ final double endAngle; // 旋转角度 final bool rotated; //是否旋转 ...
2019-08-09 16:42:38 4157 2
原创 Android 组件化之下,依赖库的aar正确引用方式
A是一个库,libs下面含有离线aar包B、C、D等多个模块依赖A模块依赖方式一、A模块 1 implementation(name: 'linphone-sdk-android-release', ext: 'aar') 2 android{ repositories { flatDir { dirs 'libs' ...
2019-07-09 11:00:54 3541 2
原创 BottomNavigationView 的setSelectedItemId方法无法选中MenuItem
BottomNavigationView的版本是version 28.0.0项目组件化过程中,依赖库中使用BottomNavigationView 的 setSelectedItemId(int menuId)方法,MenuItem不会切换。原因不详。解决方法:弃用该方法;使用 navigation.getMenu().getItem(i).setChecked(true) 便可以切换。...
2019-06-05 16:47:17 2992 1
原创 Android ButterKnife not found view
以下错误本人经历两次了,痛苦地记录一下吧Caused by: java.lang.IllegalStateException: Required view 'rv_content' with ID 2131297021 for field 'rvContent' was not found. If this view is optional add '@Nullable' (fields...
2019-05-31 16:43:39 474
原创 Android 获取网络视频第一帧
获取网络视频第一帧public static Bitmap getNetVideoBitmap(String videoUrl) { Bitmap bitmap = null; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { /...
2019-05-24 10:21:40 2342
原创 Android开发NFC读写数据
1.权限 <uses-permission android:name="android.permission.NFC"/> <uses-feature android:name="android.hardware.nfc" android:required="true" />2.注册manifest <activity ...
2019-05-23 14:48:51 3512
原创 android AutofitTextView在RecyclerView上使用踩坑
autofitTextView 字体自适应控件,在recyclerview等列表控件上使用时,由于复用的问题,若没有控制好,会出现字体大小混乱。原因是我把autofitTextView的layout_width设置成了warp_content。应该指定它的宽度为match_width或者是具体的数值。 ¥99.19或者99.19元,带有单位也需要自适应大小,可以使用SpannableString...
2018-12-06 11:55:28 1152
原创 Android屏幕适配之最小宽度限定符适配尺寸计算方式
采用最小宽度适配方式计算各分辨率下的尺寸大小,参考:https://mp.weixin.qq.com/s/X-aL2vb4uEhqnLzU5wjc4Q由于px = dp(dpi/160),所以dp = px/(dpi/160)。//dp = 160 作为基准尺寸的倍数关系Reslution dpi pixel ratioxxxhdpi ...
2018-11-20 14:31:13 5142
转载 Android权限管理
public class CheckPermissionUtils { private final static String[] locPermissions = {Manifest.permission.ACCESS_COARSE_LOCATION, Manifest .permission.ACCESS_FINE_LOCATION};//定位权限 ...
2018-05-16 16:06:43 742
转载 锤子滚动的textview
public class VerticalMarqueeView extends View { // 滚动时间 public static final int DURATION_SCROLL = 3000; // 动画时间 public static final int DURATION_ANIMATOR ...
2018-04-18 17:51:18 238
转载 通用dialog模板
public class CustomDialog extends Dialog { //获取dialog private Context mContext; private int resourceLayoutId=0; private View rootView; private boolean isfull; public boolean i...
2018-04-18 17:40:50 469
原创 Android Intent传递LinkedHashMap
我们知道Intent可以传递基本类型数据,ArrayList、数组、序列化对象(Serilizable和Parcelable);后来发现也可以传递HashMap,因为实现了Serilizable接口。算是惊喜啦。由于HashMap无法保证数据的顺序性,可能会用到LinkedHashMap。使用Intent 传递 LinkedHashMap,传递没有任何问题,但是在读取的时候会出现类型转换异常,
2018-01-03 14:25:43 2337 1
原创 Android 25源码中获取屏幕尺寸
if (shouldUseDisplaySize(lp)) { // NOTE -- system code, won't try to do compat mode. Point size = new Point(); mDisplay.getRealSize(size);
2017-12-04 12:03:35 347
原创 把二进制内容写入文件
public class MyFileWriter { /** *文本内容追加形式写文件 * */ public static void appendContentToFile(String content) { String fileName = Environment.getExternalStorageDirectory()+"/em/label_te
2017-10-25 10:33:07 1597
原创 初识javascript之对象继承
/**对象的继承*///允许多继承//实现方式// 1 对象冒充// 2 call()方式// 3 apply()方式// 4 原型链// 5 混合方式/** 1、对象冒充*///新的类冒充旧的类,旧类必须采用构造函数方式,必须使用构造函数//原理:A的构造函数成为B的方法并调用,B就会收到A的构造函数中定义的属性和方法//A类function People(
2017-04-08 15:01:14 301
原创 初识javascript自定义对象的七大方式
/**javascript的自定义对象 工厂模式、构造函数模式、原型方式、混合构造函数和原型方式、动态原型方式、混合工厂方式、JSON格式创建对象*//**1 工厂方式*///概念:先创建对象,再添加属性和方法// 问题:// 1.会重复生成函数// 2.不能通过构造函数传参来初始化值function createPerson() { var personObj = n
2017-04-08 12:12:20 296
原创 android 获取虚拟键盘
public int getStatusBarHeight(){ Class c = null; Object obj = null; java.lang.reflect.Field field = null; int x = 0; int statusBarHeight = 0; try{ c = Class.forName("com.android.interna
2016-11-28 15:58:51 587
原创 公共的标题栏构造器
标题栏布局文件,一般包含三部分,左边、中间和右边,左右两边可能是文字,也可能是图片,中间部分是文字。<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/common_titlebar" android:layout_width="match_pa
2016-08-30 10:03:17 420
原创 android studio 多渠道打包之gradle
1 在AndroidMainifest.xml文件中配置。 <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" > 2 在build.gradle文件中配置。可以设置一个默认渠道,也可以不设置。 defaultCo
2016-08-16 15:16:52 276
原创 WebView之网络异常HTML编码
网络异常的网页编码: 点击按钮重新加载,该网页获取请求参数参数reloadUrl: // 本地文件处理 String str = "file:///android_asset/exception.html?reloadUrl="+"http://www.baidu.com"; mWebView.loadUrl(str); 通过本地网页获
2016-01-25 18:13:16 452
adroid初识
2013-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人