登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

Android NDK开发之旅34--NDK-手把手带你入门直播技术

前言先来了解一下视频直播的基本架构:直播基本架构我们需要有一个主播客户端进行音视频采集,压缩,然后通过RTMP协议进行推流,推到流媒体服务器,然后其他客户端统一从流媒体服务器引流,播放。关于这里的过程的一些细节我将会在后续文章中慢慢道来。Linux(Ubuntu系统或者虚拟机)搭建流媒体服务器先来了解一下俄罗斯人 ...
1970-1-1 21:39
阅读:0 评论:0 赞:0

Android UI进阶之旅11--Material Design之FloatingActionButton

FloatingActionButton一个基本的使用例子如下:<android.support.design.widget.FloatingActionButtonandroid:id="@+id/fab"android:layout_width="50dp"android:layout_height="50dp"android:layout_gravity="right|bottom"android:onClick="rotate"android:src="@drawable/ic_add_white_24dp"app:backgroundTint="?attr/c ...
1970-1-1 21:31
阅读:2 评论:0 赞:0

Android NDK开发之旅33--NDK-Linux入门之POSIX线程原语

POSIXPOSIX是一种标准,例如有多线程编程标准、网络编程标准等。POSIX多线程Linux下,一般多线程的实现由POSIX多线程编程实现。Android系统属于Linux系统,因此NDK原生支持POSIX多线程编程。Windows平台一般用Windows自带的API。VisualStudio平台搭建POSIX多线程环境因为POSIX多线程是Linux的,因此如果需要在VisualStudio ...
huanranyilu 1970-1-1 21:30
阅读:2 评论:0 赞:0

Android NDK开发之旅30--NDK-FFmpeg音频解码与播放

音频解码实现音频解码也是直接使用FFmpeg的API来做。publicnativevoidsound(Stringinput,Stringoutput);其中,JNI实现如下://重采样#include"libswresample/swresample.h"#defineMAX_AUDIO_FRME_SIZE48000*4JNIEXPORTvoidJNICALLJava_com_nan_ffmpeg_utils_VideoPlayer_sound(JNIEnv*env,jobjectinstance,jstringinput_,js ...
huanranyilu 1970-1-1 21:29
阅读:3 评论:0 赞:0

Android NDK开发之旅23--C++--异常处理

异常处理与Java类似,C++也有异常处理。异常类型C++中,异常的类型是任意的,如下:voidmain(){try{//throw1;//throw"异常信息";throw9.8;}catch(inta){cout<<"int异常:"<<a<<endl;}catch(char*s){cout<<"char*异常:"<<s<<endl;}catch(...){cout<<"未知异常"<<endl;}system("pause");}throw不同类型的异常,就会在相应的c ...
1970-1-1 21:24
阅读:2 评论:0 赞:0

Android NDK开发之旅29--NDK-FFmpeg视频播放

前言上一篇文章我们对视频进行了解码,那么这次我们队解码后的数据进行播放。也就是绘制到界面上。视频播放创建自动以SurfaceView因为视频是需要快速实时刷新界面的,因此要用到SurfaceView。publicclassVideoViewextendsSurfaceView{publicVideoView(Contextcontext){this(context,null,0);}publicVideoView(Contextcontex ...
1970-1-1 21:05
阅读:0 评论:0 赞:0

Android NDK开发之旅30--NDK-FFmpeg音频解码与播放

音频解码实现音频解码也是直接使用FFmpeg的API来做。publicnativevoidsound(Stringinput,Stringoutput);其中,JNI实现如下://重采样#include"libswresample/swresample.h"#defineMAX_AUDIO_FRME_SIZE48000*4JNIEXPORTvoidJNICALLJava_com_nan_ffmpeg_utils_VideoPlayer_sound(JNIEnv*env,jobjectinstance,jstringinput_,js ...
1970-1-1 20:56
阅读:0 评论:0 赞:0

Android UI进阶之旅5--Material Design之TextInputLayout

前言TextInputLayout可以轻松与EditText结合实现一些炫酷的效果,例如一些常见的:Hint动画错误提示字数计数基本使用首先需要有一个布局:<android.support.design.widget.TextInputLayoutandroid:id="@+id/til_input"android:layout_width="match_parent"android:layout_height="wrap_content"app:hintAnimationEnabled="t ...
huanranyilu 1970-1-1 20:42
阅读:5 评论:0 赞:0

Android NDK开发之旅23--C++--异常处理

异常处理与Java类似,C++也有异常处理。异常类型C++中,异常的类型是任意的,如下:voidmain(){try{//throw1;//throw"异常信息";throw9.8;}catch(inta){cout<<"int异常:"<<a<<endl;}catch(char*s){cout<<"char*异常:"<<s<<endl;}catch(...){cout<<"未知异常"<<endl;}system("pause");}throw不同类型的异常,就会在相应的c ...
huanranyilu 1970-1-1 20:40
阅读:2 评论:0 赞:0

01-底部导航栏

一、常见的底部菜单(底部导航栏)的实现方式常见的实现方式有:TabHost+Activity:资源开销比较大,官方已经不推荐使用。RadioButton(RadioGroup)+Fragment:实现起来比较麻烦。FragmentTabHost+Fragment:实现简单,资源开销小,推荐使用。二、FragmentTabHost介绍如下图所示,整一个底部导航栏是一个FragmentTabHost, ...
1970-1-1 20:37
阅读:3 评论:0 赞:0

Android开发中的MVP架构以及性能优化

前言为什么要做架构设计?一个APP越做越大的时候,随着业务、需求越来越复杂,为了系统的扩展性更好,这时候就需要考虑架构问题。当然,小公司里面基本不会涉及到这些,一是因为项目比较小,主要是完成功能为主,而且需求不多,需要修改的地方不多;二是很有可能你做完这个项目之后就不干了,根本就不用考虑以后的扩展。因 ...
huanranyilu 1970-1-1 20:37
阅读:3 评论:0 赞:0

面试-排序

冒泡排序publicclassBubbleSort{publicstaticvoidmain(String[]args){int[]arr={1,0,2,3,4};int[]sort=bubbleSort(arr);for(intitem:sort){System.out.println(item);}}/***从后往前,不断向前比较,小的向前面浮起来(交换)*如果发现一趟排序没有交换,那么flag=false,程序就提前退出了*时间复杂度O(n^2)**@paramarr需要 ...
1970-1-1 20:18
阅读:1 评论:0 赞:0

06-OkHttp的使用以及简单封装

一、Android中网络请求的进化Android开发中网络编程是必不可少的,不接入互联网的APP就没有盈利可言。废话不多说了,下面请看Android中网络请求的进化图:HttpURLConnection,ApacheHTTPClient,Volley到现在的OKHttp,可谓天外有天,人外有人。为什么OKHttp会这么火呢,相信下面的介绍会告诉你答案。二、OKHttp的简介首先 ...
1970-1-1 20:08
阅读:2 评论:0 赞:0

Android UI进阶之旅5--Material Design之TextInputLayout

前言TextInputLayout可以轻松与EditText结合实现一些炫酷的效果,例如一些常见的:Hint动画错误提示字数计数基本使用首先需要有一个布局:<android.support.design.widget.TextInputLayoutandroid:id="@+id/til_input"android:layout_width="match_parent"android:layout_height="wrap_content"app:hintAnimationEnabled="t ...
1970-1-1 20:05
阅读:1 评论:0 赞:0

广告投放| 申请友链|手机版|站点统计|安卓巴士

返回顶部