个人
甜心sing
最大的敌人是自己
展开
-
flutter Error on line 32, column 8: Mapping values are not allowed here. Did you miss a colon earlie
初学Flutter引入包时,遇到如下错误:Error on line 32, column 8: Mapping values are not allowed here. Did you miss a colon earlier?以为引入方式不对,经过查找资料,发现是前面多了一个空格去掉即可,可能比较严格,在此记录...原创 2020-10-30 11:09:09 · 1058 阅读 · 3 评论 -
androidX 迁移中所遇到的一些问题总结
2019年九月,google正式发布了android10,由于android对android9以后的包不再维护,最近客户也是很多android10的手机出了问题,所以不得不进行迁移至android10进行兼容下面是我的迁移过程以及遇到的一些问题进行记录,希望可以帮助迁移中遇到问题的你:一.首先进行版本升级:compileSdkVersion 、targetSdkVersion都改为29二.和所有迁移项目一样:进行转换:三、转换成功可在gradle.properti...原创 2020-10-19 13:42:16 · 1059 阅读 · 0 评论 -
android LeakCanary的使用
LeakCanary的Android Studio集成一、 在build.gradle中添加LeakCanary的依赖包,我的是1.6.1版本二、 在我们自定义Application的onCreate方法中注册LeakCanary如果想让LeakCanary监听指定对象的内存泄漏,我们就需要使用到RefWatcher的watch功能,使用方式如下:都知道最简单的方式是使用单利来造成内存泄漏,那么我们来使用一下吧单例类:开始使用吧,从MainActivity跳转MainAt原创 2020-09-08 11:29:47 · 456 阅读 · 0 评论 -
Android viewBinding的使用
在我们开发的过程中,由最初的findviewByid 演练为后来的Butter Knife节省了代码的空间提升了效率又减少了空指针等的异常直到Android大神 Jake Wharton开源了Butter Knife框架,通过Bind方式绑定获取ViewId但是要注意,要使用ViewBinding,需要将AndroidStudio升级到3.6以上可使用!1.使用流程首先在Moudle:app下加入下面依赖:android括号中:android { …………… viewBind原创 2020-09-07 14:16:19 · 1012 阅读 · 0 评论 -
AndroidStudio 遇到远程主机强迫关闭了一下现有的链接
最近几天接手了一个新的项目,刚开始运行好好的,隔了一天没运行,第二天出现这个错误,第三天也出现了,为了避免更多人遇到同样的问题,下面想给大家提出我用到的解决方案:1.clear Project2.ReBuild Project3.删除app下的build重新编译4.File----Invalidate Caches\Restart5.adb kill-server adb start-server adv devices6.重启电脑(我是通过这种方式解决)以上是我的解决方..原创 2020-09-04 14:57:11 · 2101 阅读 · 0 评论 -
ByteBuffer的使用
ByteBuffer:字节缓冲区ByteBuffer的属性:byte[] buff //buff即内部用于缓存的数组。position //当前读取的位置。mark //为某一读过的位置做标记,便于某些时候回退到该位置。capacity //初始化时候的容量。limit //当写数据到buffer中时limit一般和capacity相等,当读数据时,limit代表...原创 2020-04-09 14:05:41 · 439 阅读 · 0 评论 -
Android 通过Socket UDP方式和服务端进行通信
一 客户端发送的步骤发送方创建步骤:1.创建一个DatagramSocket对象DatagramSocket socket = newDatagramSocket (4567);2. 创建一个InetAddress , 相当于是地址InetAddress serverAddress = InetAddress.getByName("想要发送到的那个IP地址");...原创 2020-04-09 13:30:23 · 598 阅读 · 0 评论 -
算法之冒泡排序
int [] ins = {1,2,3,4,5,6,7};for(int i = 0; i < ins.length - 1; i++){for(int j = 0;j < ins.length - 1-i; j++){if(ins[ j ] > ins[ j + 1]){int a= ins[ j ] ;ins[ j ] = ins[ j + 1];in...原创 2019-12-05 14:14:49 · 105 阅读 · 0 评论 -
关于算法-二分查找
我们在面试或者实际应用中总少不了运算一些东西,使我们的效率更高,下面是二分算法的一个例子。private static int Search(int[] ones,int key){int low = 0;int size= ones.length-1;int middle = 0;if(key < ones[low] || key > ones[size] || ...原创 2019-12-05 13:49:07 · 145 阅读 · 0 评论 -
Android启动白屏问题
做项目的时候经常发现一启动App,就发现在白屏页面不动了,有时候会停留好久,有时候根本都进不去我的解决方案是:一 设置style主题<!--闪屏页--> <style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="andr...原创 2019-08-01 15:25:27 · 797 阅读 · 0 评论 -
Android开发模式之RxJava+Retrofit+MVP(kotlin)
一共分为两部分,第一部分是RxJava+Retrofit网络请求的使用,一部分是MVP模式结合网络请求一,RxJava+Retrofit的使用①module引入里面已经封装了OkHttp和Gson,不需要另外引入 implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com....原创 2019-05-06 19:03:57 · 446 阅读 · 0 评论 -
关于Handler
做Android开发肯定离不开Handler,我们都知道,它主要是做主线程与子线程之间的通信工具,所以只要有异步线程与主线程的地方就有Handler1.对Handler的基本认识Handler 发送并处理与一个线程关联的 Message 和 Runnable ,每个 Handler 都会跟一个线程绑定,并与该线程的 MessageQueue 关联在一起,从而实现消息的管理以及线程间通信。...原创 2019-02-27 13:28:18 · 142 阅读 · 0 评论 -
React Native可视化开发工具
想给大家推荐一个我最近发现的 React Native 可视化开发工具:draftbit和其他平台的可视化工具一样,它可以通过拖拽的方式进行布局。所有的属性设置也可以通过面板进行调整。而且 draftbit 结合了 Expo,可以直接通过二维码的方式进行真机预览。我觉得这才应该是移动开发该有的样子,先在面板里把 UI 调好了,再到真机里去预览,而不是反过来,直接通过真机调试布局。...转载 2019-02-28 09:55:33 · 3009 阅读 · 0 评论 -
Android Fragment遇到重叠问题的解决方案
原因如下:容器的activity被系统GC,导致activity的所有生命周期重新被调用,两个fragment便会重叠出错。原因是当activity被意外回收时会调用onSaveInstanceState()保持自身的一些状态和信息,以备在onCreate()方法中能够直接获取而不需要重新创建。 fragment的实例也会在onSaveInstanceState()中进行保存,所以在onCreat...原创 2018-07-04 10:41:05 · 2785 阅读 · 0 评论 -
Android RecycleView侧滑删除功能
Recyclerview实现侧滑删除功能,也可以自己修改条目布局的代码就可以实现其他菜单上代码MainActivity package com.exemple.kx.demo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.Linear...原创 2018-07-04 10:18:18 · 1054 阅读 · 0 评论 -
Android 屏幕适配
屏幕尺寸屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等屏幕分辨率屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素*横向像素,如1960*1080。屏幕像素密度屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。屏幕像素密度与屏幕尺...转载 2018-07-04 10:06:37 · 178 阅读 · 0 评论 -
Android 第三方登录
1. 阿里百川创建应用地址,名字必须是唯一性的,如果app的名字已注册过了,就没有办法用,2. 查看阿里百川提供的帮助文档地址,建议使用gradle方式,如下图: 4. 获取安全图片地址,需要上传一个release apk,至于选择v4版本还是v5版本图片,需要看gradle中安全基础库)安全图片就是一个1像素的图片,下载后原封不动地放在我们自己项目的drawable下就可以然后开通阿里百川的基础...转载 2018-07-04 09:53:37 · 694 阅读 · 0 评论 -
关于Bitmap的问题
在Android中,Bitmap很容易引起内存空间耗尽而导致程序崩溃的问题由于是一下几点:1 高效地加载大图片。 BitmapFactory类提供了一些加载图片的方法:decodeByteArray(), decodeFile(), decodeResource(), 等等。 为了避免占用较大内存,经常使用BitmapFactory.Options 类,设置inJustDecodeBound...原创 2018-06-08 15:04:34 · 361 阅读 · 0 评论 -
关于apk运行没问题,打完包后停止运行的问题
我这几天遇到的问题就是自己调试一点问题都没有,但是我打完包以后运行直接停止运行,这我就纳闷了,报错的信息显示so混乱,我试过很多方法,都不行,经过种种解决办法, 最后终于恢复到正常。解决方案如下,首先不要混淆包,他有可能在你打包的时候自动编译,然后导致找不到这个包停止运行,其次在app下的build.gradle里面设置相关的属性之后一定要切记的是minifyEnabled true默认true的...原创 2018-03-20 16:55:29 · 3756 阅读 · 0 评论 -
关于app调试使用有线连接的问题
做移动开发的在自己实际做的过程中总会调试以及上线,但是不方便的是总是需要数据线将android手机或者设备与自己的电脑连接起来才会运行或者进入调试状态,没有数据线是无法进行的,可是大家有没有想过这样比较麻烦呢,我研究了一个无线连接,可以不用数据线就可以进行调试,使用起来方便一些一、前提1、将adb文件放在电脑某个目录下(如果本地有Android Sdk 且已经配置好adb环境了,直接用sdk里面的...原创 2018-03-22 10:29:13 · 684 阅读 · 0 评论 -
Android动画
一丶Android动画分类:补间动画: 支持平移(Translate),旋转(Roate),缩放(Scale),不透明度(Alpha); 只是显示的位置变动,View的实际位置未改变,例如View平移到其他地方了,但是点击事件仍在原处才能响应。123456帧动画:通过顺序播放一系列的图片从而产生动画效果的,它是一种渐进式动画。1属性动画:通过动态改变对象的属性从而达到动画的效果1二、 补...转载 2018-04-09 10:10:53 · 175 阅读 · 0 评论 -
Android怎么查看手机中的本地数据库
我前几天做的项目中有本地数据库,所以就用的SQLite,在调试数据库时,,很想看一下里面的表结构是否正确,这个时候就十分苦恼,因为这个db文件不能够直接拿出来,我们知道,在DDMS里面有一个FileExplorer,它里面保存着手机中的各个文件夹,但是尝试打开里面的文件夹的时候,却发现怎么点都没有东西,于是我就十分不解,明明我写了数据库,为什么没找到这个文件呢?后来发现其实是没有权限。下面需要注意...原创 2018-04-09 10:22:37 · 11593 阅读 · 0 评论 -
视频自动播放代码(优酷、搜狐、酷6、土豆等)
一、优酷、搜狐视频自动播放代码(更换地址即可)如下: width=700 height=550 type=application/x-shockwave-flash wmode="opaque" flashvars ="isAutoPlay=true" allowscriptaccess="sameDomain" quality="high"></EMBED> 代码中wid...转载 2018-04-09 10:32:59 · 2850 阅读 · 0 评论 -
ascii码完整表
ASCII控制字符二进制十进制十六进制缩写可以显示的表示法名称/意义0000 0000000NUL␀空字符(Null)0000 0001101SOH␁标题开始0000 0010202STX␂本文开始0000 0011303ETX␃本文结束0000 0100404EOT␄传输结束0000 0101505ENQ␅请求0000 0110606ACK␆确认回应0000 0111707BEL␇响铃0000 ...原创 2018-04-11 14:40:59 · 1182 阅读 · 0 评论 -
android 关于使用androidStudio开发串口问题
公司最近正好有个关于Android串口通信的模块,所以我学习并总结了一下,Android串口通信要使用到JNI以及NDK的内容串口开发需要Root权限关于串口的操作不外乎几步: 1.打开串口(及配置串口); 2.读串口; 3.写串口; 4.关闭串口。第一:JNI技术,它使得java中可以调用c语言写成的库。源码:点击下载源码。下载完成后将jni以及jniLibs文件夹直接拉到jav...原创 2018-04-04 11:15:20 · 5255 阅读 · 1 评论 -
Glide出现You cannot start a load for a destroyed activity异常的问题
lide加载网络图片时,碰到了 You cannot start a load for a destroyed activity这个异常;先看下Glide的简单调用:Glide.with(context).load(imageUrl).into(imageView);根据异常的提示,我们可以确定问题应该是出在了Glide.with(context) 中的context 我们点到源码中看一下 Gli...转载 2018-04-17 16:07:03 · 21235 阅读 · 0 评论 -
[Android]导入导出Excel表格到本地数据库SQLite
1. AndroidStudio使用//导入jar包dependencies { compile files('libs/poi-3.15.jar') compile 'org.litepal.android:core:1.4.0'}2. 使用//fileChooser界面就省略了,直接调用系统的文件管理,触发事件...//导入格式为 .xls .xlsxInten...原创 2018-04-17 16:17:50 · 3557 阅读 · 0 评论 -
【Unity3d】在Unity3d中播放视频:AVPro Video的使用
1、插件介绍之前讲到使用Unity的MoveTexture和Image来实现简单的播放器,虽然可以实现简单的视频播放功能,但是对于商业化或者移动端的项目来说远远不够。RenderHeads提供了一款unity3d使用的具有强大功能的视频播放插件,不仅可以实现基础的播放功能,还能实现进度条拖放和速率调整,播放4K视频,360度全景视频等,并对不同的平台进行了优化。这里简单讲一下基于UGUI的视频播放...转载 2018-04-12 15:17:01 · 14225 阅读 · 5 评论 -
Android 中 webview 无法弹出文件选择框,点击按钮没反应的问题
在以前做的项目里遇到一个奇葩问题,在ios和微信都可以,但是就是在android端不行,无论你多使劲点都发现无法弹出安卓原生文件选择界面,简直要崩溃了通过一番资料查询,发现要重写WebChromeClient类里面的方法 先说一下执行的步骤: 1.通过webview.setWebChromeClient(),传入一个WebChromeClient的实现类,在WebChromeClient实现类里...原创 2018-04-13 09:39:18 · 3310 阅读 · 0 评论 -
Android中webview无法弹出文件选择框,点击按钮没反应的问题
以前写的项目时,遇到过这样一个问题,在ios和微信都可以,就是android不行,尴尬的,无论你多使劲点都发现无法弹出安卓原生文件选择界面,简直要崩溃了最后通过一番资料查询,发现要重写WebChromeClient类里面的方法--先说一下执行的步骤: 1.通过webview.setWebChromeClient(),传入一个WebChromeClient的实现类,在WebChromeC...原创 2018-04-13 09:41:52 · 2208 阅读 · 0 评论 -
关于web端jsp的总结
在写安卓期间,写过两个月的前端,借鉴他人。由此做一下总结:JSP中的三种命令指令分别是page、include、taglibJSP中的动作元素包括:include、forward、useBean、getProperty、setProperty、plugin、param<%@ include file="URL"%>示例:在示例页面包含一个日期jsp页面二、include动作<%-...转载 2018-05-16 09:46:55 · 216 阅读 · 0 评论 -
Android数据库-----LitePal 2.0版本
升级到2.0.0升级的方式很简单,如果你使用的是Android Studio,只需要在build.gradle中修改一下配置即可:dependencies { implementation 'org.litepal.android:core:2.0.0'}如果你使用的还是Eclipse,那么可以点击 这里 下载最新版的jar包。2.0.0版本中几乎所有的API接口全部都变了,但是,2....转载 2018-06-12 09:45:57 · 569 阅读 · 0 评论 -
OKHttp 3的简单请求方式
一,OKHttp介绍okhttp是一个第三方类库,用于android中请求网络。这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary) 。用于替代HttpUrlConnection和Apache HttpClient(android API23 里已移除HttpClient)。okhttp有自己的官网,官网网址:OKHtt...转载 2018-05-30 13:20:18 · 3238 阅读 · 0 评论 -
Android搜索框:SearchView用法详解
SearchView简介属性名称相关方法描述android:iconifiedByDefaultsetIconifiedByDefault(boolean)设置搜索图标是否显示在搜索框内 android:imeOptionssetImeOptions(int)设置输入法搜索选项字段,默认是搜索,可以是:下一页、发送、完成等 android:inputTypesetInputType(int...原创 2018-02-26 16:16:20 · 34598 阅读 · 8 评论