Android Studio 入门

Posted cynchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio 入门相关的知识,希望对你有一定的参考价值。

本文适用于从Eclipse转androidStudio的开发人员

近期打算写一个系列的android0基础开发教程,估计40篇以上的文章,结合我实际工作中的经验,写一些工作中经经常使用到的技术,让刚開始学习的人能够少走弯路,这是本系列的第一篇文章,345大神写的。

原文地址

一. 下载安装

  1. 安装JDK并配置JAVA_HOME环境变量

    这个就略过了,纯小白请自行百度
    
  2. Android Studio安装

    截止到2016年4月9日Android studio的最新稳定版本号为2.0,推荐使用该稳定版本号。
    

下载地址:

  • 下载地址1 官网下载页面传送门

    假设下载速度非常慢。请复制下载连接到迅雷,万能的迅雷会帮你提速的。
    假设根本打不开请移步地址2
    
  • 下载地址2 AndroidDevTools
    技术分享

    你须要的这里基本都会有,强烈推荐到这里下载。


    假设本地已经下载有sdk的话推荐下载zip免安装版,第一次启动的时候配置下sdk目录就好。

二. 第一次启动

  1. 安装完过后不要着急启动,首次启动会弹出检查sdk更新组件等设置,点击finish可能会去下载。假设没有设置代理的情况下。这个界面会卡非常久。

解决方法

  • 关闭android sutdio,打开android studio安装目录下的bin目录,找到idea.properties并打开。

  • 在该文件尾部加入例如以下代码:
# 禁用首次检查sdk功能
disable.android.first.run=true
  • 重新启动android studio就不会再出现sdk设置检查界面了。

    1. 启动完毕会看到以下的界面
      技术分享

点击Configure选择SDK Manger能够配置SDK目录等属性
技术分享
技术分享

点击左下角连接 启动SDK Manger 配置SDK更新镜像
我想说这一步在天朝是必须的,原因我想你懂的

