android怎么开发即时通讯功能? android即时通讯开发
- 各位大神用Android Studio开发app上视频通话功能,应该怎么做啊,能不能讲一下具体的步骤,真的很急啊!
- 我用socket来做基于android即时通讯平台 好吗?性能如何?
- 如何使用andriod studio 开发 简单 应用
- 如何高效率开发Android一个APP?
各位大神用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开发的干货。