- 博客(28)
- 收藏
- 关注
原创 使用context startActivity时遇到的问题
在项目里经常遇到跳转界面的问题,这个时候就会想封装一个方法简单点。将下述语句封装到方法中val intent = Intent(context, ******::class.java) context.startActivity(intent)此时可能会出现android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_A..
2020-05-29 15:27:19 896
原创 兼容性问题
1.http在android9上不能使用 解决: 3种方法 a).改接口 修改成https b).将target修改成<28 的 c).在res目录下创建XML目录,然后创建一个.xml文件(文件名称可自定义,例如:network_security_config.xml),.xml文件内容如下:<?xml vers...
2020-03-18 17:58:08 160
原创 Android 通知问题Notification兼容问题 (不显示)
在android8.0之后 通知中新加了一个渠道属性,如果不设置该属性,在targetSdkVersion大于等于26的代码中可能不会显示出来。具体解决方案private static void showNotification(Context context){ final int pushId = 1; final String PRIMARY_CHANNEL ...
2019-12-05 15:50:21 727
原创 Android安全问题 页面劫持
所谓页面劫持 ,就是在一些敏感信息输入页面。被一些别有用心的人通过伪造界面弹出覆盖在我们应用界面上,来获取用户敏感信息。解决方法也很简单,只要判断一些当前栈顶的App包名是否和自己应用的相同即可,因为相同的包名在安装时会出现异常所以同一部手机上的应用包名都是不同的。具体解决方案:Android5.0之前很好解决,因为我们可以直接获取当前手机栈顶的应用包名,但是5.0之后Google废弃...
2019-12-05 15:43:40 970
原创 Android回调机制
所谓回调机制,很简单,就是在做某项动作时,会执行一个操作。 而这个动作和操作一般都是一个方法。具体实现:在A类中定义一个属性 这个属性是一个接口,并且该接口中有一个方法。private OnItemClickListener mOnItemClickListener;public interface OnItemClickListener { void onIt...
2019-12-03 15:00:09 154
原创 Flutter 中设置setState 界面未刷新
在initState中初始化一个Widget ,这个Widget中通过setState刷新自己的情况。 若把这个Widget添加到主Weight中则setState无效。 但是在主Weiget中设置setState则会刷新。猜测是因为 setState 只是在调用该方法时,重新执行了当前build方法中的逻辑,而这个getWidget2是在initState中创建的。当前显...
2019-11-22 11:46:12 11128 2
原创 android中对View设置Flag(禁止截屏)
在android6.0以下的设置Flag必须设置在该View的onCreate方法中才有效,在其他地方设置则无效。android6.0及以上 可以不在onCreate方法中设置。getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE)...
2019-11-20 15:02:17 1238
原创 学习Dart语言一些特殊的地方
1.dynamic 动态定义:未定义的变量在debug模式时会显示为该类型。2.const和final:const编译时常量,final运行时常量。都为定义常量关键字,只是内存申请前后问题。const编译时即申请,final运行时申请。3.未初始化的变量初始值都为null 包括int。4.数据类型 num(int和double),string(类似kotlin可以使用"${变量名}哈哈...
2019-10-12 14:59:51 134
原创 EasyPermission的使用
1.首先需要在工程里集成Easypermission 官方库implementation 'pub.devrel:easypermissions:1.2.0'2.重写请求方法(该方法最好写在需要使用权限判断的界面)override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out S...
2019-08-02 15:07:01 3620
原创 Android 跨进程传输 AIDL
AIDL (Android Interface Definition Language) 安卓接口定义语言,android跨进程通信的一种语言。一般为android中某个进程的服务组件 与另一进程进行通信。首先 基本类型传输:在服务端:main下创建一个aidl文件该文件按照IDL语言规则:文件写好后 build一下项目之后会可以在该目录下观察aidl生成...
2019-08-02 14:26:03 167
原创 动态设置背景色
自定义 color xml 然后动态设置背景色时 直接使用setBackgroundColor(R.color.****) 无效解决 改为:setBackgroundColor(Color.parseColor(R.color.****)) 即可
2019-07-19 16:56:24 407
原创 androidstudio 因为缓存出现的bug
androidstudio 有时候会莫名其妙的出现一些bug ,可能昨天还好好的,今天就出现代码中变红,引入的库识别不到等等一些奇葩的问题。 网上可能也有各种解决方案,比如重启,或者是删除这些文件等等,但是可能还是有和我一样 并没有什么卵用的 。后面经过我的探索发现有个办法可以解决我碰到的这些莫名其妙的bug。就是把桌面上的as项目都close掉,回到这个初始...
2019-07-11 16:08:29 219
原创 androidstudio 编译apk时出现Error while Launching activity错误
我这有一部测试机 乐视的,在手机上卸载当前app后,再androidstudio上打包编译时,一直失败。就弹出Error while Launching activity这个来,究其原因就是 手机上已经卸载啦该app 但是androidstudio上却不知道,androidstudio就要直接打开之前页面,因此也就说找不到启动activity。解决方案:1.直接clean2.在...
2019-04-24 11:29:49 1608
原创 Android 中H5调微信支付
Android 中H5调微信支付,支付成功后,要回调支付完成页。 但是手机返回也一直空白,排查很多,重定向等等还是一直显示空白,后来在调试时,断点没放开,直接跳到微信支付后,支付完点击完成返回到app上,在把断点放开,发现支付成功回调页面终于显示啦。 经过分析返现 微信的回调机制是,当你跳入微信支付时app上就已经回调啦页面,当支付成功点击完成,回到自己app的webview上时要刷新一下...
2019-03-28 16:23:43 966
原创 搭建一个app的主体界面
目前app内容的整体结构基本都是底部几个按钮来切换内容界面这种方式,要想实现这种有很多方案,下面介绍一种比较常规实现的方案。通过RadioGroup和Viewpage,viewpage中添加Fragment。首先是xml中布局设置<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=...
2019-01-03 15:42:37 325
原创 View简单使用
何为ViewView是android中所有控件的基类,是界面层的一种抽象,代表啦一个控件。同时还有ViewGroup,即控件组,ViewGroup中包含啦n个View,但是ViewGroup也是继承至View,所以View和ViewGroup组合成一树形结构。 View中的位置参数 View的位置由四个属性决定 top,left,right,bottom即相对于父容器...
2019-01-03 14:51:43 944
原创 Kotlin 简单使用
一.特性集成安装就不细说 ,网上一大堆。android开发中可以使用androidstudio的插件 将开发好的java文件转化为kotlin的kt文件。但是目前还不支持将kotlin的kt文件转化为java文件,所以想把已经写好的项目转成kotlin项目的要做好备份啦。kotlin和java一样都是通过将编写的代码最终转化为字节码文件在虚拟机(JVM)上运行的,所以kotlin可以和ja...
2018-12-27 17:38:21 297 1
原创 Lambad 简单使用
Lambad是java8中新加入的,其实就是一个语法糖,使用规定的方式把一些特定的语法进行精简。在编译器执行的时候 还是会把它转化为以前的那种形式,优点就是简洁,缺点就是具体的内部逻辑缺失,出错时寻找bug源比较困难。个人感觉这应该是计算机语言由底层语言到高级语言的正常演变形式,高级语言会越来越简洁。现在android中比较流行的kotlin和ios的swift都是这种演变形式。书归正传,下面来介...
2018-12-27 10:42:23 407
原创 进程间通信(AIDL的简单使用)
进程间通信 基本类型可以使用Intent 但是如果传递对象的话 需要先将该对象 序列化。一般将对象序列化有两种方式, 1.是java的方式 使用Serializable,这种比较简单 直接实现Serializable接口就行啦,但是一般需要在定义一个serialVersionUID参数,通过这个参数可以更好的实现反序列化。这种方式的开销比较大,因为要使用IO操作,一般也就在存...
2018-12-24 16:33:21 138
原创 android 启动模式中的任务栈
android有四种启动模式 standard(默认), singTop(栈顶复用), singTask(栈内复用), singInstance(单例)老生常谈的这四种启动模式特性就不谈啦。下面说一下和他们相关的任务栈。任务栈是后进先出,当这些activity启动的时候会 先找一下有没有 我需要的任务栈 有就直接创建实例 压入栈中,没有的话就先创建任务栈。但是怎么知道我需要的任务栈是什么样...
2018-12-20 15:10:49 224
原创 第三方库引用产生冲突问题
现在进行项目编写时,不可避免的会引用一些第三发库,来加快项目进度。但是在引用时会有各种兼容性问题。现在记录一些我碰到的问题以及解决方案。方便小伙伴们少走弯路。属性冲突,比如主体项目使用啦android:label="@string/my_name" 引入的库文件使用android:label="@string/app_name"这个时候在编译时 合并Manifest文件时 则会出现冲突。 这...
2018-12-14 11:00:43 725
原创 android页面切换空白问题
问题: 当切换到第三个fragment时返回到第一个,第一个fragment页面空白。原因:viewpage默认会加载三个页面,当切换到第三个时会把第一个销毁,再返回时重新调用啦OncreateView方法。解决:1.直接设置缓存的数量 setoffscreenPageLimit 将缓存的数量设置为fragment数量 。 2.重写viewpage适配器的dest...
2018-12-03 16:37:50 793
原创 Fragment里嵌套Fragment时 不显示内容问题
对于Fragment里嵌套View Page,View Page里嵌套Fragment时。里层的这个Fragment不显示内容问题,在Fragment里面这层的Fragment中不能在使用getSupportFragmentManager()或者getFragmentManager()方法,这两个都是作用在Activity上的是所在fragment的父容器管理器 此时应该使用g...
2018-11-27 15:11:24 1228
原创 自定义View时,构造器的问题。
一般自定义View的构造器有三种写法,即一个参数,二个参数,三个参数这三种。(Context context,AttributeSet set,int defStyleAttr);自定义View有两种使用方式:1直接new引用 ,这个时候一般使用一个参数的;2在xml布局文件中引用类全名,这个时候要重写2个参数的构造器否则会报错,因为系统会调用二个参数的构造函数。三个参数的一般是在二个参数中调...
2018-11-26 16:55:37 209
原创 混合app打成aar包后 ajax访问无效问题
将项目打包成aar后,继承到其他项目中。Ajax访问无效,可能是跨域的问题。解决方案: 在loadurl的地方加上以下代码。try { if (Build.VERSION.SDK_INT >= 16) { Class<?> clazz = webView.getSettings().getClass(); Method method = cl...
2018-11-21 11:13:38 143
原创 url传递参数时中文乱码问题
通过url后面拼加参数进行传值的时候 如果有汉字,则在接受页面直接使用getQueryString("**")接受参数时 汉字可能会乱码。这是因为浏览器在通过url访问页面时会将汉字编码 不编码的基本就三类 //[0-9a-zA-Z] //$-_.+!*'(), ...
2018-11-21 11:06:41 562
原创 JAVA 解析xml
NodeList childNodes = item.getChildNodes();getChildNodes()得到的所有子节点中报null错误 格式化后的xml文档为了便于观看会加入空格和换行符 结果这些被当成子节点。解决方法 即 判断是否为节点元素 利用childList.item(t).getNodeType() 判断Node.ELEMENT_NODE节点元素 Node....
2018-11-21 11:04:08 115
原创 app之间跳转与传值
传值:1.A打开B时,B的启动方式不能是singInstence和singTask,这两种会在打开页面时就调用onActivityResult方法并且此时的resultcode为0,data为null。2.B返回A信息时,调用setResult后需要调用onFinish,不然onActivityResult方法中还是接受不到你传递的参数。跳转:跳转分为隐式与显示两种,a.显示调...
2018-11-21 10:47:00 562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人