0

android

android知识专题栏目,提供与android相关内容的知识集合,希望能快速帮助您找到有用的信息以解决您遇到的android问题。

分享

浏览

4216

文章

130

android构造方法的作用

全文共 1905 字

+ 加入清单

构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。下面是小编为大家整理的一篇.android构造方法的作用,希望能帮助到大家。

android构造方法的作用(1)

1.构造方法作用:(1).构造出来一个类的实例 (2).对构造出来个一个类的实例(对象)初始化。

2.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。

3.主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的。

4.类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法。

5.不能被static、final、synchronized、abstract和native修饰。

6.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。

7.构造方法分为两种:无参构造方法 有参构造方法

构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。

8.构造代码块:

(1)作用:给对象进行初始化,对象一建立就执行,而且优先于构造函数执行

(2)构造代码块和构造函数的区别:

构造代码块是给所有不同对象的共性进行统一初始化,构造函数是给对应的对象进行初始化

android构造方法的作用(2)

第一层:Linux操作系统和驱动(Linux kernel):由C语言实现。

Android核心系统服务依赖于Linux2.6内核,包括:安全性、内存管理、进程管理、网络协议、驱动模型。Linux内核也作为硬件和软件栈之间的抽象层。

除了标准的Linux内核外,Android还增加了内核的驱动程序:Binder(IPC)驱动、显示驱动、输入设备驱动、音频系统驱动、摄像头驱动、WiFi驱动、蓝牙驱动、电源管理。

第二层:本地框架和Java运行环境(LIBRARIES 和 ANDROID RUNTIME)

本地框架是有C/C++实现。包含C/C++库,被Android系统中不同组件使用,它们通过Android应用程序框架为开发者进行服务。

系统C库:(libc)从BSD继承过来的标准的C系统函数库,专门是为基于嵌入式Linux的设备定制的库。

多媒体库:基于PackerVideo的OpenCore;该库支持多种常用的音频、视频格式回放和录制,支持多种媒体格式的编和解码格式。

Suface Manager:显示子系统管理器,并且为多个应用程序提供2D和3D图层的无缝融合。

LibWebCore:一个最新的Web浏览器引擎,支持Android浏览器,以及一个可嵌入式的Web视图。

SGL:Skia图形库,底层的2D图形引擎。

3D libraries:基于OpenGL ES1.0 API的实现;该库可以使用硬件3D加速(如果可用),或者使用高度优化的3D软加速。

FreeType:位图(bitmap)和矢量(vector)字体显示。

Android运行环境(ANDROID RUNTIME):提供了Java编程语言核心库的大多数功能,由Dalvik Java虚拟机和基础的Java类库组成。

Dalvik是Android中使用的Java虚拟机,每个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。

~ 1 / 2 ~

Dalvik被设计成一个可以同时高效运行多个虚拟机实例的虚拟系统。执行后缀名为.dex的Dalvik可执行文件,该格式的文件

针对小内存使用做出了优化。同时虚拟机是基于寄存器的,所有的类都是有Java编译器编译,然后通过SDK中的“dx”工具

转化为.dex格式由虚拟机执行。

Dalvik虚拟机依赖于Linux内核的一些功能,比如线程机制和底层内存管理机制。

第三层:Android应用框架(ANDROID FRAMEWORK)

android构造方法的作用(3)

1、对于xml布局方式的都调用

Context context, AttributeSet attrs这两个参数的构造函数

2、android的view构造函数有三个

3、只有参数Context context:这一般都是在程序中直接new 一个view的时候会使用

4、有2个参数Context context, AttributeSet attrs:xml布局方式加载使用,程序中new的方式创建view的方式基本不会使用

5、三个参数Context context, AttributeSet attrs,Style style:这个构造函数暂时没用

展开阅读全文

转移到 iOS:苹果的首个Android应用,帮你转移数据

全文共 549 字

+ 加入清单

○这是苹果的第一款安卓应用

○在线2天,超过13,000人发表评论;

○它的功能非常简单,可以被其他软件完全取代。目前,它免费支持安卓系统。

从旧的苹果手机到新的苹果手机,你可以轻松地移植手机上的一切。如果安卓用户买了一部iPhone,手机数据会怎样?苹果提出了一个解决方案。

苹果最新的安卓应用移动到iOS可以将一些数据从安卓手机转移到运行iOS 9的手机上,包括照片、短信和联系信息。虽然内容比在iPhone之间迁移简单得多,但这些项目也是你非常私密和重要的数据。

安装新的iPhone时,选择一个安卓设备

此外,苹果还帮助你将谷歌账户转移到iPhone上。如果你是谷歌的忠实用户,这也有帮助。然而,这毕竟是非常有限的。谷歌在安卓系统上提供的服务远远多于iOS。

完成数据迁移后,您将看到“现在,您可以将安卓手机发送到苹果商店进行免费回收”……

权利完成后,苹果表示

这句话显然没能打动安卓用户。在谷歌游戏应用商店,对这个应用的评论是两极化的,几乎五颗星是一颗星,反映了更多的意识形态差异。评论区的评论非常生动。

谷歌游戏应用商店评论区

对于其他应用和数据,如果是微信和印象笔记等跨平台应用,则支持同步。其余的可能在新的iPhone上找不到。

总之,移动到iOS的功能非常简单,它的功能也可以通过其他同步助手来实现。

展开阅读全文

Android手机有个“测试模式” 你知道吗?

全文共 340 字

+ 加入清单

事实上,所有的手机都支持许多没有写在指令上的代码,比如我们今天将要提到的“测试模式”代码。您只需进入拨号界面并输入*#*#4636#*#*,即可打开此模式。此模式包含四种类型的子菜单:电话信息(IMEI号码、当前网络和其他信息)、电池信息(电池健康状况、电压和温度)、使用统计(显示电话上的一些上次使用的应用程序,包括特定的使用时间)和无线信息(除了显示无线信息外,您还可以在此执行ping测试,但您也可以在电话信息菜单中执行此测试)。

