android
文章平均质量分 66
-每天进步一点点-
这个作者很懒,什么都没留下…
展开
-
Android如何判断一个链接是否是有效
privatebooleanisValid(String urlString){try{URL url =newURL(urlString);returnURLUtil.isValidUrl(urlString) && Patterns.WEB_URL.matcher(urlString).matches();}catch(MalformedURLException e){...原创 2021-12-22 20:43:35 · 2241 阅读 · 0 评论 -
Android 快速集成谷歌账户登录
谷歌登录开发者平台注册地址为https://console.firebase.google.com/,并不是在https://console.developers.google.com/上进行注册,一开始我也是参考网上的帖子 在谷歌的developers网站上进行注册, 流但发现流程一直走不通,最后发现需要在firebase网站上进行注册,具体流程直接上图,简单粗暴明了:通过上述6步就能获取到一个google-service.json文件,把它拷贝的项目的根目录下,如...原创 2021-12-20 20:22:02 · 1199 阅读 · 0 评论 -
Android 高版本http访问权限err_cleartext_not_permitted解决方案
Android系统10,运行程序执行报CLEARTEXT communication to aaaaa.vaiwan.com not permitted by network security policy原因是Android 高版本后限制了http访问权限解决方案如下<?xml version="1.0" encoding="utf-8"?><manifest ...> <uses-permission android:name="androi...原创 2021-01-20 19:13:31 · 996 阅读 · 0 评论 -
Android-接收UDP TS流实现边缓存边播放
Android播放本地文件视频是硬解,这样对CPU占用比较少,所以将直播收到的数据临时缓存3个文件,给定每个文件的大小,然后进行播放。后续还会进行优化。具体实现代码如下:[java] view plain copypackage com.cayden.videodemo; import java.io.File; import java.io.FileOutputStream; impo...转载 2018-02-15 21:34:32 · 2513 阅读 · 1 评论 -
Android隐藏状态栏实现沉浸式体验
什么叫沉浸式?根据百度百科上的定义,沉浸式就是要给用户提供完全沉浸的体验,使用户有一种置身于虚拟世界之中的感觉。那么对应到Android操作系统上面,怎样才算是沉浸式体验呢?这个可能在大多数情况下都是用不到的,不过在玩游戏或者看电影的时候就非常重要了。因为游戏或者影视类的应用都希望能让用户完全沉浸在其中,享受它们提供的娱乐内容,但如果这个时候在屏幕的上方还显示一个系统状态栏的话,可能就会让用户分分...翻译 2018-02-14 22:06:06 · 480 阅读 · 0 评论 -
Android-TextureView的原理分析及使用
图1 TextureView及其依赖的java/c++类本文将从TetureView的用途、使用模式及其在Framework依赖的类(图1所示那些)的三个方面进行说明。1. 用途TextureView可用于承载显示『数据流』的场合,之前看到『流』不太明确其意义,这里给两个具体的场景大家体会一下:camera模块从sensor采集了1080p@30fps的预览数据『流』,视频通话模块从网络包里解出...原创 2018-02-14 22:14:30 · 18573 阅读 · 0 评论 -
Android 热修复
一、什么是热修复热修复说白了就是”打补丁”,比如你们公司上线一个app,用户反应有重大bug,需要紧急修复。如果按照通 常做法,那就是程序猿加班搞定bug,然后测试,重新打包并发布。这样带来的问题就是成本高,效率低。于是,热 修复就应运而生.一般通过事先设定的接口从网上下载无Bug的代码来替换有Bug的代码。这样就省事多了,用 户体验也好。二、热修复的原理1.Android的类加载机制Androi...翻译 2018-02-14 22:35:17 · 656 阅读 · 0 评论 -
android-3种定时器机制及区别
在android中,经常用到的定时器主要有以下几种实现:一、采用Handler与线程的sleep(long )方法二、采用Handler的postDelayed(Runnable, long) 方法三、采用Handler与timer及TimerTask结合的方法。下面逐一介绍:一、采用Handle与线程的sleep(long )方法Handler主要用来处理接受到的消息。这只是最主要的方法,当然H...翻译 2018-02-15 16:35:52 · 1469 阅读 · 0 评论 -
android-AlarmService的使用
可参考博客:http://blog.csdn.net/knxw0001/article/details/101803972.1通过AlarmService每个5秒发送一个广播,setRepeating时的类型为AlarmManager.ELAPSED_REALTIME。 AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);...转载 2018-02-15 16:37:49 · 4409 阅读 · 0 评论 -
Android 自定义View-时尚仪表盘
今天的效果图如下(左边是ui图 右边是实现图):自我感觉总体效果还不错,至少大概画得一样了。上一个动态图:其实这个效果实现起来也不是很难,就是计算坐标,弧度之类的可能会比较麻烦,这里分享写这个其中一张手稿,请无视掉很丑的字,其实做自定义view 还是要在纸上多画。所以希望大家也能这么画画,思路会很顺。好的了,废话不多说,快开始。首先自定义属性 构造函数,测量什么的 你肯定已经很熟练 直接贴代码了...翻译 2018-02-14 22:01:37 · 999 阅读 · 0 评论 -
Android更改桌面应用程序launcher的两种方式
launcher,也就是android的桌面应用程序。下图是我正在使用的魅族手机的launcher应用程序: 接下来我们要开发一个自己的launcher,使其替代系统的默认launcher。怎样使我们的应用程序成为一个launcher? 首先我们要有一个自己的Android应用,在这里,我使用最简单的应用程序Hello,使用eclipse创建Android项目我这里就省略了,直接上图 ...转载 2018-02-14 21:58:35 · 20321 阅读 · 0 评论 -
Android 屏幕适配-最全面的解决方案
前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档 郭霖: Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 鸿洋:Android 屏幕适配方案 凯子: Android屏幕适配全攻略(最权威的官方适配指导) 自身的思考&实践 给你带来一种全新、全面而逻辑清晰...转载 2018-02-14 20:07:15 · 638 阅读 · 0 评论 -
Android模拟器使用PC端USB转串口调试
连接好线路之后,我就迫不及待地把开发板插上电脑,可能是由于自己电脑的缘故,驱动安装失败。 此时右键点击计算机,点击属性,打开设备管理器,展开端口。 有感叹号的表示驱动程序未安装,右键选择属性,再切换到驱动程序一项,安装或者更新驱动程序。 然后点击高级,把端口设置为COM1/COM2。因为发现使用其它端口根本无法启动模拟器,也没找到原因。 上面的步骤搞定之后,就可以开始连接模拟器调试了。 首先,...原创 2018-02-13 21:19:04 · 4911 阅读 · 6 评论 -
Android自定义view-绘制圆形进度条
详细可参考:http://blog.csdn.net/Beyond0525/article/details/48181345最近项目上有一些需求,需要绘制圆形的进度条满足设计上和交互上的需求: 实现思路在画布上直接绘制View,需要了解一下几点 1.需要画一个圆 2.圆圈上有不同进度的颜色 3.圆圈中有进度数字的展示 4.圆圈中间还有可以自定义不同文案提示一、画圆需要使用Canvas的该方法 pu...原创 2018-02-13 19:06:27 · 633 阅读 · 0 评论 -
无人机开发-Android地面站MavLink解析部分源码
MavLink是轻量级的通讯协议,主要应用于终端与小型无人载具间的通讯。由于它的通用性,MavLink可以被翻译成各种语言的代码应用于各种不同的环境。具体如何通过工具来生成对应的MavLink代码请访问:http://www.qgroundcontrol.org/mavlink/create_new_mavlink_messageMavLink协议所定义的消息,大致分为两类,一类是通用消息,另外一...转载 2018-02-13 21:01:44 · 2536 阅读 · 2 评论 -
Android地图开发-BingMap基础教程
原文请参考:http://blog.csdn.net/mad1989/article/details/9733133开端本文皆在指引大家在自己的项目里嵌入BingMap,并可以在地图上添加覆盖物、折线等常用地图功能。1.1 SDK 和APIhttp://bingmapsandroidsdk.codeplex.com/BingMap的android版 SDK并没有集成在微软的网站里,而是放在了其开源...转载 2018-02-13 17:51:49 · 2400 阅读 · 0 评论 -
Android开发,MapBox地图详细介绍、使用、部分功能实现(初始化、标记、定位、styleurl)
MapBox介绍:MapBox 最初是与 OpenStreetMaps 合作的开源项目,后来开始独立发展。当 Google 开始为地图 API 收费的时候,Mapbox 获得了巨大的发展机会。它的客户曾有 NPR、卫报、绿色和平组织和 FCC ,如今它为 Foursquare、Evernote 等公司提供地图服务。最近,MapBox 开始了一项野心勃勃的计划——构建世界上最漂亮的地图。它有什么秘密...转载 2018-02-13 16:27:43 · 16441 阅读 · 10 评论 -
Android锁屏状态下保持后台唤醒WakeLock机制
一些手机app(如微信、QQ等)有新消息来到达,手机屏幕即使在锁屏状态下也会亮起,并提示用户有新消息。但是,一般情况下手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会使系统进入休眠状态,这时,Android系统中CPU会保持在一个相对较低的功耗状态,而收到新消息必定有网络请求,而网络请求是消耗CPU的操作,那么如何在锁屏状态乃至系统进入休眠后,仍然保持系统的网络状态以及通过...转载 2018-02-15 17:12:35 · 4089 阅读 · 2 评论 -
android adb wifi无线调试4
首先弄懂怎么设置adb wifi无线调试的功能,如下所示。1. 手机端开启adb tcp连接端口:/$setprop service.adb.tcp.port 5555:/$stop adbd:/$start adbd其中setprop是用来设置系统属性的,这里不需要root权限,su即可。可通过adb shell设置,亦可通过手机上安装的Android terminal设置。2. 电脑端的设...转载 2018-02-15 17:17:55 · 791 阅读 · 0 评论 -
Android 黑科技之卸载系统应用(卸载流氓软件)
黑科技我们都知道一般预置的 APP 是不能卸载的,需要有 root 权限,今天分享一个命令,帮你卸载那些你想卸载又不能卸载的系统预置的 APP。adbshellpmuninstall[-k][--userUSER_ID]包名参数说明: -k 卸载应用且保留数据与缓存,如果不加 -k 则全部删除。 --user 指定用户 id,Android 系统...翻译 2019-09-10 15:08:19 · 15276 阅读 · 4 评论 -
Android Webview 大型H5 秒开方案探讨+VasSonic实现h5首页加速
前言现在许多app都嵌入了H5页面, 然而WebView加载速度慢这个问题却一直影响着用户的体验, 所以本文就如何提高H5页面的加载速度展开讨论。问题原因首先我们需要知道为什么WebView的加载速度那么慢。H5页面的渲染速度其实主要取决于两个js解析效率 如果js文件较多、解析比较复杂, 就会导致渲染速度较慢。或者手机的硬件性能比较差的话, 也会导致渲染速度比较慢。 页面资源...原创 2019-07-11 11:48:54 · 5502 阅读 · 5 评论 -
较为全面总结 Android WebView与 JS 的交互方式
1. 交互方式总结Android与JS通过WebView互相调用方法,实际上是:Android去调用JS的代码 JS去调用Android的代码二者沟通的桥梁是WebView对于Android调用JS代码的方法有2种:通过WebView的loadUrl() 通过WebView的evaluateJavascript()对于JS调用Android代码的方法有3种:通过We...转载 2019-07-05 11:20:58 · 270 阅读 · 0 评论 -
Java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/scheme/SchemeRegistry;
Android 项目在运行在Android9.0上面的时候 闪退 报错如下Java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/scheme/SchemeRegistry;解决办法:在AndroidManifest.xml文件的application标签里面加入<uses-li...转载 2019-02-02 11:11:51 · 7030 阅读 · 1 评论 -
Android方法数methods超过65536
当Android App中的方法数超过65535时,如果往下兼容到低版本设备时,就会报编译错误:Cannot fit requested classes in a single dex file. Try supplying a main-dex list.# methods: 86204 > 65536Message{kind=ERROR, text=Cannot fit req...原创 2019-02-02 11:10:02 · 603 阅读 · 0 评论 -
Android快速点击的屏蔽和多弹出框的拦截
一、屏蔽同一个按钮的快速点击 同一个按钮,在一般情形下,不需要在极短的时间内连续点击很多次。当然,类似咻一咻的功能除外。屏蔽同一个按钮的快速点击,普通的情形有设置setClickable属性。在点击实现,首先将该对象置为不可点击。注意事项是,需要考虑不同情形下,将该按钮属性修改回来。 修改点击事件,是另一种方法。 public abstract class...转载 2019-02-02 11:07:54 · 1247 阅读 · 0 评论 -
Android Studio最全插件整理
在Android开发中,合理的使用Android Studio插件不但可以提高开发效率,还能从整体上提高代码的质量。下面就Android开发中常见的一些插件做一个整理。1,GsonFormatGsonFormat是一个可以快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。 使用方法:快捷键Alt+S也可以使用Alt+Inse...转载 2019-02-02 11:05:12 · 629 阅读 · 0 评论 -
Android 引导、图片轮播控件(BGABanner)
目录功能介绍 效果图与示例 apk 常见问题 使用 自定义属性说明 关于我 打赏支持 License功能介绍 引导界面导航效果 支持根据服务端返回的数据动态设置广告条的总页数 支持大于等于1页时的无限循环自动轮播、手指按下暂停轮播、抬起手指开始轮播 支持自定义指示器位置和广告文案位置 支持图片指示器和数字指示器 支持 ViewPager 各种切换动画 ...转载 2019-02-02 11:02:34 · 1360 阅读 · 0 评论 -
android 同一套代码打包多个apk在同个手机上安装运行的方案
背景:为了便于我们开发者的调试和产品测试人员的方便,由此产生需要在同一部机安装多个APP的需求同一套代码打多个APP包并能够在同一个手机上安装运行,同时APP名称、桌面icon图标也都不同首先在app下的build.gradle中:android {buildTypes { debug { applicationIdSuffix "...原创 2019-01-15 15:16:52 · 3948 阅读 · 0 评论 -
Java RSA 加密
什么是Rsa加密? RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥。RSA是第一个既能用于数据加密也能用于数字签名的算法。 RSA算法原理如下: 1.随机选择两个大质数p和q,p不等于q,计算N=pq; 2.选择一个大于1小于N的自然数e,e必须与(p-1)(q-1)互素。 3.用公式计算出d:d×e = 1 (mod (p-1)(q-1)) ...原创 2018-11-23 19:38:50 · 3910 阅读 · 0 评论 -
一种解决Android进行蓝牙连接时发生socket已关闭或超时错误的方法
在进行树莓派与android蓝牙通信时遇到一个难以解决的错误:java.io.IOException: read failed, socket might closed or timeout, read ret: -11这个错误是出现在: try { mmSocket.connect();// This is a blocking call ...转载 2018-07-11 10:51:21 · 5187 阅读 · 0 评论 -
Android开发常用网络请求框架OkHttp、Volley、XUtils、Retrofit对比
网络请求框架总结1.xutils 此框架庞大而周全,这个框架可以网络请求,同时可以图片加载,又可以数据存储,又可以 View 注解,使用这种框架很方便,这样会使得你整个项目对它依赖性太强,万一以后这个库不维护了,或者中间某个模块出问题了,这个影响非常大,所以在项目开发时,一般会更喜欢选择专注某一领域的框架。2.OkHttp Android 开发中是可以直接使用现成的api进行网络请求...转载 2018-03-13 16:37:59 · 476 阅读 · 0 评论 -
Android平台对H264视频硬解码
原本我们是用JNI调用平台提供的硬件解码接口得到YUV帧,再放入opengl脚本里处理渲染的。可是换了新平台之后,没有拿到底层的接口,所以这两天找在Android上的H264解码方案。前天在友人的提示下找到了MediaCodec这个类,Android developer上面有MediaCodec的描述和用法,还算详细可以慢慢摸索。但是在网上关于这个类的用法是比较少。 那在这里贴代码介绍一下。 1...转载 2018-02-15 17:33:20 · 2515 阅读 · 1 评论 -
Eclipse移植Android Studio Gradle编译报Execution failed for task 文件混淆错误input jar file is specified twice
提示如下错误: Warning:Exception while processing task java.io.IOException: The same input jar [G:\test\Jooan\app\libs\universal-image-loader-1.9.3.jar] is specified twice.Hello World 2016/6/29 9:30:56:app:t...转载 2018-02-13 16:10:37 · 178 阅读 · 0 评论 -
Android性能优化-内存泄露和内存溢出原理解读和解决方案
什么是内存溢出与内存泄露? 首先我们要知道内存溢出与内存泄露的概念,什么是内存溢出和内存泄露。 内存溢出:就想杯子里得水满了,就溢出了。内存溢出就是分配的内存被用光了,不够用了。 内存泄露:就如同杯子里面有石子,导致杯子里面的一部分空间没有被利用,在APP中内存泄露就是指该被回收的内存没有被回收,导致一部分内存一直被占着,可利用内存变少了。当泄露过多 时,可...原创 2018-02-13 15:48:12 · 356 阅读 · 0 评论 -
Android 多线程之AsyncTask详解
一、Android当中的多线程在Android当中,当一个应用程序的组件启动的时候,并且没有其他的应用程序组件在运行时,Android系统就会为该应用程序组件开辟一个新的线程来执行。默认的情况下,在一个相同Android应用程序当中,其里面的组件都是运行在同一个线程里面的,这个线程我们称之为Main线程。当我们通过某个组件来启动另一个组件的时候,这个时候默认都是在同一个线程当中完成的。当然转载 2017-05-27 11:48:18 · 282 阅读 · 0 评论 -
android串口通信以及串口协议解析
把之前在新浪博客里写的分享也备份移植到CSDN博客,之前本文博客地址是:http://blog.sina.com.cn/s/blog_14ed06d6c0102wqdm.html一,android串口通信串口通信采用一个第三方开源项目,实现串口数据收发。1. 使用了http://code.google.com/p/android-serialport-api/的项目的serialpor原创 2017-05-26 10:59:43 · 2398 阅读 · 0 评论 -
adb server is out of date. killing解决方案
把之前在新浪博客里写的分享也备份移植到CSDN博客,之前本文博客地址是:http://blog.sina.com.cn/s/blog_14ed06d6c0102wnle.html我经常也出现这问题,今天不得不把它记录下来,让更多小伙伴们可以快速解决1. 错误信息:C:\Users\lizy>adb devicesadb devicesadb server is ou原创 2017-05-26 10:52:52 · 445 阅读 · 0 评论 -
解决SurfaceView调用setZOrderOnTop(true)遮挡其他控件的问题
1、SurfaceView遮挡其他控件的项目背景:由于要实现视频、地图大小窗口切换功能,所以在布局里同时使用了MapView和SurfaceView,textview、imageview、自定义控件各种按钮控件。在这种背景下,问题出现了,如果用相关开发基础的同学应该知道,当MapView和SurfaceView同时在一个布局里面,如果想让SurfaveView显示图片或者视频必须要调用Surf原创 2017-05-25 15:00:44 · 13799 阅读 · 6 评论 -
android app 集成百度地图,打包签名后地图不显示的解决方案
原因:分析下为啥签名之后地图就不显示了?集成百度地图,很多情况下都有地图不显示的情况,我们总结其原因,大多情况下是因为key值的问题。签名之后,key值失效了,再分析其原因,我们发现是因为签名后SHA1值被改变了。解决方案,想办法拿到签名后应用内 SHA1值,将百度地图控制台你的应用配置修改一下,就可完美解决打包后地图不显示,定位失效等问题~具体操作流程:1.将设置原创 2017-05-25 14:56:37 · 594 阅读 · 0 评论 -
关于Java.lang.UnsatisfiedLinkError的错误解决办法
把原本一直在魅蓝metal测试的android地面站换到S6 edge中运行就报java.lang.UnsatisfiedLinkError: No implementation found for void com.mmc.groundstation.activities.activity.GroundStationActivity.startVideoStream(java.lang.Obje原创 2017-05-25 14:27:05 · 19249 阅读 · 0 评论