android怎么开发即时通讯功能? android即时通讯开发

967℃ GUADALUPE

android怎么开发即时通讯功能?android即时通讯开发

各位大神用Android Studio开发app上视频通话功能,应该怎么做啊,能不能讲一下具体的步骤,真的很急啊!

先考虑登录验证鉴权这些

首先,需要一个服务器做数据中转。你不会用个APP端来做服务器吧,这是肯定的。这就涉及到了服务端SESSION的控制和数据转发控制等一系列问题。

其次APP端需要发起建立SOCKET连接的请求。两个APP都需要先主动建立。发起视频通话的流程的时候,只是再服务端中建立两个SOCKET的映射关系。

然后就是APP段调取摄像头数据和音频数据转换为二进制格式实时传输到服务器,由服务器传送到另外一端APP对二进制数据进行解码。图像和音频都有很多编码方式可以自己选择编解码的库。解码完成后播放音频和展示图片到APP容器即可。当然这个工作是两方APP同时需要做的。

服务器只需要做好SOCKET的维护和数据转发就ok,不用编解码数据,当然也可以编解码来存放。

我用socket来做基于android即时通讯平台 好吗?性能如何?

不是好不好,即时通讯平台本来就是用SOCKET技术,象QQ就能SOCKET UDP技术。

QQ好不好,你是知道的。

如何使用andriod studio 开发 简单 应用

一、下载安装

  到developer.android/sdk/installing/studio.html下载安装包(dmg文件),打开并将Android Studio拖动到Applications中去,拷贝完毕即可,可以到应用程序下将图标拖动到Dock上。

  二、新建工程

  安装完成后,选择默认选项点击OK即可:

  进入Android Studio,开始界面和Xcode有点类似,点击New project新建一个工程,新建过程和在Eclipse上差不多,这里就不赘述了。下图是开始界面:

  新建工程完毕后就进入了Android Studio主界面。第一次进去可能如下图所示什么也没有,点击箭头所示按钮展开目录结构,

  展开后可以看到Android Studio的目录结构,和Eclipse的工程还是有一点区别的:

  区别:

  1.Android Studio的目录结构本来就代表一个workspace,一个workspace里面可以有Module,可以将一个Module理解成Eclipse中的一个Project;

  2.目录中将java代码和资源文件(图片、布局文件等)全部归结为src,在src目录下有一个main的分组,同时划分出java和res两个Group,res和Eclipse下的结构一样,java下就是源码的包和类文件;

  3.新建文件方式的不同,右键选择New或Command+N后出现新建菜单,类型有Java Class,也就是一般的java类,File就是普通文件,Package就是建包,值得注意的就是Android Component,它直接提供了Android中基本组件的创建。

  可以选择创建Android中不同类型的组件:

  三、窗口布局及主题介绍

  另外,主界面底部有一个名为Android的选项卡,打开可以看到DDMS中的设备信息和Logcat输出:

  顶部工具栏中可以看到和Eclipse中功能一样的一个选项,这些相信大家都比较熟悉了:

  最后需要说明的是,大家看到我的主界面是暗色风格,和Google演示的是一样的风格,大家第一次使用打开的是默认风格(亮色),如果想要修改的话,进入Preferences(按Command+,)到IDE Settings下选择Colors&font并设置Schema name为Darcula就可以设置成暗色风格,如果需要自己定义样式,比如字体大小颜色等,可以新建一个Schema来自己定义

  四、布局文件编写(实时预览)

  最炫的功能要来了,实时编写并预览布局文件,此项功能着实大大提高开发效率,打开一个xml布局文件点击右侧Preview选项卡即可唤出预览界面,可以选择很多尺寸的手机进行预览:

  同时,还可以同时预览多种不同型号和尺寸的设备,编写代码的同时适配多种机型,这不就是当初梦寐以求的嘛!

  上面介绍了Android Studio的基本使用,包括安装、新建工程、工程结构以及主题设置。下面介绍一些其他技巧,以及与Eclipse之前的一些对比。需要重申一下,我所有的操作与版本是基于Mac系统,在Windows上的同学基本类似,下面就分主题开始吧:

  一、从Eclipse导入工程到Android Studio

  根据官方的介绍,Android Studio可以兼容Eclipse的现有工程,但需要做一些操作:

  首先升级ADT到最新版本,目前为版本号为22(注意和ADT相关的组件最好一并升级,避免后期可能出现的错误)

  选择需要从Eclipse导出的工程,右键选择Export并选择Android下的Generate Gradle Build Files(如下图):

  选择完毕后并不会导出到其他地方,而是在本地工程生成了一个build.gradle文件,在Eclipse工程中也可以看到,这个文件是Android Studio识别的,如下图:

  3.随后进入Android Studio并选择Import Project,可以看到刚刚在Eclipse中的项目图标变成了一个Android机器人图标,说明转换成功,这时候选择工程导入即可:

  至此,就完成了从Eclipse导入现有Android工程到Android Studio,现在可以开始对工程进行操作了!

  二、Eclipse工程与Android Studio的区别

  Eclipse工程可以导入Android Studio运行,而反过来在Android Studio建立的工程不能在Eclipse中运行;

  二者的工程结构不一样,在Eclipse中一个Project就代表一个项目工程,而在Android Studio中就和Intellij一样,一个Project代表一个工作空间,相当于Eclipse中的workspace,而在Android Studio中一个Module就相当于Eclipse中的一个Project,这个概念需要弄明白,不要混了或觉得糊涂了。

  在编辑操作上,在Eclipse中编辑修改后必须手动command+s保存文件,而在Android Studio中就和Intellij一样是自动保存的,这一点和第二点和Xcode也是类似的。

  工程目录上的区别,在Eclipse中src部分一般是java文件,res部分是资源文件,包括布局文件和多媒体资源等。在Android Studio中,可以看下图的目录结构:

  包括java文件和资源文件全部放到了src目录下,src目录下包括一个main文件夹,再下面就是java文件夹和res文件夹,其实这里,java文件夹就相当于Eclipse中的src,res还是那个res,这里想起了本山老师的小品“src已经不是那个src了,res还是那个res”

  三、真机运行以及常用快捷键

  在Android Studio中点击界面下方的Android选项卡可以看到Device信息和Logcat,连上设备后打开Android选项卡会检测真机,成功后会显示在Device中,点击顶部的绿色小箭头就可以开始运行工程了。有一点需要注意的是,运行时可以选择模拟器也可以选择真机,由于在Android Studio中运行工程的时候有一个Device优先级选择,如果不设置的话可能会出现只运行在模拟器上的现象,我们可以自行设置一下:先点击Run菜单选择Run Configuration,并选择你想选择的目标设备,可以是模拟器和真机,也可以在运行选由用户选择:

  快捷键大家可以对照官方文档进行熟悉,如下表,也可以自己修改配置选项进行自定义:

  个人觉得Android Studio还是有一定的前景的,这里就需要Google不断进行完善和改进了,赶紧把大家从Eclipse中解救出来吧。另外,在此期间,大家其实可以尝试使用一下Intellij IDEA,这个默认也是集成Android开发环境的。Android Studio是基于前者改进而来,二者在使用上差不多,也是Eclipse的一个不错的替代者。下面提供一个Windows版Android Studio下载。