应该注意的是,有些型号不支持*#*#4636#*#*代码,在这些菜单中操作时,请确保您知道这些操作的后果。例如,您在“测试”菜单的“电话信息”子菜单中关闭了手机的无线电功能,并且在您再次打开它之前,您将无法使用呼叫、短信、蜂窝数据和无线电功能。

展开阅读全文

有了Android Wear播放器,在手表上也能看视频

全文共 381 字

+ 加入清单

在上个月举行的WWDC会议上,苹果公司表示,苹果手表的第二代操作系统WatchOS 2将支持视频播放。尽管视频回放功能在智能手表上不太实用,但安卓手机作为苹果手表的竞争对手,自然不能失去苹果手表的视频回放功能。

最近,一些开发人员开发了一个名为安卓服装视频& Youtube的应用程序,它可以让安卓服装播放视频。从演示视频中,用户可以通过安卓手机的语音搜索功能在Youtube上搜索他们想看的视频,然后点击在安卓手机的小屏幕上体验视频播放。此外,安卓视频也支持暂停、播放、跳跃和播放时的音量调节。

值得一提的是,安卓服装视频& Youtube也支持它与Chromecast一起使用,将视频推送到其他设备上观看,获得更好的视觉体验。但是,应该注意的是,安卓佩戴智能手表没有配备扬声器,所以如果你需要听视频中的声音,你需要自带蓝牙耳机或蓝牙扬声器,并将其与智能手表配对。

展开阅读全文

使用Android手机的正确方式:语音唤出App

全文共 454 字

+ 加入清单

苹果粉丝可能会嘲笑这一功能。Siri不是几百年前就存在的东西吗?视窗手机上的Cortana早就有了。然而,Siri搜索的大多数信息都是在线的。谷歌的功能主要针对手机上安装的应用。未来的发展方向是在应用中实现更多的功能。

事实上,Siri的两位创始人已经建立了一个新的炉子——Viv实验室,并正在创造一个全新的升级智能助手Viv:它能理解复杂的句子,能在用户使用时自主学习,并能帮助用户完成他们想做的事情。据说Viv能够准确处理复杂的请求,例如:为我订一张7月2日从旧金山到戴高乐机场的往返机票,最便宜的是下周一。

谷歌此前引入了语音功能谷歌现在,这是一个个人智能语音助理。用户的语音命令将被转换成关键词并在谷歌上搜索。最近,谷歌现在将向第三方应用和服务开放应用编程接口。在私人助理的指导下,36号氪星人多次讨论了基于短信的私人助理魔法。在中国也有许多团队以个人助理的身份工作,包括应用程序和短信。

此外,谷歌表示,它已经在与其合作开发者讨论更多语音触发的行动,也就是说,用户可以通过在未来说话来命令应用做更多事情。

展开阅读全文

联想超薄平板“Android”版本Yoga A12于2月8日登陆

全文共 377 字

+ 加入清单

在去年的IFA展会期间,联想推出了一款超薄平板yogaBook,该平板可以在Windows 10和android系统间切换。Yoga Book的独特之处在于它的键盘,它既能够显示触摸式键盘,又能够作为一个绘图板,让Yoga Book自带的手写笔在上面写写画画。现在联想推出了这款平板的“Android”版本Yoga A12,该平板在保留了大部分Yoga Book原有特性的同时,将价格下探到了299美元。

A12配备了和Yoga Book一样的Halo触摸键盘,支持学习用户的输入习惯。规格方面,A12配备了12.2英寸显示屏,搭载Intel Atom x5处理器,提供2GB内存和32GB机身存储,预装的Android系统与Yoga Book类似,支持三列窗口分屏。

Yoga A12将于2月8日登陆联想官网,颜色有深灰和玫瑰金可选,起售价为299美元。

展开阅读全文

Android 8.0 Oreo怎么样 Android 8.0 Oreo好不好用

全文共 3176 字

+ 加入清单

谷歌在上个月底的时候正式公布了最新系统android8.0 Oreo,作为谷歌Android系统最新的一次大版本升级,Oreo所带来的更多的是底层改动,而非外在的大改动。

不过,有些正式版的用户发现,当他们在连接上WiFi网络之后,实际上走的还是移动数据,这也对他们的正常使用造成了极大的影响。

在一般情况下,移动数据和WiFi网络同时连接的状况下,一般手机会优先走WiFi网络数据。Reddit上的一名用户反映,他的手机在安装了Android 8.0系统之后,连接WiFi之后仍旧在跑移动数据,之前的手机则没有类似问题发生。

谷歌官方对这一问题也非常重视,并表示会尽快的解决这样的一个bug。有人认为,之所以会出现这样的状况,是因为当初开发者在Android 8.0正式版的编译版本中默认启用了“始终开启移动数据”这个功能。

不管怎么说,新的功能和改进向我们展示了Android系统本身相当高的成熟度,也让Oreo成为一次不容错过的升级。

更实用的通知

首先让我们谈谈Oreo最外在的改动。Android的通知抽屉——可通过在主屏幕向下滑动打开——现在会在底部显示日期,设置图标也被挪到了这里。拓展通知抽屉之后,你会看到屏幕亮度滑块现在被放在了顶部,而快速设置按钮在其下方。在最底部的位置是快速设置编辑按钮、用户头像,以及设置应用图标。这是一个很小但受欢迎的改动,可让用户更加方便地使用这些工具,而不必伸长手指点击屏幕最顶部。

