- 博客(34)
- 资源 (9)
- 收藏
- 关注
原创 Android Cordova项目报Applcation error the connection to the server was unsuccessful解决方法
Cordova Android Applcation error the connection to the server was unsuccessful.(file://androi_assets/www/index.html)核心原因:手机没有及时完成资源文件的加载。可能导致的原因:1.代码、数据、图片太大2.脚本可能有无限循环或较长循环,因此加载时间太长。3.使用过多的插件、脚本结合本项目中的情况,排查,发现1.使用本地的视频播放,视频达70m修复方法:放..
2020-07-24 17:16:11
2330
1
原创 旧版 Android 系统为目标平台的应用的警告
1.问题呈现:在Android10.0中运行应用会提示“此应用专为旧版Android打造,可能无法正常运行,请尝试更新或与开发者联系”。具体截图如下:为什么在Android10.0会出现这个提示,而在低版本中却没有呐?2.问题分析我们可以在官方网站中的Android10.0版本中的影响应用的行为变更中找到答案。可以看出是项目中配置targetSdkVersion的影响。...
2020-04-24 15:09:50
3076
原创 Android 安全
反编译保护测试漏洞描述:测试客户端安装程序,判断是否能反编译为源代码,java代码是否存在代码混淆等保护措施,是否有对apk进行加壳。未作保护的java代码,可以轻易分析其运行逻辑,并针对代码中的缺陷对客户端或服务器端进行攻击。修复建议:建议客户端进行加壳处理防止攻击者反编译客户端。代码混淆防护测试漏洞描述:查看反编译后的源代码,检测包名,类名是否被混淆成无意义的字符,未作保...
2020-03-17 20:09:00
521
1
原创 Android 高版本 实现Apk升级安装
1.权限在Android8.0版本及其以上需要有安装权限才能够进行安装,否则,包下载完成之后,不会弹出安装界面。具体权限如下:<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />2.吊起安装界面代码块private void reSetupApk() { ...
2020-03-13 22:27:41
2028
原创 ImageView ScaleType 解析
public static enum ScaleType { MATRIX, FIT_XY, FIT_START, FIT_CENTER, FIT_END, CENTER, CENTER_CROP, CENTER_INSIDE; private...
2019-07-26 17:11:54
197
原创 Android ANR分析
简介ANR,全称 Application Not Responding。中文称之为:程序无响应。常见的ANR类型InputDispatching Timeout:屏幕触摸或键盘输入事件5s内无响应。 BroadcastQueue Timeout :在执行前台广播(BroadcastReceiver)的onReceive()函数时10秒没有处理完成,后台为60秒。 Service T...
2019-07-26 14:45:59
613
原创 AIDL 理解与应用
AIDL简介AIDL是一种语言。也是用于android的跨进程通信的技术手段。AIDL全称“android interface definition language”,也可翻译为:安卓接口定义语言。跨进程,那么就需要有两个以上的进程,其中一个对外暴露接口,另外一个通过调用接口,实现数据共享。对外暴露接口的我们可以称之为服务端,连接调用的称其为客户端。AIDL语法AIDL的语法十分简单...
2019-02-15 08:47:00
243
转载 Android DataBinding 实战全解【转载】
2015年的Google IO大会上,Android 团队发布了一个数据绑定框架(Data Binding Library),官方原生支持 MVVM 模型。数据绑定的概念并不陌生,Web开发中已经很是普遍,因此DataBinding或多或少地都借鉴了Web端开成熟的经验,其语法与使用方式都和JSP中的EL表达式非常类似。经过不断地强化,到了2016年,DataBinding已经可以支持数据双向绑...
2019-01-29 17:40:20
327
原创 Android Scheme 跳转协议
什么是SchemeAndroid的scheme是一种页面内跳转的协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便的跳转APP中的各个页面;通过scheme协议,服务器可以定制化的告诉APP跳转哪个界面,可以用个通过通知栏的消息,定制化的跳转页面,也可以通过H5页面跳转。应用场景cs交互,服务器下发跳转路径,客户端根据服务端的参数跳转到相应的界面 js交互,H...
2019-01-22 11:21:27
1519
原创 Python3 selenium 找不到chromedriver驱动
调用selenium 却报以下信息:D:\python3\python.exe E:/python_pro/city_spider/city_spider/spiders/city_spider.pyTraceback (most recent call last): File "D:\python3\lib\site-packages\selenium\webdriver\commo...
2019-01-08 13:49:32
1420
1
原创 Netty入门demo
Netty简介Netty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化并简化了TCP和UDP套接字服务器等网络编程。NIO的意思是非阻塞IO,也就是说单个线程可以同时进行多个IO操作,而不会被任何IO操作阻塞住。同一个线程即能同时Accept网络套件字,又可以同时对套件字进行读写操作,然后还可以同时处理消息。“快速简便”并不意味着最终的应...
2019-01-07 17:30:13
181
原创 100的红包7个人随机分,限制值在10-30之间
public class RedPacketTest { public static void main(String[] args) { for (int i = 0; i < 5; i++) { splitRedPacket(100.00, 7, 10.0, 30.0); } } /** ...
2018-12-27 18:53:26
1022
原创 IntelliJ IDEA 实现版本控制
1.创建版本控制仓库2.选择要加入版本控制的项目3.右击项目将项目添加到版本控制,如果有需要忽略的文件,则多次单个文件add4.将项目代码提交到本地的仓库文件5.提交要远程仓库,同时需要填写远程仓库的地址6.强制推送推送被拒绝,因为远程仓库和本地仓库的内容不一致,因为是首次提交,所以,我们可以强制提交上去,执行以下命令。git push -u ...
2018-12-13 19:08:50
1216
原创 Springboot2.1集成WebSocket配置wss访问
WebSocket介绍WebSocket是H5的一种新协议,与http协议基本没有关系,在webSocket没有出现之前,服务端与客户端的通信主要通过轮询来实现,而轮询可以分为两种:传统轮询(Traditional pulling)和长轮询(Long pulling)。传统轮询,每次都会新建一个http链接,而且不是每次都能够返回需要的数据,当同时发起的请求数量达到一定的数目,会给服务端造...
2018-12-10 20:57:27
19625
20
原创 阿里云Centos7.0环境安装
前沿因为阿里云上面的Centos7.0是阉割版,里面centos自带的jdk被卸载了,所以无需再去卸载自带的jdk,可直接安装自己的jdk。1安装mysql1.1从官网下载安装mysql-server# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm# rpm -ivh mysql-c...
2018-12-07 19:37:39
353
原创 Java List数据删除
最近在公司项目中需要实现:在两个实体对象不同的列表中,删除A列表中包含B列表,通过判断A中实体和B中实体某一个属性是否相同来删除。期间出现IndexOutOfBoundsException ,ConcurrentModificationException,IllegalStateException等等异常,解决完写一篇记录下。循序渐进,分析几个常见的遍历删除及其出错的原因:常见错误方法一: ...
2018-06-07 18:26:47
8101
原创 MyBaties初探
什么是MyBatiesMyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。MyBatie...
2018-06-01 10:02:08
224
原创 ImageView根据宽高完整显示图片
根据图片的宽高和ImageView的宽高,实现图片不压缩、不裁剪显示图片。自定义控件继承ImageView,在onDraw中计算图片和控件的宽高比,按最小的宽高比进行缩放。 @Override protected void onDraw(Canvas canvas) { Drawable drawable = getDrawable(); if
2018-06-01 09:58:00
2165
原创 Mac MySql 密码重置
命令行输入 mysql -uroot -p输入密码后提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)显然密码错误了。重置密码步骤如下:1.在设置中停止MySql2.命令行中输入 cd /usr/local/mysql/bin/ sud...
2018-05-15 21:57:10
246
原创 android设置色值透明度
在项目中不少会碰到黑色透明度多少多少的,每次都要网上查,故以此作为一个记录。color.xml中的色值一般是六位,透明度可以在前面加两位,例如 #ccf0f0f0,前面两位表示透明度,后面六位是色值,cc表示透明度为80,那么怎么把80换算成cc呐255*80%=204,然后再把204换成十六进制的,就是cc.附上对应的关系表 透明度(单位%) 十六进制...
2017-03-29 17:46:47
598
原创 android 裁剪屏幕中特定区域内的内容
接到一个需求,需要做一个类似二维码扫一扫功能的需求,需要将屏幕中的特定区域截图发送到服务器。话不多说先上效果图:实现思路:获取扫描框的位置,然后在图片上面裁剪。然而就是这么一个简单的思路在适配上面问题多了。首先是surfaceView预览在部分手机上面会出现变形,其次,得到了框的起始点和大小还是裁剪不出特定区域的图片。如果变形怎么裁剪发送到服务端那边的图片还是不正确。所以首先需要解决的便是...
2017-03-13 15:47:45
5056
3
原创 ImageView完整显示图片
根据图片的宽高和控件的宽高,对图片进行缩放,实现图片的完整显示。自定义控件继承ImageView,在onDraw(),方法中计算。 @Override protected void onDraw(Canvas canvas) { Drawable drawable = getDrawable(); if (drawable == null) {...
2017-01-23 17:48:58
1973
原创 android实现对象写入XML,本地缓存
主要思路:保存时是将对象用Base64转换成String,然后保存,读取读取出来的String转换成对象。保存代码如下:public void setUserInfo(UserInfo mBean) { try { // 创建字节输出流 ByteArrayOutputStream baos = new ByteArrayOutputStream()...
2016-11-10 18:17:23
1064
原创 DBFlow 浅显应用
DBFlow特点:1.基于SQLite数据库,SQLite数据库是轻量级数据库,受到广泛的应用。故DBFlow可以支持原生的sqlite语句查询;2.增删改查比用原生数据库语句简单,方便使用;3.开源;github 地址https://github.com/Raizlabs/DBFlowDBFlow快速上手:1.在项目的gradle配置buildscript {...
2016-08-10 18:15:55
1429
原创 解决华为手机无法打印log问题
在拨号界面输入*#*#2846579#*#*然后选择ProjectMenu,点击后台设置,选择LOG设置,打开Log开关即可。
2015-12-18 17:12:21
805
原创 《Android群英传》读书笔记
1.Android5.0之后,ART模式取代dalvik,ART采用的是安装时编译,而不是运行时编译。2.Activity、Service、Application都是继承自Context。3.getApplicationContext()方法可以获取整个APP的Context,但是通过getApplicationContext()获得的是整个应用的上下文引用,这个与某个组件的上下文引用有的
2015-11-11 19:24:11
742
原创 progressBar 自定义样式
定义一个progressbar的背景选择器方法一 :背景选择器用图片来实现<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@andro.
2014-09-03 13:58:13
446
原创 sqllite limit offset 分页查询
SELECT * FROM trom_data LIMIT nNumRecord OFFSET nBaseRow表示从第nBaseRow行(基于0的索引)(包括该行)开始,取其后的nNumRecord 条记录
2014-08-05 13:47:25
710
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人