Welcome 微信登录

首页 / 移动开发 / Android

Android 实现仿网络直播弹幕功能详解及实例

Android 实现仿网络直播弹幕功能详解及实例

Android 网络直播弹幕 最近看好多网络电视,播放器及直播都有弹幕功能,自己周末捣鼓下并实现,以下是网上的资料,大家可以看下。现在网络直播越来越火,网络主播也逐渐成为一种新兴职业,对于网络直播,弹幕功能是必须要有的,如下图:首先来分析一下,这个弹幕功能是怎么实现的,首先在最下面肯定是一个游戏界面View,然后游戏界面上有弹幕View,弹幕的View必须要做成完全透明的,这样即使覆盖在游戏界面的上方也不会影响到游戏的正常观看,只有当有人发弹幕消息时,再将...
Android 自定义控件实现显示文字的功能

Android 自定义控件实现显示文字的功能

Android 自定义控件实现显示文字的功能自定义控件—–逐个显示文字ONE Goal ,ONE Passion !前言:今天要实现的效果时.让我们的文字一个一个显示出来.上效果图吧:实现原理:1,拿到要显示的文字.2,计算文字显示的速率 字体显示的速度 v = 总的字体长度 / 总的显示时间3,将文字根据速率显示到控件上.自定义View: public class printTextView extends TextView {/** * 字体显示出来的...
Android 背景图片的缩放实现

Android 背景图片的缩放实现

Android 背景图片的缩放ONE Goal ,ONE Passion !我们看到一些效果,控件中的背景图片会慢慢变大,但是控件不会随着图片的放大而变大.效果如下:分析:想让图片变大,而且控件本身大小不能改变,那么就要改变图片自身大小,而不能改变控件大小.实现原理:1,首先拿到我们要放大的图片bitmap.2,使用Bitmap.createBitmap().创建一个bitmap的副本.3,使用matrix去改变图片副本本身大小4,使用ValueAnima...
Android开发中Looper.prepare()和Looper.loop()

Android开发中Looper.prepare()和Looper.loop()

什么时候需要 Looper Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(message loop)的,需要调用Looper.prepare()来给线程创建一个消息循环,调用Looper.loop()来使消息循环起作用,使用Looper.prepare()和Looper.loop()创建了消息队列就可以让消息处理在该线程中完成。使用Looper需要注意什么 写在Looper.loop()之后的代码不会被立即执...
Android与JS之间跨平台异步调用实例详解

Android与JS之间跨平台异步调用实例详解

Android与JS之间跨平台异步调用为什么突然要搞这个问题呢? 在开发浏览器的时候遇到这个狗血的问题,花了将近1天的时间才想到这个解决方案,Android与JavaScirpt互调。 因为接口是抓取的别人的,所以出现了JS跨域问题,Android闪亮登场搞定了。GIF动画演示 WebView相关设置WebSettings mWebSettings = getSettings();mWebSettings.setDefaultTextEncodin...
Android中巧妙的实现缓存详解

Android中巧妙的实现缓存详解

前言缓存有很多的实现方式,技巧性还有坑都很多,今天我给大家介绍一些非通用的方法,可以巧妙地帮大家简单实现一些内存缓存。Supplier和MemoizeSQLite是Android里常用的一种数据存储方式,在访问数据库数据时需要通过SQLiteOpenHelper。一份好的数据库连接代码应该能解决以下几个问题: a) 构建实例比较费资源 b) 数据库连接最好能复用 c) onUpdate等方法在执行时不能和其他实例构成冲突。这里可以很简单的这样写Suppli...
android点击EditText始终不弹出软件键盘实现代码

android点击EditText始终不弹出软件键盘实现代码

android 点击EditText始终不弹出软件键盘场景描述:正常情况下,当点击EditText时,软键盘会弹出来。现在的要求是当点击EditText时,弹日期选择对话框,选择的结果显示在EditText上。若不处理,当点击EditText时,软键盘和对话框都会弹出,显然用户会感觉到不爽。解决办法,当点击EditText时:1、存储当前的输入类型2、设置输入类型为InputType.TYPE_NULL,禁止手机软键盘3、还原原来的输入类型,因为这次操作完...
Arduino 数据类型转换(单机片)详细介绍

Arduino 数据类型转换(单机片)详细介绍

Arduino 数据类型转换 如何轻松玩转Arduino单片机,当我在进行数据转换的时候,遇到了问题,尝试了C语言和C++中的好多函数,都没有达到将float型数据转换为char型的目的。苦苦查阅资料后,终于找到了一个大神级函数!!!dtostrf(),可以轻松实现数据类型from float to char . get it格式如下:char* dtostrf(double _val,signed char _width, unsigned char p...
Android实现果冻滑动效果的控件

Android实现果冻滑动效果的控件

前言在微信是的处理方法是让用户滑动,但最终还是回滚到最初的地方,这样的效果很生动(毕竟成功还是取决于细节)。那么在安卓我们要怎么弄呢。下面为大家介绍一下JellyScrollView,是我继承ScrollView的一个有阻尼的效果的果冻滑动控件。下面话不多说了,先来看看效果图(在虚拟机或者真机跑起来是很流畅,可能是录制视频做成gif的时候有点卡顿。)实现原理其实只需要重写下它的拦截方法的逻辑就好了,ScrollView的拦截方法onInterceptTou...
Android 5.0以上Toast不显示的解决方法

Android 5.0以上Toast不显示的解决方法

原因分析用户使用android 5.0以上的系统在安装APP时,将消息通知的权限关闭掉了。实际上用户本意只是想关闭Notification,但是Toast的show方法中有调用INotificationManager这个类,而这个类在用户关闭消息通知权限的同时被禁用了,所以我们的吐司无法显示。Toast.show()效果图自定义Toast(上)与Toast(下)比对问题解决既然系统不允许我们调用Toast,那么我们就自立门户——自己写一个Toast出来。我...
Android应用APP自动更新功能的代码实现

Android应用APP自动更新功能的代码实现

由于Android项目开源所致,市面上出现了N多安卓软件市场。为了让我们开发的软件有更多的用户使用,我们需要向N多市场发布,软件升级后,我们也必须到安卓市场上进行更新,给我们增加了工作量。因此我们有必要给我们的Android应用增加自动更新的功能。既然实现自动更新,我们首先必须让我们的应用知道是否存在新版本的软件,因此我们可以在自己的网站上放置配置文件,存放软件的版本信息:<update> <version>2</versio...
在Android中调用WebService实例

在Android中调用WebService实例

某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查。我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数据费时费电;二是流量贵如金那。我个人比较推荐的做法是使用Java或PHP等开发接口或者编写WebService进行数据库的增删该查,然后Android调用接口或者WebService进行数据的交互。本文就给大家讲解在Android中如何调用远程服务器端提供的W...
深入剖析Android消息机制原理

深入剖析Android消息机制原理

在Android中,线程内部或者线程之间进行信息交互时经常会使用消息,这些基础的东西如果我们熟悉其内部的原理,将会使我们容易、更好地架构系统,避免一些低级的错误。在学习Android中消息机制之前,我们先了解与消息有关的几个类:1.Message消息对象,顾名思义就是记录消息信息的类。这个类有几个比较重要的字段:a.arg1和arg2:我们可以使用两个字段用来存放我们需要传递的整型值,在Service中,我们可以用来存放Service的ID。b.obj:该...
详解Android中解析XML的方法

详解Android中解析XML的方法

XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法。在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器,下面,我将一一向大家详细介绍。SAX解析器:SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着...
<< 51 52 53 54 55 56 57 58 59 60 >>