来自谷歌应用的一般通知,比如天气或通勤时间,现在占据的空间更少了。而由于3个新功能的加入,通知本身变得更实用了。首先,你可以对通知进行安排。将通知向左或向右滑动,你会看到一个齿轮和时钟图标。点击时钟图标,你可以设置通知再次出现的时间(15分钟、30分钟、1小时或2小时)。如果你习惯让通知栏保持清爽,那这显然是个非常使用的功能,因为你不会再因为清空通知托盘而错过重要通知了。

通知点(Notification Dots)是一个类似iOS未读通知计数器的功能。顾名思义,当应用当中存在新通知时,其图标或所在文件夹的右上角会出现一个小点。这个小点的颜色和图标本身相同,因此看上去不会显得突兀。长按该图标后,你会看到一个显示通知内容的弹窗。在弹窗当中,你还会看到应用的快捷方式,让你快速使用应用中的特定功能。后者其实是Android 7.1.1所引入的新功能,谷歌在Oreo也对它进行了略微的重新设计。

而通知方面最大的变化是一个名叫“通知渠道”(Notification Channels)的功能所带来的,它可以让你对系统所显示的通知进行更多的控制。长按一条通知,你就会看到一个屏蔽该应用所有通知的开关。点击“所有类别”,你可以看到一款应用显示通知的所有渠道。

举个例子,在Twitter的通知设置当中,你可以控制直接信息、紧急提醒、粉丝、联系人和Twitter推荐的通知进行开关。也就是说,它可以让你选择想要收到应用的哪种类型通知。这项功能的确可以发挥很大的用处,但系统当中并没有对其进行清晰地解释,因此有的用户可能会感到无从下手。

通知捆绑是Android 7.0中最受喜爱的功能之一,它可以把同一款应用的多条通知汇总在一起。在Android 8.0当中,谷歌也对该功能进行了进一步地改进,向用户提供了更多的控制工具。

精简设置

Android 8.0的设置菜单是本次升级中最大的视觉改动,变得比从前更短了。谷歌把原本单独陈列的许多设置汇总在了一起,用户可能会需要花一点时间来习惯,找到自己需要的设置也可能会花更长的时间,但这种新的分组方式看上去更加系统了。此外,你还会看到设置菜单当中几个设计上的改动,比如分割线变少,对空白区域的利用也更充分。

设置菜单当中已经没有用来导航的滑块了,只有13个设置分类。在顶端,你会看到一个蓝色的下拉菜单,当中会显示目前被开启的功能,比如勿扰或夜间亮度。部分通知现在被放进特定类别的“高级”标签当中。

虽然谷歌这样做的理念是好的,但有的时候你可能需要多点好几下屏幕才能找到自己需要的基本设置,比如更改默认的通知提示音,这给人的感觉一点也不“高级”。

总的来说,设置菜单的设计很精巧,看上去也更加专业了。

画中画模式,自动填充和智能文本选择

Android 8.0带来了几个非常实用的新功能,特别是自动填充。这个功能和谷歌Chrome浏览器的自动填充类似,可以存储你的登录信息或地址,让你将其轻松添加到表格当中。每当你登录一个新的应用,或是填写地址或帐号密码时,系统便会询问你是否想要记忆这些信息。如果你选择允许,你下一次登录时相关信息便会被自动填充。相比自己记忆并手动填写,这个功能显然会更方便。

画中画模式其实早就该加入到系统当中了,它能让视频等窗口浮动在主屏幕或其他应用之上,这也就实现了多任务处理。在点击弹窗后,你可以将其再次拓展或对播放进行控制。

智能文本选择同样是一个相当实用的功能。当你在某个应用中复制了一段地址或电话号码之后,现在可以直接跳转到相关的应用(拨号或地图)当中。在第三方开发者加入对其的支持之后,这个功能未来也将变得更加实用和强大。

基本功能

Android手机的用户数量如今已经超过10亿,但谷歌依然还在强化这款操作系统的基本功能。Vitals就是Android 8.0的一个新企划,目的是进一步改善系统在安全、稳定性、开机时间和续航方面的表现。

在本次评测所用的Google Pixel当中,手机的开机时间从大约1分钟缩短到了15秒,我们也并未看到任何系统稳定性或应用崩溃的问题。

为了进一步提高续航,系统会对应用获取用户当前位置的频率进行限制。在保护系统安全方面,谷歌则带来了Google Play Protect。当你进入设置>安全和位置>Google Play Protect当中,就可以看到系统上一次检查应用和设置是否存在“有害行为”的时间。“查找我的设备”也被放在了这里,它基本上就是改了名字的Android设备管理器,可让你在手机丢失时对其进行远程锁定和数据擦除。

就连从Play商店之外安装应用也变得更安全了。你现在需要手动控制哪些应用可以从“位置来源”下载应用。

Project Treble

碎片化是Android系统所存在的最大问题之一。虽然Android 7.0 Nougat在去年8月就已经发布,但它目前的安装率只有13.5%。相比之下,iOS 10的安装率已经达到86%。

我们都知道,苹果的硬件和软件都是自己开发的,因此它们可以根据自己的意愿来发布升级。而当谷歌发布升级时,芯片厂商、硬件厂商和运营商都需要各自进行测试,以确保升级不会致使自己的产品出问题,而这个过程的耗时可能长达数月甚至更久。

Project Treble的存在就是为了缓解这个问题。它会把Android的源代码独立出来,让高通等芯片厂商可以更加轻松地确保软件能够适配自己的处理器。虽然这减轻了芯片厂商的工作量,但能否及时发布升级还得看硬件厂商和运营商的。

由于Project Treble仅支持Android 8.0设备,因此它的效果如何只有等到明年再做研究了。

其他升级

Android 8.0当中还有其他许多小升级,比如对于更高品质音频编码的支持、对于更广色域的支持、以及对物理键盘支持的改进。

