• 详解Android v1、v2、v3签名(小结)

    详解Android v1、v2、v3签名(小结) Android签名机制 什么是Android签名 了解 HTTPS 通信的同学都知道,在消息通信时,必须至少解决两个问题:一是确保消息来源的真实性,二是确保消息不会被第三方篡改. 同理,在安装 apk 时,同样也需要确保 apk 来源的真实性,以及 apk 没有被第三方篡改.为了解决这一问题,Android官方要求开发者对 apk 进行签名,而签名就是对apk进行加密的过程.要了解如何实现签名,需要了解两个基本概念:消息摘要.数字签名和数字证书. 消息摘要

  • Android性能之冷启动优化详析

    Android性能之冷启动优化详析 1.前言 APP冷启动比较慢,点击桌面图片需要用户等待很久,体验较差. 2.APP启动方式 冷启动(Cold start) 场景:冷启动是指APP在手机启动后第一次运行,或者APP进程被kill掉后在再次启动. 可见冷启动的必要条件是该APP进程不存在,这就意味着系统需要创建进程,APP需要初始化.在这三种启动方式中,冷启动耗时最长,对于冷启动的优化也是最具挑战的.因此本文重点谈论的是对冷启动相关的优化. 生命周期:Process.start->Applicati

  • android使用surfaceview+MediaPlayer播放视频

    android使用surfaceview+MediaPlayer播放视频 Android中播放视频主要有两种方式: 使用其自带的播放器.指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型 使用android自带的VideoView,这种方法太简单就不介绍了 使用SurfaceView+MediaPlayer,这种方式效果比较好,这里也重点介绍 SurfaceView从android 1.0就有了,十分好用.一般来说,UI对刷新都需要在UI线程中完成,但是,surfacev

  • Android仿微信视屏悬浮窗效果

    Android仿微信视屏悬浮窗效果 在项目中需要对接入的腾讯云音视频,可以悬浮窗显示,悬浮窗可拖拽,并且在悬浮窗不影响其他的activity的焦点. 这个大神的文章Android基于腾讯云实时音视频仿微信视频通话最小化悬浮,他讲的是视频通话时,将远端视频以悬浮窗形式展示,根据他的代码我进行了部分简化 1.悬浮窗效果:点击缩小按钮,将当前远端视屏加载进悬浮窗,且悬浮窗可拖拽,不影响其他界面焦点:点击悬浮窗可返回原来的Activity 2.实现悬浮窗需要: 在androidManifest中申请悬浮窗权限&l

  • Android采用消息推送实现类似微信视频接听

    Android采用消息推送实现类似微信视频接听 本文实例为大家分享了Android实现类似微信视频接听的具体代码,供大家参考,具体内容如下 1.背景需求:业务需要接入视频审核功能,在PC 端发起视频通话,移动端显示通话界面点击接听后进行1对1视频通话. 2.解决方案:因为项目没有IM功能.只集成了极光消息推送(极光消息推送接入参考官方文档,经过跟需求沟通,采用消息推送调起通话接听界面.再集成腾讯实时音视频SDK(具体集成方式参考官方文档).最终实现类似微信1对1通话功能. 3.技术实现: A:编写一个广播

  • Android自定义View实现投票进度条

    Android自定义View实现投票进度条 本文实例为大家分享了Android投票进度条的具体代码,供大家参考,具体内容如下 效果展示 功能属性介绍 <!-- MatchSupportProgressBar --> <declare-styleable name="MatchSupportProgressBar"> <!-- 进度条圆角角度 --> <attr name="progress_radio" format=&qu

  • Android自定义View实现地铁显示牌效果

    Android自定义View实现地铁显示牌效果 本文实例为大家分享了Android地铁显示牌的具体代码,供大家参考,具体内容如下 预览效果 目录 SubwayBoardView.java 代码 public class SubwayBoardView extends View { private Paint bgPaint, tbPaint, centerBgPaint, centerRingPaint, centerCirclePaint, centerCircleRingPaint, noStatio

  • Android自定义View实现点赞控件

    Android自定义View实现点赞控件 本文实例为大家分享了Android点赞控件的具体代码,供大家参考,具体内容如下 预览效果 目录 图片类:LikeImageView 文字类:LikeCharTextView 整合类:LikeView.java 自定义属性:attrs.xml 代码 LikeCharTextView public class LikeCharTextView extends View { public static final int DEFAULT_TEXTCOLOR = Colo

  • Android实现折线走势图

    Android实现折线走势图 本文实例为大家分享了Android折线走势图的具体代码,供大家参考,具体内容如下 先来看看效果图 可以根据球的数量动态的改变自己的球半径,以及线宽 代码实现也是超级简单 //获取自定义属性 private void obtainStyledAttrs(AttributeSet attrs) { TypedArray typedArray = getContext().obtainStyledAttributes(attrs,R.styleable.High_LowChartV

  • Android使用RecyclerView实现投票系统

    Android使用RecyclerView实现投票系统 本文实例为大家分享了Android投票系统的具体代码,供大家参考,具体内容如下 一.创建一个fragment_vote_list.xml用来显示投票的主页面 (1)标题栏使用Toolbar (2)投票区域可以滑动,使用RecyclerView实现 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="

  • Flutter 实现下拉刷新上拉加载的示例代码

    Flutter 实现下拉刷新上拉加载的示例代码 本文介绍了Flutter 实现下拉刷新上拉加载的示例代码,分享给大家,具体如下: 效果图 使用方法 添加依赖 dependencies: pull_to_refresh: ^1.5.7 导入包 import 'package:pull_to_refresh/pull_to_refresh.dart'; 页面代码样例 class _MyHomePageState extends State<MyHomePage> { List<

  • Android自定义字母导航栏

    Android自定义字母导航栏 本文实例为大家分享了Android字母导航栏的具体代码,供大家参考,具体内容如下 效果 实现逻辑 明确需求 字母导航栏在实际开发中还是比较多见的,城市选择.名称选择等等可能需要到. 现在要做到的就是在滑动控件过程中可以有内容以及 下标的回调,方便处理其他逻辑! 整理思路 1.确定控件的尺寸,防止内容显示不全.相关的逻辑在onMeasure()方法中处理: 2.绘制显示的内容,在按下和抬起不同状态下文字.背景的颜色.相关逻辑在onDraw()方法中: 3.滑动事件的处理以及事

  • Android使用SoundPool播放音效实例

    Android使用SoundPool播放音效实例 使用场景 SoundPool一般用来 播放密集,急促而又短暂的音效,比如特技音效:Duang~,游戏用得较多,你也可以为你的 APP添加上这个音效,比如酷狗音乐进去的时候播放"哈喽,酷狗" 是不是提起了对于SoundPool的兴趣了呢 ok,废话不多说 详细的参数解释请看注释 public class SoundPlayer extends AppCompatActivity { private SoundPool mSoundPool

  • Android实现图片一边的三角形边框效果

    Android实现图片一边的三角形边框效果 在每一个图片的某一侧都可以展示出一个三角形的边框视图,就是咱们的三角形标签视图.这个视图在电商类APP当中比较常用,使用过ebay的同学应该都还记得有些商品的左上角或者右上角都会显示一个三角形的边框,用于给人一个直观的商品正在促销,或者刚刚上线的直观感受.我们可以看看实现后的效果如下: 在真实的APP当中,我们还会加上一个SrcollView控件,这样子才可以进行不断地上下浏览.我们这里主要是为了让大家明白这个视图是该如何实现的,就不演示SrcollView控件

  • Android实现倒计时的按钮效果

    Android实现倒计时的按钮效果 最近有人问我如何实现倒计时的按钮功能,例如发送验证码,我记得有个CountDownTimer,因为好久没用过了,自己就写了一个,代码如下 new CountDownTimer(10000, 1000) { @Override public void onTick(long millisUntilFinished) { btn2.setEnabled(false); btn2.setText(String.format("%ds后重新发送验证码",mi

  • AccessibilityService实现微信发红包功能

    AccessibilityService实现微信发红包功能 在AccessibilityService中我们可以做模拟操作,下面记述下通过AccessibilityService实现微信发红包的功能 1.配置AccessibilityService,需要通过集成AccessibilityService来执行操作. public class TestAccessibilityService extends AccessibilityService { @Override public void onAcce

  • Android使用SoundPool播放短音效

    Android使用SoundPool播放短音效 前言 对于Android播放一些简短音效,例如提示音,或者铃声,相对于使用MediaPlayer,SoundPool可以节省更多资源,并且可以同时播放多个音效,而且可以针对不同音效设置不同播放品质 实现 SoundPool的具体作用,就不再阐述,直接贴代码 private SoundPool.Builder spBuilder; private SoundPool soundPool; private Integer[] fmSound = FmManage

  • Windows实现Flutter环境搭建及配置这一篇就够了

    Windows实现Flutter环境搭建及配置这一篇就够了 最近正式入坑Flutter,首先从环境搭建开始,看了网上好多关于Windows环境搭建的资料,基本都是按官方文档写的,看完的感受是,还不如直接去看官方文档. 官方英文文档传送门:Get Started: Install on Windows . 本文主要总结我实际搭建的过程,最后发现不一定按网上那些博客或者官方文档写的来也可以搭建成功. 总的来说需要的也就4样东西,找齐了配置一下就OK: (1)Flutter SDK (建议下载官网的,下载完直接

  • android 震动和提示音的实现代码

    android 震动和提示音的实现代码 android的消息提示(震动和提示音),实现代码如下所示: public class VibratorUtil { protected AudioManager audioManager; protected Vibrator vibrator; private Ringtone ringtone; private static final int MIN_TIME_OUT = 4000; //时间间隔 long lastNotificationTime; pub

  • Android实现蓝牙(BlueTooth)设备检测连接

    Android实现蓝牙(BlueTooth)设备检测连接 无论是WIFI还是4G网络,建立网络连接后都是访问互联网资源,并不能直接访问局域网资源.比如两个人在一起,A要把手机上的视频传给B,通常情况是打开手机QQ,通过QQ传送文件给对方.不过上传视频很耗流量,如果现场没有可用的WIFI,手机的数据流量又不足,那又该怎么办呢?为了解决这种邻近传输文件的问题,蓝牙技术应运而生.蓝牙技术是一种无线技术标准,可实现设备之间的短距离数据交换. Android为蓝牙技术提供了4个工具类,分别是蓝牙适配器Bluetoo

  • Android Shape属性创建环形进度条

    Android Shape属性创建环形进度条 1,实现效果 2,实现代码: [1] shape_drawable.xml 文件 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:innerRadius="20dp" android:sh

  • Android自定义TimeButton实现倒计时按钮

    Android自定义TimeButton实现倒计时按钮 项目需要要实现一个带有倒计时功能的按钮,其效果类似发送验证码之后在按钮上显示倒计时并且将按钮设置为不可用的功能. 为了项目中其他地方能够调用到,便重写了一个继承于Button的TimeButton来实现倒计时功能,并方便调用. 老规矩,上效果图: 逻辑也不复杂,直接上代码: 首先新建一个App.class继承于Application package com.example.xuboyu.myapplication; /** * 用于存放倒计时时间 *

  • Android应用禁止屏幕休眠的3种方法

    Android应用禁止屏幕休眠的3种方法 做Android应用开发时,有时需要在应用前台运行时,禁止休眠,以下几种方法供参考. 方法一:持有WakeLock 添加休眠锁,休眠锁必须成对出现. private WakeLock mWakeLock = null; private void acquireWakeLock() { if(mWakeLock == null) { PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERV

  • Android中layer-list基本使用详解

    Android中layer-list基本使用详解 使用layer-list可以将多个drawable按照顺序层叠在一起显示,默认情况下,所有的item中的drawable都会自动根据它附上view的大小而进行缩放, layer-list中的item是按照顺序从下往上叠加的,即先定义的item在下面,后面的依次往上面叠放 例子 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:andro

  • Android实现 Shape属性gradient 渐变效果

    Android实现 Shape属性gradient 渐变效果 1,gradient(渐变) [1]<gradient>用以定义渐变色,可以定义两色渐变和三色渐变,及渐变样式: <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <gradient

  • 基于SceneForm实现子弹射击(绘制子弹运行轨迹)

    基于SceneForm实现子弹射击(绘制子弹运行轨迹) 基于 SceneForm 实现的子弹射击(绘制子弹运行轨迹) Sceneform 框架很强大,不了解 Sceneform 的时候,觉得要想做 3D 场景需要会 OpenGL,而 OpenGL 的学习曲线很陡:接触到这个框架之后觉得小白也可以很快上手,甚至可以实现第一人称射击的效果 注:自己学习 SceneForm 有一段时间了,不过没有发现模拟重力场的接口,不知道是不是自己漏掉了 模拟射击效果的思路其实很简单 1.加载一个子弹模型 2.规划子弹由近及

  • Android Selector获取焦点后文本背景修改的实现代码

    Android Selector获取焦点后文本背景修改的实现代码 1,  获取焦点后文本背景进行修改 [1] selector状态选择器(bg_check_three(存放 res - color))资源文件下,否则不起作用 [2]焦点状态下- android:state_focused="true"(获取焦点) [3]android:state_focused="true" 必须放在第一行,否则不生效 2,实现Demo  [1]实现效果: [2]实现代码 创建se

  • Android Q适配之IMEI替换为Android_id

    Android Q适配之IMEI替换为Android_id 前置工作: 项目配置升到对应的29版本 compileSdkVersion: 29, buildToolsVersion: '29.0.0', minSdkVersion : 19, targetSdkVersion : 29, javaVersion : JavaVersion.VERSION_1_8 升级到Android Q后的权限提示界面 老版本获取IMEI的方法: public static String getIMEI(

  • SurfaceView播放视频发送弹幕并实现滚动歌词

    SurfaceView播放视频发送弹幕并实现滚动歌词 本文实例为大家分享了SurfaceView播放视频发送弹幕,并实现滚动歌词,供大家参考,具体内容如下 SurfaceView使用步骤 使用SurfaceView的步骤: 首先要继承SurfaceView,实现SurfaceHolder.Callback接口. 重写方法:surfaceChanged:surface大小或格式发生变化时触发,在surfaceCreated调用后该函数至少会被调用一次. surfaceCreated:Surface创建时触发

  • 使用SurfaceView实现视频弹幕

    使用SurfaceView实现视频弹幕 本文实例为大家分享了SurfaceView视频弹幕展示的具体代码,供大家参考,具体内容如下 全部代码如下: package com.example.app2; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.

 12 13 14 15 16 17 18 19 20 21