如何用android studio开发app
一、创建一个APP项目:
1、打开软件,在菜单中选择file-》new project打开创建向导。
2、配置项目,确定各个名称和存放项目存放路径;
Application name:项目名称
Company Domain:公司域名
Package name:app打包名称
project location:存放路径
3、接下来设定兼容的安卓的最小版本,这依情况而定。
4、如果不确定各个版本的区别,可以点击“help me choose”,在打开的窗口中介绍了各个安卓版本的功能。
5、确定后最小兼容版本后,选择项目的活动类型,这里有很多现成的模板可以使用,对于初学者选择默认的Blank Activity即可。
6、接下来设定活动名称,界面布局的名称,以及界面标题,最后点击finish完成项目的创建。
7、创建完后,在项目名-》app-》src-》main-》res-》layout下双击xml文件就是打开活动界面设计窗口了。
对于创建APP项目的过程本人就不多做介绍了,小伙伴们按照上面步骤操作一遍基本上都会了。我想准备接触android studio(下面简称AS)的小伙伴之前应该都是用的Eclipse,AS跟Eclipse有两点区别需要了解清楚:
第一:二者的工程结构不一样,在Eclipse中一个Project就代表一个项目工程,而在Android Studio一个Project代表一个工作空间,相当于Eclipse中的workspace,而在Android Studio中一个Module就相当于Eclipse中的一个Project,这个概念需要弄明白,不要混了或觉得糊涂了。
第二:新建或导入工程后,要删除工程,Android Studio只能去workspace文件夹去删除,而不能在开发环境中删除。
二、代码编写:
作为一个菜鸟,在编写代码前最大的问题就是不清楚目录结构以及操作流程,新手在编写代码之前必须得弄清楚下面的目录结构:
新建工程项目后AS的Product目录结构如下所示:
.idea://AS生成的工程配置文件,类似Eclipse的project.properties。
app://AS创建工程中的一个Module。
gradle://构建工具系统的jar和wrapper等,jar告诉了AS如何与系统安装的gradle构建联系。
External Libraries://不是一个文件夹,只是依赖lib文件,如SDK等。
新建工程项目后AS的Module目录结构如下所示:
build://构建目录,相当于Eclipse中默认Java工程的bin目录,鼠标放在上面右键Show in Exploer即可打开文件夹,
编译生成的apk也在这个目录的outs子目录,不过在AS的工程里是默认不显示out目录的,就算有编译结果也
不显示,右键打开通过文件夹直接可以看。
libs://依赖包,包含jar包和jni等包。
src://源码,相当于eclipse的工程。
main://主文件夹
java://Java代码,包含工程和新建是默认产生的Test工程源码。
res://资源文件,类似Eclipse。
layout://App布局及界面元素配置,雷同Eclipse。
menu://App菜单配置,雷同Eclipse。
values://雷同Eclipse。
dimens.xml://定义css的配置文件。
strings.xml://定义字符串的配置文件。
styles.xml://定义style的配置文件。
......://arrays等其他文件。
......://assets等目录
AndroidManifest.xml://App基本信息(Android管理文件)
ic_launcher-web.png://App图标
build.gradle://Module的Gradle构建脚本
其中需要重点了解以下几个文件:
res/layout/main.xml: App主窗体布局文件,你的应用长什么样都在这边定义,有Design和Text两种模式
res/values/strings.xml :这个文件用来存放程序调用的各种字符串
src/com/example/helloandroid/MyActivity.java :这个就是我们的主程序类,等下要实现的功能都在这个文件里添加
做好准备工作后,终于可以开始写我们的hello android了。
1、首先为应用添加一个id为hellotextView的textview和一个id为hellobutton的button,(在main.xml文件中编写)
代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="180dp"
android:text="@string/default_message"
android:id="@+id/hellotextView" android:textColor="#00ff00" android:gravity="center"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:id="@+id/hellobutton" android:layout_gravity="center"/>
2、代码和控件用到的字符串定义如下:
代码如下:
helloandroid by hiwanz
Say something
Click button below!
You just clicked on the Button!
3、主程序中定义button点击后改变textview显示的文本,并且弹出Toast提示信息。
代码如下:
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//得到按钮实例
Button hellobtn = (Button)findViewById(R.id.hellobutton);
//设置监听按钮点击事件
hellobtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//得到textview实例
TextView hellotv = (TextView)findViewById(R.id.hellotextView);
//弹出Toast提示按钮被点击了
Toast.makeText(MyActivity.this,"Clicked",Toast.LENGTH_SHORT).show();
//读取strings.xml定义的interact_message信息并写到textview上
hellotv.setText(R.string.interact_message);
}
});
}
}
代码写好后,电脑通过USB数据线连接手机,手机系统设置里的开发人员选项里打开USB调试,在IDE中直接点Run就可以在手机上看到运行的效果了。
Android音视频开发——H264的基本概念
ffmpeg常用命令 封装格式 。 编码的本质就是压缩数据 音频编码的作用: 将音频采样数据( PCM 等)压缩成音频码流,从而降低音频的数据量。 常用的音频编码方式有以下几种: H264压缩技术主要采用了以下几种方法对视频数据进行压缩。包括: 经过压缩后的帧分为:I帧,P帧和B帧: 除了I/P/B帧外,还有图像序列GOP。 组成码流的结构中,包含了以下几个部分,从大到小依次是: H264视频序列,图像,片组,片,NALU,宏块,像素 H264功能分为两层: 1.H264视频序列包括一系列的NAL单元,每个NAL单元包含一个RBSP。 2.一个原始的H.264由 N个NALU单元组成 3.NALU单元由[StartCode][NALU Header][NALU Payload]三部分组成 5.NAL Header 由三部分组成forbidden_bit(1bit)(禁止位),nal_reference_bit(2bits)(优先级,,值越大,该NAL越重要),nal_unit_type(5bits)(类型) nal_unit_type 6.NAL的解码单元的流程如下
开发一款小视频app源码怎么做(app开发视频教程)
开发一个直播app其实不需要太多的钱,和一般的APP一样,是根据实际功能需求的页面总数来估算价格的,比如说一个页面800元,当然只有几个功能的话一定会有个底价,就像打车也有个起步价,毕竟不管再少的功能也要配备后台开发人员,前端开发人员,ios和安卓各一个,还有UI和产品经理,这是基本配置。直播app这个核心模块一般是选择第三方的SDK接入,就像短信接入,聊天接入一样都有相关模块的服务商,相关收费标准需要咨询SDK服务,山东趣构网络科技有限公司都会给你搞定,费用是开发之外的,因为很多SDK都是按数量或者流量计费的。当然你也可以选择自己研发SDK,不过费用会非常高,技术门槛也很高,即使开发出来没有经过长时间大量的用户检验是无法提供完善服务的,市面上除了直播巨头拥有自己的SDK,其他的基本上都是调用第三方SDK。开发费用是可以量化的,需要投入的可能是APP上线之后的推广营销费用,这是非常巨大的一笔投入,当然也有很多免费的渠道,需要把各个应用市场的优化工作做好。【企业直播平台】相比于传统直播服务平台,企业直播APP平台不管是在硬件设备上还是软件上,实现的难度更加高。【主要技术功能模块】主播端:把主播实时录制的视频,经过(采集、美颜处理、编码)推送到服务器服务器:处理(转码、录制、截图、鉴黄)后分发给用户播放端播放器:获取服务器地址,进行拉流、解码、渲染互动系统:聊天室、礼物系统、赞主播端:LFLiveKit已包含采集、美颜、编码、推流等功能服务器:【nginxrtmp服务器】免费开源,能搭建本地电脑上,支持RTMP协议,满足直播需求。播放端:ijkplayer视频直播框架封装很完善只要有url,就可以实时播放由于涉及音视频的编码解码、美颜功能的算法,帧的处理等很多问题,能从底层自己开发的完整功能的绝对是大牛!不过正是有这些大牛们的奉献,我们不需要处理繁琐的底层问题,一些封装好的库可以完美实现。1、利用第三方直播SDK快速的开发梦网视频云:提供以实时轻视频技术为核心,开放智能视频、VideoCDN、VR、视频编码、视频渲染、分布式缓冲、软交换、多屏播放等前沿视频技术。帮您从容应对业务突发峰值。广泛应用于游戏直播、娱乐直播、泛生活直播、教育类、远程医疗、企业远程视频会议等典型场景。提供一站式视频解决方案,帮助企业一个星期搭建完整的视频直播平台。同时结合领先的人工智能技术,开放智能图像识别、视频特效、黄反审核功能,让视频内容更丰富,更安全。梦网视频云是专为企业平台打造的视频服务和一站式实现SDK/API端到端直播场景的企业级直播云服务平台。2、自研还是使用第三方直播SDK开发?自研:对于一个初创公司或团队来讲,自研直播不管在技术门槛、CDN、带宽上都是有很大的门槛的,而且需要耗费大量的时间和成本才能做出成品,不利于前期发展。第三方SDK开发:开发周期短,前期投入少,从长远看,第三方费用较高,占很大一笔支出,相对来说自研可以节省成本,技术成面比直接用SDK相对可控。