谷歌也带来了一些Pixel限定的升级,比如在相机取景器中双击以放大,以及切换到视频拍摄模式的新图标。主屏幕上的自适应图标现在可以更改成不同的样式,包括圆形、方形、方形圆角或水滴形。

总结

总的来说,Android 8.0 Oreo并没有什么让人眼前一亮的功能。它是一次小幅度的升级,但依然相当重要。

和往常一样,我们最好等待几天再进行升级,以防当中存在任何重大bug。但不管怎么说,Oreo还是值得升级的,假设你的设备支持的话。

展开阅读全文

不装软件能在电脑显示Android 手机屏幕的方法

全文共 342 字

+ 加入清单

android手机有一个无线屏幕投射功能,可以将手机屏幕幕幕投射到电视或者电脑上。在人多的场景下,可以方便地让大家看到手机屏幕上的内容。 这一功能在一些支持 Miracast 的电视上可以轻松实现,但你知道在 Win 10 上也可以轻松实现吗?

在电脑打开 「连接」 这个使用。

以SAMSUNG手机为例子,在下拉栏中打开 「快速连接」 或者 「Smart View」 ,搜索到想要投影的电脑,选择连接即可。

魅族手机则在「设置」-「网络和连接」-「其他连接方式」-「投射屏幕」中设置。

注:非最新版 Win 系统、某些品牌的电脑、手机可能不具备该功能。

更多投影的设置可以到电脑的「设置」-「系统」-「投影到这台电脑」中进行设定。

这种投影方式不用借助第三方软件,快速简单,有需要时不妨试试。

展开阅读全文

android 11怎么更新 android 11更新方法

全文共 648 字

+ 加入清单

android11怎么更新?在最近,谷歌和OPPO手机相继推出android 11,那我们该怎么将自己手机的Android版本升级到android 11呢,android 11怎么更新,下面就和小编一起来看看吧!

Android 11安卓系统版本目前只有谷歌Pixel 2、Pixel 2 XL、Pixel 3、Pixel 3 XL、Pixel 3a、Pixel 3a XL、Pixel 4、Pixel 4 XL等机型,OPPO手机Find X2、Find X2 Pro等机型可进行更新。

1、在手机自带的系统中更新

打开手机中的【设置】,找到【关于手机】,在关于手机中可以看到当前手机的安卓版本,如果手机自动检测到可更新的系统,可以在连接无线网络的情况下进行下载并安装。

这种更新方式需要手机厂商提供安卓系统,例如OPPO手机,想要将OPPO手机的安卓版本升级到Android 11,那么就需要OPPO厂商提供Android 11安卓系统,然后用户手机检测到安卓版本系统更新,才可以下载并安装。

2、下载安卓系统升级包

这一种更新Android 11的方法需要用户自己在网上下载对应的Android 11系统升级包,并手动进行安装。我们可以在手机官网找到Android 11更新系统的升级包,找到自己的手机型号选择下载到手机中,并安装升级。

3、刷机升级安卓系统

刷机升级系统的方法是很多用户都在用的方法之一,首先需要在官网上下载安卓系统或者刷机软件,然后手动刷机将手机的安卓系统更新到Android 11。

展开阅读全文

基于Android完整UDP通信模块的实现

全文共 2666 字

+ 加入清单

TCP与UDP有什么差异?android设备上,一个手机通过热点连接另一个手机。这种场景下,完整的 UDP通信模块应该考虑哪些方面,又应该如何优化。本文将围绕这些问题展开描述。

v

我们都知道,开发一个 Android 应用程序,目前大多数还是使用的是 Java 语言。在 Java 语言中怎么去使用 UDP 协议呢?

其实 Socket 可以理解为对 TCP、UDP 协议在程序使用层面的封装,提供出一些 api 来供程序员调用开发,这就是 Socket 最表层的含义。

在 Java 中,与 UDP 相关的类有 DatagramSocket、DatagramPacket 等,关于他们的使用,这里不着重介绍。

好了,假设大家对他们的使用都已大概了解,可以正式开始本文的内容了。

初始化一个 UDPSocket

首先创建一个叫 UDPSocket 的类。

在构造方法里,我们进行下一些初始化操作,简单来说就是创建一个线程池,记录一下当前时间毫秒值,至于他们有什么用,再往下看:

这里我们首先创建了一个 DatagramSocket 作为“客户端”,其实 UDP 本身没有客户端和服务端的概念,只有发送方和接收方的概念,我们把发送方暂时当成是一个客户端吧。

创建 DatagramSocket 对象时,传入了一个端口号,这个端口号可以在一个范围内自己定义,表示这个 DatagramSocket 在此端口上监听数据。

然后又创建了一个 DatagramPacket 对象,作为数据的接收包。

最后调用 startSocketThread 启动发送和接收数据的线程。

首先 clientThread 线程的目的是调用 DatagramSocket receive 方法,因为 receive 方法是阻塞的,不能放在主线程,所以自然开启一个子线程了。receiveMessage 就是处理接受到的 UDP 数据报,我们先不看接受数据的这个方法,毕竟还没人发消息呢,自然就谈不上收了。

心跳包保持“长连接”

来到本文的第一个重点,我们都知道 UDP 本身没有连接的概念。在 Android 端应用 UDP 和 TCP 的场景是一个手机连接另一个手机的热点,二者处在同一局域网中。在二者并不知道对方的存在时,怎么才能发现彼此呢?

通过心跳包的方式,双方都每隔一段时间发一个 UDP 包,如果对方接收到了,那就能知道对方的 ip,建立起通信了。

这段心跳的目的就是每隔十秒通过 sendMessage 发送一个消息,看看对方能不能收到。若对方收到消息,则刷新下 lastReceiveTIme 的时间。

这里我每隔十秒向对方发送了一个字符串。