以下说一下SDK更新镜像站点的用法:
详细请參考AndroidDevTools
1. 启动 Android SDK Manager 。打开主界面,依次选择『Tools』、『Options…』,弹出『Android SDK Manager - Settings』窗体。

  1. 在『Android SDK Manager - Settings』窗体中。在『HTTP Proxy Server』和『HTTP Proxy Port』输入框内填入上面镜像server地址(不包括http://。例如以下图)和端口。而且选中『Force https://… sources to be fetched using http://…』复选框。

    设置完毕后单击『Close』button关闭『Android SDK Manager - Settings』窗体返回到主界面;

  2. 依次选择『Packages』、『Reload』。
    技术分享

    选择镜像站点的时候要注意的是,并非全部的适合别人的就适合你还有可能根本无法更新。因为server远近带宽的问题,你应该选择适合自己的镜像,怎么选择。

    。。。我想说设置成功后选择更新个没下载的文件能成功下载更新而且速度不慢的就是合适的

  3. 主题设置

这个没什么好讲的,可是追求逼格喜欢黑色主题的小伙伴在意这个的不少,这里就上图说明一下。
启动页面点击 configure->选择Prefrences->Appearance->Theme->Darcula就是那个黑色Visual Studio风格主题 ->apply完事
技术分享

假设想要很多其它字体关键词颜色什么的个性化配置的话推荐到以下的网址下载
http://color-themes.com/?view=index
选择喜欢的主题下载,下载到的是个jar文件。用法:

    在AS中选择File->import settings ->选择下载的jar文件->勾选editor color 确认

三. 项目project

  1. 新建project

跟着引导一步步来就好了,注意最低兼容版本号的选择。新建项目的时候没有提供编译版本号的选项,默认当前安装的sdk的最高版本号。AS给提供了几个Activity模版,模版的实现都是比較经典的。推荐新建一个看一看。
技术分享

  1. project目录结构
    技术分享

新建完一个project 如图点击左上结构视图切换。切换到Project目录结构(开发中经常使用的是Android视图,比較简洁) 当中 app2和mylibrary是为了方便后面解说新建完毕后手动加入的module默认新建project是没有的。

  • MyApplication目录地位相当Eclipse的Workspace

    不同的是ASproject目录以下多了用于全局项目的配置文件,比較重要的是local.properties、setting.gradle、gradle.properties 、build.gradle和gradle目录
    
    • local.properties
      当中能够设置你的 sdk、ndk配置,普通情况下不须要改
    • settings.gradle
      该文件里就仅仅仅仅包括了一句话,声明所包括的module
      比方上面的project包括三个module

      include ‘:app‘, ‘:app2‘, ‘:mylibrary‘
    • gradle.properties
      gradle编译用到的一些參数设置 普通情况下不须要改
    • buiLd.gradle
      定义版本号仓库的依赖和一些gradle的命令普通情况下不须要改
  • Module目录
    技术分享

    这个目录跟eclipse目录非常像 非常easy就能理解各种目录的相应关系,比較特别的是比eclipse多了一系列mipmap目录。mipmap和drawable目录一样都是用来存放图片的,按官方文档说法是 mipmap目录仅仅放应用图标。

    其它须要使用的drawable资源象之前一样放到相应的drawable目录。

    新建moudle时drawable目录仅仅有默认不带分辨率參数的,适用于不同分辨率的目录须要自己手动建。AS提供了便捷的创建方式

    在moudle上右键选择Android resource directory,分别选择类型drawable 左側列表选择density 选择对dpi
    例如以下图
    技术分享
    技术分享
    技术分享
    其它res文件的创建同理。

    1. 打开网上下载ASprojectgradle报错的问题

有时候我们从网上下载了一个demoproject打开后gradle报错不能执行,这样的情况大多数因为gradle版本号不一致,AS下载相应版本号失败的问题引起的。普通情况下有两种解决方法
* 手动下载相应gradle版本号到本地目录

    这样的方式不推荐有兴趣的自行搜索

* 改动要打开project的gradle配置
技术分享

參考本地新建project的同样文件
gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
//改动版本号号与本地project文件同样

build.gradle

dependencies {
        classpath ‘com.android.tools.build:gradle:2.0.0‘
        //改动版本号号与本地project文件同样
}

四. 加入依赖

了解了项目结构之后简单的编译执行调试一般来说应该没有什么问题了,毕竟菜单条,底部功能窗体功能提示都非常明白。以下来说一说比較遇到问题的地方:加入依赖项目或执行第三方project报错的问题。

加入依赖一般有三种方式
1. 加入代码仓库的依赖

这样的方式最简单直接在项目module的build.gradle 里面的dependencies 里加入一句话,然后又一次构建就可以。如:

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    testCompile ‘junit:junit:4.12‘
    compile ‘com.android.support:appcompat-v7:23.3.0‘
    compile ‘com.android.support:design:23.3.0‘
    //加入了OKHttp的依赖
    compile ‘com.squareup.okhttp3:okhttp:3.2.0‘
}

能够手动加入也能够右键项目在open module settings里搜索加入(推荐这样的方式)
技术分享
技术分享

AS会自己主动联网下载加入的依赖 这个一般不须要FQ
  1. jar包的依赖

这个是最简单的也不用联网,和eclipse一样把jar包复制到libs目录内,然后须要又一次构建一下项目 点击菜单条的构建button就可以如图
技术分享
构建完毕在左側目录栏里的jar文件左側应该会有尖头能够展开查看jar包内容
技术分享

有的jar还须要关联.so库 这时候仅仅须要在src目录的main目录以下建一个名为jniLibs的目录将so库拷贝进去就可以(与res目录同级)
技术分享
3. libray项目的依赖

非常多时候我们的要用到从github上下载的项目,把当中提供的library加入到我们的项目中,方法例如以下 首先导入module然后加入依赖
打开project structure -> 加入新moudle ->在下载的project文件里 选择要导入的library的module
注意不是导入下载的整个project目录 而是选择当中的module目录
技术分享
技术分享
技术分享
把导入的library加入到目的项目的依赖中
技术分享
技术分享

当导入的library里的项目build.gradle文件里包括一些上传到版本号仓库的信息的话导入过后可能会报错,这时候仅仅须要把不必要的信息凝视掉就可以,须要保留的是编译配置,依赖关系。目录配置。例如以下
apply plugin: ‘com.android.library‘
//项目编译信息
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

}
//依赖信息
dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    testCompile ‘junit:junit:4.12‘
    compile ‘com.android.support:appcompat-v7:23.2.1‘
    compile ‘com.android.support:design:23.2.1‘
}

当然也能够手动把module目录复制到project目录中然后改动settings.gradle文件。只是不推荐这样的方式。

五. 快捷键