如何高效率开发Android一个APP?

我猜想题主是想开发一款APP来练练手,但有些开源库,框架之类不是很熟悉。刚好前几天在知乎回答过类似的问题,这里再补充下

网络模块

okhttp

android-async-http

volley

事件总线

otto

EventBus

依赖注入

Dagger

RoboGuice

ButterKnife

图片模块

Fresco

Glide

picasso

数据库模块

greenDao

ormlite

LitePal

响应式编程

RxJava

RxAndroid

日志输出

logger

android-CLog

KLog

测试相关

testerhome

测试社区,里面有很多干货

bugtags

新一代的、专为移动测试而生的缺陷发现及管理工具

testin

为移动测试而生

Emmagee

网易出品的,是监控指定被测应用在使用过程中占用机器的CPU、内存、流量资源的性能测试小工具。

awesome-android-testing

A curated list of awesome android testing libraries.

崩溃统计平台

腾讯bugly

Crittercism

Crashlytics

架构设计

这个肯定得了解下MVC,MVP,MVVM还有设计模式这些,这里有几个开源项目推荐下

philm

Movie collection and information app for Android.

Github地址:github/chrisbanes/philm

SimpleNews

基于Material Design和MVP的新闻客户端

Github地址:github/liuling07/SimpleNews

GankDaily

A application show technical information every working days, use MVP pattern.

Github地址:github/maoruibin/GankDaily

SimplifyReader

Github地址:github/SkillCollege/SimplifyReader

NBAPlus

Github地址:github/SilenceDut/NBAPlus

PhotoNoter

Github地址:github/yydcdut/PhotoNoter

Meizhi

Github地址:github/drakeet/Meizhi

其他

leakcanary

检查内存泄露

Github地址:github/square/leakcanary

DebugDrawer

Android Debug Drawer for faster development

Github地址:github/palaima/DebugDrawer

ViewServer

Local server for Android's HierarchyViewer

Github地址:github/romainguy/ViewServer

APP内测,分发

FIR.im

蒲公英

PS:开源框架虽然好用,但最好要了解框架存在的一些bug和坑,遇到问题可以给作者提issue,一般这些有名的框架,作者都会很积极的回答。

另外推荐下自己的Android-Dev-Favorites,里面收集了Android开发的干货。