这里就是发送一个消息的代码。最初在填写 DatagramPacket 的参数之时,我有一个疑问,那个 targetAddress 其实是自己的 ip 地址。问题来了,我填写了自己的 ip 地址和对方的端口,怎么可能找得到对方呢?你可能有一个疑惑 “192.168.43.255” 这个自己的 ip 地址是怎么来的,为什么要这么定义?

首先 android 手机开启热点,可以理解成一个网关,有一个默认的 ip 地址:“192.168.43.1”

这个 ip 地址不是我瞎编的一个,在 Android 源码之中,就是这么定义的:

WifiStateMachine

所以我是知道所谓打开热点一方的 ip 地址,而 UDP 发送消息时还有一个特性,就是发出去的消息,处在整个网关的设备是都可以接收到的,所以我自己的 ip 地址就定为了 “192.168.43.255”,所以这个 ip 地址和 “192.168.43.1” 在同一网关中,你发送的消息,它是可以收到的。

至于怎么判断两个 ip 地址是否处在同一网段中:

判断两个IP大小及是否在同一个网段中

来做一个阶段总结:

首先我们创建了一个发送端 DatagramSocket,启动了一个心跳程序,每间隔一段时间发送一个心跳包。

因为我知道热点方的 ip 地址是默认的 “192.168.43.1”,并且 UDP 的特性就是发送的消息同一网段的设备都可以收到。所以发送方的 ip 地址定为了与热点一方处在同一网段的 “192.168.43.255”。

事件与数据

事件与数据这两个模块与业务就紧密相关了。

先来说数据,双方发送的数据格式你们可以随意定义,当然我觉得还是定义成常规的 Json 格式就好。其中可以包含一些关键的事件字段:比如广播心跳包、收到心跳包给对方上线的应答包、超时的下线包、以及各种业务相关的数据等等。

当然发送数据时是转换成二进制数组发送的。发送中文字符、图片等都没有问题,但是可能有一些细节需要注意,随时 google 一下就好了。

再来说下事件:

与业务无关的事件有哪些?

比如:

DatagramSocket.send 方法之后就是发送数据成功的事件;

DatagramSocket.receive 方法之后是数据接收成功的事件;

在心跳包发送一段时间,仍没有接到回信时,是连接超时的事件;

与业务相关的事件就和我们上文提到的数据类型有关了,设备上线,心跳包回应等等。

事件又如何发送出去,通知到各个页面呢?用 Listener、或者其他事件总线的三方库都没问题,看你自己选择了。

处理接收的消息

理接收消息时,有几个值得注意的点:

receive 方法是阻塞的,没收到数据包时会一直阻塞,所以要放到子线程中;

每次接收到消息之后,重新调用 receivePacket.setLength;

收到消息刷新lastReceiveTIme的值,暂停心跳包的发送;

处理收到的数据具体在业务上就是刚才我们谈的发送数据的问题,视业务而定。

“用户”的概念

上文已经谈过了 UDP 的特性,假如一个手机已经开启了热点,若多个手机与他相连接,则多个手机发送的消息它都可以收到。如果发送方的端口与接收方的端口相同的话,甚至自己发的消息,自己都可以收到。这就很尴尬了,也就是说我们既要剔除自己发给自己的消息,也得区分不同手机发来的消息,这个时候就理应有一个“用户”的概念。

创建 User 对象,有哪些属性可以看自己的业务,本文的例子就有 ip、imei、以及 softversion。

这里就不将所有的代码展开来看了。如果有了手机的 imei 号,那很容易就可以来做身份的区分,你既可以区分不同的发送方,也可以剔除掉自己发给自己的消息。当然如果需要更多的信息,可以按照自己的业务区分,将这些信息作为发送的 messge,通过 Socket 发送。

展开阅读全文

Skype可以保存到Android手机的SD卡中吗

全文共 763 字

+ 加入清单

安装android版的skype手机内至少有10MB的可用存储空间,在安装后skype需要更多存储空间保留数据。(Skype所占用空间的大小由用户的账户信息量决定,一般来说需要15MB左右的空间)即对于一个普通用户来说完全安装并使用skype需要30MB的空间。下载最新版的安装程序,android版的skype应用程序可以安装在手机的SD卡上。

简介

Skype是一家全球性互联网电话公司™,它通过在全世界范围内向客户提供免费的高质量通话服务,正在逐渐改变电信业。Skype是网络即时语音沟通工具。具备IM所需的其他功能,比如视频聊天、多人语音会议、多人聊天、传送文件、文字聊天等功能。它可以免费高清晰与其他用户语音对话,也可以拨打国内国际电话,无论固定电话、手机、小灵通均可直接拨打,并且可以实现呼叫转移、短信发送等功能。2011年5月11日,微软宣布以85亿美元收购Skype。

系统要求

运行Windows© 2000、XP、Vista或Windows 7(32位和64位操作系统均可)的电脑。(Windows 2000的用户必须安装DirectX 9.0才能使用视频通话功能)。

互联网接入 - 推荐使用宽带网络(GPRS不支持语音通话)。喇叭和麦克风-内建或独立。如果要使用语音和视频通话,您的计算机至少要具备 1 GHz 处理器和 256 MB RAM,当然还需要网络摄像头。多人视频通话可以在三人或更多人(最多十人)之间进行。为了获得最佳体验,建议您最多与五个视频通话方通话。要实现多人视频通话,通话各方必须安装Skype 5.0 for Windows 当然还要有网络摄像头。此外,还需要高速宽带连接(推荐使用512 kbit/s或者以上的下行速度),电脑的处理器至少是1 GHz(推荐使用酷睿2双核1.8 GHz)。

展开阅读全文

Skype for Android能通过3G或WiFi连接使用吗

全文共 791 字