AS的自己主动提示功能非常强大,有输入过后会自己主动弹出提示不须要像Eclipse一样按alt+/才提示,至于其它AS的快捷键非常多就不一一说明了, 上个图拿去自行修炼吧
技术分享

六. 插件安装

打开Setting页面 找到Plugins 搜索安装 如图
技术分享
技术分享

推荐的几个AS插件,详细用法请自行百度
1. GsonFormat
2. android-butterknife-zelezny
3. JsonOnlineViewer

七. 打多渠道包

国内上线APP一般要从多渠道公布。为了统计渠道安装量一般须要每一个渠道生产一个安装包。AS自带多渠道打包功能。多渠道打包功能绝对是AS最有用的功能之中的一个。这里重点讲一下。

  1. 生成签名文件

签名文件能够在build->generate signed apk -> 选择项目 next ->create new生成,方式与eclipse几乎相同
技术分享

  1. 设置打包用的签名文件

打开module setting 新建一个signing项 选择签名文件 填写签名文件的password别名等
技术分享

  1. 新建Flavors配置

作为演示样例我新建了三个配置并选择打包用到的签名配置 一个offline_debug、一个release_360、一个release_baidu

技术分享

  1. 改动module的build.gradle和Mainfest文件

依照上一步配置好之后。build.gradle里会多出productFlavors和singConfig配置。我们要改动的是productFlavors部分。


怎样改动我们来举例说明

这是build.gradle文件内改动的部分

defaultConfig {
        applicationId "com.example.mark.myapplication"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        //BuildConfig.IS_SIGN = false
        buildConfigField "boolean", "IS_SIGN", "false"
    }
    productFlavors {
        offline_debug {
            signingConfig signingConfigs.signConfig
            //这里演示的是一个变量的写法
            manifestPlaceholders = [APP_NAME: "Debug版本号"]
        }
        release_360 {
            signingConfig signingConfigs.signConfig

            //BuildConfig.IS_SIGN = true
            buildConfigField "boolean", "IS_SIGN", "true"
            //这里演示的是有多个变量的写法
            manifestPlaceholders = [APP_NAME: "360版本号", EXAMPLE: "360"]
        }
        release_baidu {
            signingConfig signingConfigs.signConfig
            buildConfigField "boolean", "IS_SIGN", "true"
            manifestPlaceholders = [APP_NAME: "百度版本号", EXAMPLE: "baidu"]
        }
    }

当中defaultConfig内的 buildConfigField “boolean”, “IS_SIGN”, “false”一句 是在构建项目生成的BuildConfig类中加入一个名为 IS_SIGN 的bool变量,并赋值为false。
这个变量是能够在代码里使用的,如以下的代码能够用来切换线上线下的请求地址

public static String BASE_URL;
    static {
        if(BuildConfig.IS_SIGN){
            BASE_URL = "线上地址";
        }else{
            BASE_URL = "线下地址";
        }
    }

productFlavors 内的manifestPlaceholders = [APP_NAME: “Debug版本号”] 一句的含义是 将AndroidManifest.xml文件里的变量APP_NAME替换为冒号后面的字符串,这句是仅仅有一个要替换的变量的写法。后面you多个变量的写法举例。这个APP_NAME在Manifest文件里的定义格式例如以下 ${变量名} 在打包的时候gradle会自己主动把这个占位变量给替换掉。

<activity
            android:name=".LoginActivity"
            android:label="${APP_NAME}">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

这样的变量定义能够出如今Mainfest中不论什么须要字符串的位置,我上面仅仅是一个演示样例,请活学活用不要照搬照抄。

  1. 打包

同一时候选中你要打包的配置项 点击finish 等一会就会同一时候生成多个APK。
技术分享

推荐下自己创建的android QQ群: 202928390欢迎大家的加入.

假设你想第一时间看我们的后期文章,扫码关注公众号。每周不定期推送Android开发实战教程文章。你还等什么。赶快关注吧。学好技术,。出任ceo,赢取白富美。。

。。。

。。。。。
技术分享





























































以上是关于Android Studio 入门的主要内容,如果未能解决你的问题,请参考以下文章

错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段

在Android Studio片段之间切换时地图片段不隐藏

Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段

如何在android studio中用另一个片段替换一个片段

我正在尝试在android studio上创建标签片段

Kotlin Android Studio - setContenView - 绑定(片段)