android
文章平均质量分 62
浪克oo
当你看书看到头痛两眼通红的时候;当你按着遥控器不停转台的时候;当你翻着通讯录不知道打给谁的时候;当你独自穿越人群看着两岸灯火找不到归属感的时候;你就应该听起一首歌,看起一本书,想想自己最初的坚持和你站在这个地方的理由,然后抬起头勇敢地走下去了。
展开
-
android息屏休眠定时器心跳停止运行
分两种情况:1.当手机连接usb电源时,息屏不会造成定时器暂停运行2.当手机未连接usb电源时,息屏会造成定时器暂停运行,并在再次点亮屏幕时定时器重新开始工作测试:1.service保活,在service中启动定时器,无法解决2.开启WakeLock无法解决3.使用AlarmManager、CountDownTimer、Handler、Timer定时器,无法解决……分析:通过网上的一系列方法都不能很好的解决这个问题,所以归根结底还是回到手机本身系统来看这个问题。随着a..原创 2021-06-25 10:58:44 · 3853 阅读 · 5 评论 -
android根据轮播图片颜色改变背景颜色
最终效果:(最终效果录屏后转成gif时色彩有些误差还在闪烁,直接在手机上运行是没有这种情况的。)思路:获取轮播图当前图片的主题色并且设置给背景首先简单写一个轮播图因为会用到网络图片先申请权限 <uses-permission android:name="android.permission.INTERNET" /> <!-- 访问网络权限 -->引入轮播图和图片显示依赖 implementation 'com.github.bumptech原创 2021-04-21 09:08:01 · 1526 阅读 · 2 评论 -
Android简单自定义音乐波动特效图
最终效果:思路:就是绘制一个不断变化高度的矩形或者是宽虚线1.自定义属性:<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="musicPlayViewAttr"> <!--指针颜色--> <attr name="point_color" format="color" /> .原创 2021-04-15 17:41:17 · 1333 阅读 · 2 评论 -
Android高德地图marker自定义弹框窗口
最终效果:1.gradle里添加高德地图依赖 implementation 'com.amap.api:map2d:latest.integration'//2d地图功能 implementation 'com.amap.api:location:latest.integration'//定位功能2.如果要用到定位的话,就首先到高德控制台里面加入本应用的信息获取到key,再在Application里设置key,并在AndroidManifest.xml中应用MainApp.原创 2021-04-15 10:01:52 · 1525 阅读 · 0 评论 -
android tablayout改变选中样式
的原创 2020-11-14 15:10:55 · 1758 阅读 · 0 评论 -
android停止运行崩溃异常信息保存和上传
android开发中很多时候都会遇到软件停止运行的情况,普通操作这个时候我们一般会把异常信息保存下来并且上传到服务器,供开发人员查找问题。我把以前写的一个工具类分享给大家供参考,备注还是够详细就不多介绍了。/** * UncaughtException处理类,当程序发生Uncaught异常的时候,有该类来接管程序,并记录发送错误报告. * Created by hk */public class LogCrashHandler implements UncaughtExceptionHandl原创 2020-11-14 13:42:23 · 627 阅读 · 1 评论 -
android TabLayout添加点击事件
很多情况都会遇到scrollView里面嵌套tabLayout+viewPager,因为tabLayout上面有很多东西,所以处于屏幕下方,所以可能会要求点击tabLayout的时候tabLayout和viewPager置顶,以下就是代码实现。 for (int i = 0; i < tabLayout.getTabCount(); i++) { TabLayout.Tab tab = tabLayout.getTabAt(i); i.原创 2020-07-19 16:24:34 · 2488 阅读 · 0 评论 -
AgentWeb嵌套h5 上传图片文件
随着现在混合开发非常的普遍,很多html界面上会进行图片和文件等的上传,界面嵌套进android后,会发现无法调出手机本地图片,这个时候需要我们主动进入图库调用图片反馈给页面。主要步骤就是重写WebChromeClient中的onShowFileChooser方法当前AgentWeb,或者是原生的webView设置自己写的WebViewClient private ValueCal...原创 2020-04-23 22:08:58 · 2387 阅读 · 1 评论 -
android网络编程中的Http、Https、TCP/IP、Socket
前言在Android中,网络编程是是十分重要的一项,下面就来介绍一下网络编程方面的知识。简介HTTP超文本协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。Http定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎么把文档传给浏览器。Http是万维网可靠的交换文件(包括文本、图像、声音、以及视频...原创 2020-02-05 15:57:20 · 987 阅读 · 1 评论 -
android动态绘制自定义折线图(不使用第三方)
简介很多软件中都会展示统计数据给用户,方式就是各种统计图,柱状图,扇形图,折线图等等。当然现在有很多第三方依赖很容易就可以实现上面说的各种图,此篇的目的就是介绍如何自己动手做一个简单的折线图(注释挺详细,话就不多了)。效果图思路自定义属性 数据提供 绘制xy轴线,箭头 绘制xy轴刻度,文字 绘制折线 绘制折线上点位圆圈 绘制选中弹出框和x轴文字选中框 x轴滑动自...原创 2020-01-16 12:36:02 · 1612 阅读 · 3 评论 -
Android常见内存泄露及优化方案
简介如果一个无用对象(不需要再使用的对象)仍然被其他对象持有引用,造成该对象无法被系统回 收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费,这中情况就是内存泄 露。在 Android 开发中,一些不好的编程习惯会导致我们的开发的 app 存在内存泄露的情况。下面介绍总结一些在 Android 开发中常见的内存泄露场景及优化方案。单例导致内存泄露单例模式在 Android...原创 2020-01-07 17:56:07 · 486 阅读 · 0 评论 -
android 绘制坐标系(雷达探测界面)
简介在android中会经常用到自定义view来实现一些效果的显示,今天就举个例子,绘制一个像探测雷达的界面。雷达界面一般就是下面这种样子,我们下面就大概来仿照着这个图片做一下。最终我做出来的效果:分析一下上述图片需要绘制哪些图形。虚线的xy坐标轴 坐标轴上的距离刻度数和点 4个箭头符号,东南西北文字 5个虚线圆圈 目标点的虚线,以及文字距离显示主要分为两步,1重...原创 2019-11-20 09:15:16 · 7239 阅读 · 1 评论 -
android arcgis使用自定义图片背景底图(tif图片制作)
简介arcgis在安卓中专业级位置服务中发挥了很大的作用,当然主要目的不是为了像百度地图那样显示地图,它包含了很多很多百度地图等不具备的功能。一般使用它都是用的范围很大的shp文件做底图,但是也有只需要显示小范围位置的需求(范围太大tif文件很大),这样我们就可以使用实景照片来当做底图,这样有很大的好处(好装逼~)。如果要用实景图片的话,那就需要用到栅格图层(RasterLayer),使用...原创 2019-11-26 09:23:31 · 8966 阅读 · 2 评论 -
MVC MVP MVVM 详解及区别
简介 在实际的开发中遇到不同的项目我们可能会选择不同的框架,目前android主要使用三种框架MVC,MVP,MVVM,各有各的用途,今天就来详细介绍下各个框架,以便在今后的开发中都能选择最适合的框架。MVC 这可能是我们最熟悉的一种框架了,全名是 Model--View--Controller,是模型(model)-视图(view)-控 制器(controller)的缩写,它是用...原创 2019-11-08 09:10:44 · 482 阅读 · 0 评论 -
android 蓝牙4.0(BLE) 开发
简介蓝牙发展至今经历了9个版本的更新。1.1、1.2、2.0、2.1、3.0、4.0、4.1、4.2、5.0。那么在1.x~3.0之间的我们称之为传统蓝牙,4.x开始的蓝牙我们称之为低功耗蓝牙也就是蓝牙ble,当然4.x版本的蓝牙也是向下兼容的。android手机必须系统版本4.3及以上才支持BLE API。蓝牙4.0较传统蓝牙也有很大大差别:随着蓝牙技术由手机、游戏、耳机、便携电脑和...原创 2019-10-23 22:57:51 · 1434 阅读 · 0 评论 -
Android动画内置插值器
作用 资源ID Java类 动画加速进行 @android:anim/accelerate_interpolator AccelerateInterpolator 快速完成动画,超出再回到结束样式 @android:anim/overshoot_interpolator OvershootInterpolator 先加速再减速 @android...原创 2019-10-20 17:38:37 · 366 阅读 · 0 评论 -
android高级开发工程师知识图谱
图谱来源于网易云,侵权立删。原创 2019-10-14 17:01:59 · 282 阅读 · 0 评论 -
android小米开源代码
查看链接:https://github.com/MiCode/Xiaomi_Kernel_OpenSource原创 2019-10-12 13:23:47 · 690 阅读 · 0 评论 -
CH340串口读取
最近在开发android工控机同硬件设备通信的时候,用到了ch340U转串,所以把关于这个串口的一些知识分享给大家。简介:CH34x 系列芯片是 USB 总线的转接芯片,主要包含 CH340、CH341、CH345,通过 USB 总线提供异 步串口、打印口、并口、MIDI 以及常用的 2 线和 4 线等接口。CH34x 串口提供的 Android 接口需要基于 Android 3.1 ...原创 2018-12-26 17:38:04 · 15805 阅读 · 8 评论 -
创建自定义布局AlertDialog
就手机来说,因为屏幕不够大,所以在显示不是必须的信息时或者不是常用的操作时,我们可以在对话框中显示,但不是传统的那种简单的对话框,需要自己自定义一下,这样不仅能节约空间,并且功能也一样不缺。自定义AlertDialog跟普通的其实差不多,就是多了一些附加操作,使得对话框的交互跟activity界面交互一样,所以今天做了一个简单的例子。效果如下图。因为注释很详细所有我少说话多贴代码了(懒。。...原创 2018-12-27 10:57:18 · 3358 阅读 · 0 评论 -
android蓝牙通信
蓝牙能在移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。 在最近项目中,用到了android机器蓝牙同硬件通信,所以在此举个小例子总结一下。结构同上次介绍ch34串口差不多,大家有...原创 2018-12-27 16:57:14 · 2818 阅读 · 0 评论 -
Int与byte[]互转详解分析
我先贴出最终转换的代码,再来进行一步一步的介绍: /** * 将int数值转换为占四个字节的byte数组 * @param value * 要转换的int值 * @return byte数组 */ public static byte[] intToBytes(int value ) { byte[] sr...原创 2018-12-29 14:46:18 · 23517 阅读 · 1 评论 -
java并发-原子操作(atomic operation)的理解
在java中并发也是一个老生常谈的东西了,在我的理解并发也就是保证线程安全的情况下,多个线程操作相同的资源,是否并发取决于它的3种特性:原子性:一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其它线程干扰。 有序性:有序性即程序执行的顺序按照代码的先后顺序执行。 可见性:当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值...原创 2019-01-11 22:01:33 · 7528 阅读 · 0 评论 -
getTime()得到时间戳不一样
在前一段时间,我们软件新加了一个充值功能,主要是靠时间戳来确定是否有余额或者是充值成功,奇怪的是我在公司里测试是好好的但是在户外就不行了,这就有点懵逼了。 我先分享我找到问题原因的历程,因为服务器是固定的排除服务器的问题,首先分析两点:户内跟户外在机子环境上有什么区别 充值跟时间戳有关,有什么可能影响到时间戳环境区别如下:1在户内跟户外的机子不是同一个,2户内连了网而户外没...原创 2019-01-02 09:59:02 · 11347 阅读 · 0 评论 -
数据溢出-int值太大变成负数
在解析硬件传过来的信号时,因为在压力测试我就想记录一下一共传了多少包,下午再去看的时候,看打印日志竟然打印出了负数,一脸懵逼。我还以为是出什么想不到的bug了,后面我写了段测试代码如下 int number = 1; while (number>0){ number = number+100000; ...原创 2019-01-02 14:36:07 · 16203 阅读 · 2 评论 -
获取android手机唯一标识
因为很多软件都有这个功能,所以说是非常重要的,比如说一个用户账号只能绑定3个设备,那么得到设备的唯一标示将是非常重要的。 我猜那么你肯定首先想到的就是得到设备IMEI,TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(context.TELEPHONY_SERVIC...原创 2019-01-02 14:35:49 · 6742 阅读 · 1 评论 -
java 地心坐标系(ECEF)和WGS-84坐标系(WGS84)互转
public static String WGS84toECEF(double latitude, double longitude, double height) { double X; double Y; double Z; double a = 6378137.0; double b = 635675...原创 2019-06-28 17:24:05 · 22793 阅读 · 7 评论 -
Android ArcGIS基础使用教程(10.2.8)
教程为全英文版,介者勿下。下载链接: https://pan.baidu.com/s/1yK-0ylaH6AHq4eV6XA6BHA 提取码: 7f7s原创 2019-06-28 17:46:27 · 8024 阅读 · 0 评论 -
多线程notifyAll 和 notify
当我们做多线程同步时,经常会用到等待通知机制,而 Java 中,它的实现方式相信大家也很熟悉,就是 synchronized 配合 wait()、notify()、notifyAll() 这三个方法来实现。最常见的例子就是生产者消费者模式,如果你的Java程序中有两个线程-生产者和消费者,生产者线程在缓冲区为满的时候,消费者在缓冲区为空的时候,或者是线程条件不满足时,这时线程都应该开始等待,...原创 2019-09-30 10:41:02 · 270 阅读 · 0 评论 -
KML参数标签介绍
KML语法规则和任何程序和脚本语言一样,KML有一些必须遵循的语法规则.文档结构一个KML文档应该完全遵循KML格式,文档也和基本的XML语法规则差不多,有以下几点要特别注意的地方.XML标签必须关闭XML标签是大小写敏感的对于KML语法,首字母大写的标签是复合标签,否则就是单一标签,在实体和标签介绍之中有更多相关信息.XML标签必须正确嵌套XML文档必须只有一个根标签对于K...原创 2019-10-08 15:03:13 · 4836 阅读 · 2 评论 -
java生成KML文件
只要做地图相关的朋友,都会遇到一个功能,那就是显示点位以及轨迹回放,如果需要方便的查看轨迹回放以及点位的位置,我们可以借助Google Earth工具,当然使用的前提你得准备KML文件。Google Earth下载地址:http://soft.onlinedown.net/soft/57899.htmKML:KML文件就是一种在GOOGLE地图浏览器中用于交换地理数据的文件。它基于XML,...原创 2019-10-08 16:03:35 · 7172 阅读 · 1 评论 -
Android APK瘦身
随着项目不断地完善,资源不断地增多,导致apk大小越来越大,编译以及安装等待时间越来越长,虽然对应用使用并没有影响,但是用户会越不愿意下载。还有特别是在使用移动网络的时候,用户更不会浪费流量去下载,所以我们得尽量缩小apk大小。安装包主要由7部分组成:assets:存放一些配置文件、资源文件,assets不会自动生成对应的 ID,而是通过 AssetManager 类的接口获取。res...原创 2019-10-09 15:35:15 · 1693 阅读 · 0 评论 -
理解Fragment,生命周期以及各个周期做什么事,缓存fragment不被销毁
最近做个小东西时用到fragment所以深刻的巩固了下基础知识,先上个官方的流程图 onAttach() 主要用于与activity的通信 获得activity的传递的值 当然也可以使用getActivity(),前提是这个fragment已经和宿主的activity关联,并且没有脱离 他只调用一次。 onCreate() 系统创建fragment的时候回调他,在他里面实例化一些变量原创 2017-09-19 17:47:26 · 1427 阅读 · 0 评论