+ 加入清单

Skype forandroid手机可以通过3G 或WiFi连接来拨打和接听Skype至Skype电话,拨打普通电话,使用在线号码(单独购买)接听电话以及收发即时消息。(美国除外,在美国,Skype至Skype通话及拨打普通电话只能通过WiFi连接)。通过3G网络连接进行的Skype至Skype通话是免费的。如果是通过一个3G或WiFi移动数据套餐连接来使用Skype,运营商可能会收取数据流量费。

简介

Skype是一家全球性互联网电话公司™,它通过在全世界范围内向客户提供免费的高质量通话服务,正在逐渐改变电信业。Skype是网络即时语音沟通工具。具备IM所需的其他功能,比如视频聊天、多人语音会议、多人聊天、传送文件、文字聊天等功能。它可以免费高清晰与其他用户语音对话,也可以拨打国内国际电话,无论固定电话、手机、小灵通均可直接拨打,并且可以实现呼叫转移、短信发送等功能。2011年5月11日,微软宣布以85亿美元收购Skype。

系统要求

运行Windows© 2000、XP、Vista或Windows 7(32位和64位操作系统均可)的电脑。(Windows 2000的用户必须安装DirectX 9.0才能使用视频通话功能)。

互联网接入 - 推荐使用宽带网络(GPRS不支持语音通话)。喇叭和麦克风-内建或独立。如果要使用语音和视频通话,您的计算机至少要具备 1 GHz 处理器和 256 MB RAM,当然还需要网络摄像头。多人视频通话可以在三人或更多人(最多十人)之间进行。为了获得最佳体验,建议您最多与五个视频通话方通话。要实现多人视频通话,通话各方必须安装Skype 5.0 for Windows 当然还要有网络摄像头。此外,还需要高速宽带连接(推荐使用512 kbit/s或者以上的下行速度),电脑的处理器至少是1 GHz(推荐使用酷睿2双核1.8 GHz)。

展开阅读全文

百度云Android版如何上传图片

全文共 450 字

+ 加入清单

百度android版上传图片方法:

第一步:选择上传文件类型。

第二步:选择相册。

第三步:选择照片。

第四步:选择上传位置。

百度云是百度公司在开放自身的核心云能力(包括云存储、云计算和大数据智能)的基础上,为广大开发者和最终用户提供的一系列云服务和产品。其服务的对象包括开发者和个人用户两大群体。

发展历史:

在2012年3月份的百度开发者大会上,百度正式发布百度云战略,推出百度开发者中心网站,并建立开发服务、运营服务、渠道推广以及变现四大服务体系,为开发者构建平等、开放、共赢的生态系统。

在2012年9月份的百度世界大会上,百度发布了面向开发者的“七种武器”,包括个人云存储PCS、多屏幕Screen X技术、云应用生成服务Site App、LBS·云、移动云测试MTC、百度应用引擎BAE和浏览内核Engine。

2012年10月,百度宣布推出仅两个月的百度云个人用户量已突破1000万。

2012年11月,百度宣布将与美国高通公司合作,实现并推广针对由高通骁龙处理器支持的Android终端的百度云服务。

展开阅读全文

百度云Android版如何打开预览文件

全文共 503 字

+ 加入清单

通过百度android客户端可直接打开云端在线文件。只需点击相应的文件,便可以打开预览。

图片类型的文件可以直接打开预览;其他类型的文件将直接调用手机中第三方app进行打开,因此能预览的文件类型取决于手机上安装的第三方app。

百度云是百度公司在开放自身的核心云能力(包括云存储、云计算和大数据智能)的基础上,为广大开发者和最终用户提供的一系列云服务和产品。其服务的对象包括开发者和个人用户两大群体。

发展历史:

在2012年3月份的百度开发者大会上,百度正式发布百度云战略,推出百度开发者中心网站,并建立开发服务、运营服务、渠道推广以及变现四大服务体系,为开发者构建平等、开放、共赢的生态系统。

在2012年9月份的百度世界大会上,百度发布了面向开发者的“七种武器”,包括个人云存储PCS、多屏幕Screen X技术、云应用生成服务Site App、LBS·云、移动云测试MTC、百度应用引擎BAE和浏览内核Engine。

2012年10月,百度宣布推出仅两个月的百度云个人用户量已突破1000万。

2012年11月,百度宣布将与美国高通公司合作,实现并推广针对由高通骁龙处理器支持的Android终端的百度云服务。

展开阅读全文

360云盘Android版如何分享文件给好友

全文共 672 字

+ 加入清单

360云盘android分享文件好友方法:点击文件右侧的下三角按钮或者长按文件列表,点击功能菜单中的分享按钮,就可以通过邮件、短信或其他方式将文件分享给好友了。

360云盘是奇虎360科技的分享式云存储服务产品。为广大普通网民提供了存储容量大、免费、安全、便携、稳定的跨平台文件存储、备份、传递和共享服务。360云盘为每个用户提供36G的免费初始容量空间,360云盘最高上限是没有限制的。

360云盘为每个用户提供18G的免费初始容量空间,通过简单任务和抽奖可以扩容到36G甚至更多,足够存放您30000份工作文档,6000张珍贵照片或者9000多首流行歌曲,满足日常所需。通过云盘网页版上传单个文件限制在200MB,如果需要将更大文件上传到云盘,建议安装使用云盘客户端软件,支持上传的单个大小为5G以内的文件。

360云盘除了提供最基本的文件上传下载服务外,还提供文件实时同步备份功能,只需将文件放到360云盘目录,360云盘程序将自动上传这些文件至360云盘云存储服务中心,同时当在其它电脑登录云盘时自动同步下载到新电脑,实现多台电脑的文件同步。

360云盘除了拥有网页版、PC版以外,还增加了iPhone版跟安卓版的360云盘手机端,360云盘iPhone版已经正式登录APPSTORE。iPhone用户可以去APPSTORE下载。安卓的用户也可以去360手机助手里面下载安装360云盘安卓版。

360云盘是奇虎360公司推出的在线云储存软件。无需U盘,360云盘可以让照片,文档、音乐、视频、软件、应用等各种内容,随时随地触手可及,永不丢失。

展开阅读全文

360云盘Android版如何上传图片、视频和文件

全文共 678 字

+ 加入清单

360云盘android版上传图片视频文件方法:点击底部导航中的“上传”,云盘就会弹出有四个按钮的浮层:上传照片、上传视频、上传文件、连接电脑,点击相应的按钮就可以上传了。

360云盘是奇虎360科技的分享式云存储服务产品。为广大普通网民提供了存储容量大、免费、安全、便携、稳定的跨平台文件存储、备份、传递和共享服务。360云盘为每个用户提供36G的免费初始容量空间,360云盘最高上限是没有限制的。

360云盘为每个用户提供18G的免费初始容量空间,通过简单任务和抽奖可以扩容到36G甚至更多,足够存放您30000份工作文档,6000张珍贵照片或者9000多首流行歌曲,满足日常所需。通过云盘网页版上传单个文件限制在200MB,如果需要将更大文件上传到云盘,建议安装使用云盘客户端软件,支持上传的单个大小为5G以内的文件。

360云盘除了提供最基本的文件上传下载服务外,还提供文件实时同步备份功能,只需将文件放到360云盘目录,360云盘程序将自动上传这些文件至360云盘云存储服务中心,同时当在其它电脑登录云盘时自动同步下载到新电脑,实现多台电脑的文件同步。

360云盘除了拥有网页版、PC版以外,还增加了iPhone版跟安卓版的360云盘手机端,360云盘iPhone版已经正式登录APPSTORE。iPhone用户可以去APPSTORE下载。安卓的用户也可以去360手机助手里面下载安装360云盘安卓版。

360云盘是奇虎360公司推出的在线云储存软件。无需U盘,360云盘可以让照片,文档、音乐、视频、软件、应用等各种内容,随时随地触手可及,永不丢失。

展开阅读全文

360云盘Android版怎么将文件保存到手机SD卡中

全文共 662 字

+ 加入清单

360云盘android版将文件保存手机SD卡中方法:先把文件下载到手机,如果需要自定义保存的位置,在已下载列表中可以将文件导出到任意文件夹。

360云盘是奇虎360科技的分享式云存储服务产品。为广大普通网民提供了存储容量大、免费、安全、便携、稳定的跨平台文件存储、备份、传递和共享服务。360云盘为每个用户提供36G的免费初始容量空间,360云盘最高上限是没有限制的。

360云盘为每个用户提供18G的免费初始容量空间,通过简单任务和抽奖可以扩容到36G甚至更多,足够存放您30000份工作文档,6000张珍贵照片或者9000多首流行歌曲,满足日常所需。通过云盘网页版上传单个文件限制在200MB,如果需要将更大文件上传到云盘,建议安装使用云盘客户端软件,支持上传的单个大小为5G以内的文件。

360云盘除了提供最基本的文件上传下载服务外,还提供文件实时同步备份功能,只需将文件放到360云盘目录,360云盘程序将自动上传这些文件至360云盘云存储服务中心,同时当在其它电脑登录云盘时自动同步下载到新电脑,实现多台电脑的文件同步。

360云盘除了拥有网页版、PC版以外,还增加了iPhone版跟安卓版的360云盘手机端,360云盘iPhone版已经正式登录APPSTORE。iPhone用户可以去APPSTORE下载。安卓的用户也可以去360手机助手里面下载安装360云盘安卓版。

360云盘是奇虎360公司推出的在线云储存软件。无需U盘,360云盘可以让照片,文档、音乐、视频、软件、应用等各种内容,随时随地触手可及,永不丢失。

展开阅读全文

360云盘Android版如何多选文件

全文共 626 字

+ 加入清单

360云盘android版多选文件方法:长按文件列表,就会进入多选界面。

360云盘是奇虎360科技的分享式云存储服务产品。为广大普通网民提供了存储容量大、免费、安全、便携、稳定的跨平台文件存储、备份、传递和共享服务。360云盘为每个用户提供36G的免费初始容量空间,360云盘最高上限是没有限制的。

360云盘为每个用户提供18G的免费初始容量空间,通过简单任务和抽奖可以扩容到36G甚至更多,足够存放您30000份工作文档,6000张珍贵照片或者9000多首流行歌曲,满足日常所需。通过云盘网页版上传单个文件限制在200MB,如果需要将更大文件上传到云盘,建议安装使用云盘客户端软件,支持上传的单个大小为5G以内的文件。

360云盘除了提供最基本的文件上传下载服务外,还提供文件实时同步备份功能,只需将文件放到360云盘目录,360云盘程序将自动上传这些文件至360云盘云存储服务中心,同时当在其它电脑登录云盘时自动同步下载到新电脑,实现多台电脑的文件同步。

360云盘除了拥有网页版、PC版以外,还增加了iPhone版跟安卓版的360云盘手机端,360云盘iPhone版已经正式登录APPSTORE。iPhone用户可以去APPSTORE下载。安卓的用户也可以去360手机助手里面下载安装360云盘安卓版。

360云盘是奇虎360公司推出的在线云储存软件。无需U盘,360云盘可以让照片,文档、音乐、视频、软件、应用等各种内容,随时随地触手可及,永不丢失。

展开阅读全文

使用比特币Android钱包需要注意什么?

全文共 246 字

+ 加入清单

比特币android钱包提供了一种十分方便的方式来随身携带比特币。

可是,鉴于存有被盗或丢失手机的风险,因而请尽量记牢以下几点:

如有可能,请始终为你的钱包设置密码保护切勿在手机钱包中储存大批量比特币记下设置钱包并保存在安全地方时获得的12-24字种子。

请记牢,并不是所有允许进到GooglePlay的钱包都经过验证。这代表着某些人能够创建诸如应用程序这类的恶意钱包,以在你将硬币发送至手机钱包后尝试窃取你的硬币。

这就是为什么仅下载已知应用程序并确保它们是你真正要寻找的官方应用程序很重要的原因。

展开阅读全文

android为什么费电

全文共 1923 字

+ 加入清单

很多安卓机友估计都和小编有一样的感觉,就是安卓手机好费电,这是怎么回事呢?为什么充满电没多久就没电了呢?接下来就跟着小编一起去看看吧。

安卓手机费电怎么办:

1、降低手机屏幕亮度

屏幕是手机里最费电的一个部分,因此建议大家不要将手机屏幕调得太亮,可以调为自动亮度。一般在“设置”里面的就有亮度调节这个功能。

2、缩短亮屏时间

这么大的一个屏幕一直亮着,肯定超级浪费电了。不要使用动态桌面,选择静态壁纸。

虽然动态桌面看起来很有特性,但是你应该不想着出门在外却到处找地方充电吧。

3、随时清理关闭不用的后台应用,既可以省电还可省流量

4、手机应用在智能手机中经常会有不少后台应用程序,我们要做的就是随时关闭后台应用程序,将用不到的程序全部关闭,因为后台无用应用在一直运行,不仅会消耗手机电量还会导致手机运行变慢,因此关闭只有好处。

5、要懂得如何正确充电,保护电池。

如何不懂得充电,会导致电池损耗严重,表面看上去电池好像是充电满格,实际内在空虚。还没用两分钟,电量就耗了100%。

6、减少开关机次数

手机开机会重新搜索网络信号,夹在所有软件,消耗更多的电量。

安卓手机相关

安卓手机费电的原因:

第一就是我们的电脑USB端口的问题!

USB端口由90Ω双向差动屏蔽双绞线、VBUS (+5V电源)和地组成。这四根线均加了屏蔽。目前USB规范为版本2.0,规范的复件可从USB组织免费索取。完全遵从规范需要在设备和主机之间通过功能控制器实现双向通讯。规范定义一个单元负载的电流为100mA(最大),任何设备最大电流不得超过5个单元负载电流。

USB端口分类为低功耗端口——最多供一个单元负载用,或者高功率端口——最多可供5个单元负载使用。当设备首次连接到USB端口时,有一个列举程 序识别设备以确定它所需要的负载,此时设备只允许驱动一个单元负载,运行列举程序后,如果主机电源管理软件允许,高功耗设备才被允许用大电流驱动。

某些主机系统(包括下游USB集线器)具备保险丝或者有源传感器电流限制功能,如果USB设备没有经过列举而在USB端口出现大电流(超过一个单 元)负载,它会导致可检测的过流情况,这时主机会关掉一个或者更多正在使用的USB端口。许多商用设备包括单机电池充电器,驱动电流超过100mA而不用 功能控制器操作列举程序;它们在不正常环境下冒著给主机带来问题的风险。例如,一个驱动电流是500mA的设备插入一个由总线供电的USB集线器,如果没 有经过适当的列举,它可能会导致集线器和主机均过载。

当主机操作系统使用先进的电源管理,特别是为笔记本电脑这类希望端口电流极小的设备设计的电源管理来说,就会产生其它更加复杂的问题。在某些节能模式下,计算机向USB设备发出挂起命令以便进入低功耗模式,即使使用低功耗设备也最好用功能控制器与主机进行通讯。而有些主板由于种种原因,供电芯片的电压值和电流值没有达到标准要求,或者当控制USB主芯片超载的时候,U口的电压会降低!这就直接影响了对手机电池得供电。

第二方面手机开机充电的分压和分流问题

大家还记得以前买手机的时候,经销商都会叮嘱我们首次充电要关机充够8-12小时的事情吧?现在仔细想想看这个是有一定道理的!我也是经过这位专家的讲解才明白其中的缘由的。懂得物理学或者微电子学的机友们都应该知道能量守恒定律吧?内容是“能量既不会产生,也不会消失,它只会从一种介质转移到另一种介质;或者从一个状态转换成另一个状态。”,手机电池充电的原理其实就是能量的状态转换,即:电能向化学能的转换。而电池放电的过程又变成化学能向电能的转换。说到这里,有些机友可能已经明白了。我们手机费电和跳电的问题就出在这个能量转换的过程之中,即:开机状态下在充电,单位时间内的电能只是一部分转换成了化学能存在电池中,而另一部分则是直接提供给了手机系统运作;而关机状态下充电则是单位时间内的电能几乎全部转换成了化学能存在电池中。

很多机友可能还不是很理解,没关系!举个例子!比如说:假设我们的手机电池内部有100的电量存储单元,及我们常用的电池百分比中的1%就是其中的一个单元,安卓系统的电量信息捕捉是在单位时间内完成一个单元的电量存储过程,我们在这里假设安卓系统每1分钟判定完成一个电量单元的完整充电过程。那么在关机状态下充电的时候,电量显示每增长1%都是饱满的1个单元电量;而再开机状态下充电,电量显示每增长1%则不是完整的1个单元的电量,因为这个单元的一部分电量同时被系统运行消耗了!用白话说就是,关机状态下我们每充1%的电量都是实电,而开机状态下我们充进去的1%电量则是需电(也就是我们常说的浮电)。那么实电耐用还是需电耐用?相信不用我说所有人都知道吧?这就造成了开机充点之后电量百分比掉的特别快的现象。

展开阅读全文