• 第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotion模拟器


    【声明】

    欢迎转载,但请保留文章原始出处→_→

    生命壹号:http://www.cnblogs.com/smyhvae/

    文章来源:http://www.cnblogs.com/smyhvae/p/4392611.html

    【系列】

    第一次使用Android Studio时你应该知道的一切配置

    第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotion模拟器

    第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建

    【正文】

    都说了放假不休息,奏是这么任性!!! 

    【开发环境】

    物理机版本:Win7旗舰版(64位)

    Android Studio版本:1.1正式版


    一、新建工程:

    1、新建一个Project:

    打开Android Studio,新建一个Project,界面如下:

    4669bc3c-159d-4446-9566-b77775287ace

    ea17f64f-1254-491a-921f-4f8226f3d8f6

    上图中,设置好工程名和路径之后,接下来可以一路next:

    1918387e-7acf-44dc-99fd-d8153b2122a8

    793ccdaf-40cb-4da5-8328-75237bab10cb

    17a4e876-78ce-48d2-9eca-d66b7e705b4b

    二、Android Studio使用方法;

    1、修改项目结构视图:

    Project新建完了以后,默认的结构如下:

    2b7c2408-bd00-4c3b-bfc2-c64fbe9045c3

    上图可以看到,AS的目录结构和Eclipse中有很大区别,我们看下面的这张表格就一目了然了:

    当然了,如果想切换成和Eclipse中类似的视图,点击左上角进行切换视图就行了:

    40c14b16-30a6-45dc-9ccb-37abac1d48fa

    切换之后,视图如下:

    90b8ed4d-417b-416f-8359-674384029a42

    上图中,箭头处的app其实是一个module,关于module的概念,稍后会有解释哦。

     

    2、工具栏的常用功能:

    在AS的工具栏有几个常用的按钮,分别是Gradle同步、AVD Manager、SDK Manager、DDMS,如下图所示:

    3280fa4d-15bd-41ce-95cb-953bb7155992

    解释如下:

    • Gradle同步:在你项目运行或者更改Gradle配置的时候都要点击下这个按钮,会下载相应的依赖
    • AVD Manager:模拟器管理
    • SDK Manager:就是管理你的SDK版本
    • DDMS:即 Dalvik Debug Monitor Service,Dalvik调试监控服务。

     

    3、导入第三方jar包:

    eclipse中导入jar包是先将jar包复制到工程文件中,然后add to build path,但是在Android studio中可不是这样的。在Android studio中导入jar包的方法是:(以谷歌的gjson.jar为例)

    将gson-2.3.jar文件拷贝到工程文件的libs目录下:

    1ff80ab1-9b73-4500-8647-7554a4453317

    导入之后,选中jar包,然后点击下图中箭头处的按钮:(synchronize:同步,可以理解为刷新)

    462c6e87-5525-43eb-abfc-69165941bb66

    搞定。

    4、修改默认Activity继承AppCompatActivity:

    在Android Studio 2.1中新建Activity默认继承AppCompatActivity,感觉这点十分不爽(老版本的AS不会出现这种情况)。找了很久,终于发现在Android Studio安装目录下有个模板文件,修改其中的参数即可。

    具体操作可以参考下面这篇博文:

    Android Studio修改默认Activity继承AppCompatActivity

    三、安装genymotion模拟器:

    1、Genymotion的安装:

    Genymotion无疑是目前最快最好用的模拟器。官网下载地址:https://www.genymotion.com/

    先注册,然后下载,安装VirtualBox最简单的方式就是下载包含VirtualBox的Genymotion包,如下图红框部分所示:

    c8f74667-94a5-441c-b8fd-55c94ca9b723

    下载完成后,开始安装。然后运行Genymotion软件,会提示你需要创建虚拟设备,点击yes按钮开始创建虚拟设备:

    15940687-b37f-4ba3-8762-f5d952b5373a

    使用之前注册的账号进行连接:

    a2d6a23f-9174-4146-a33e-92b8ace739d5

    然后选择其中一个版本的模拟器:

    d864b044-1ef6-4e94-b41d-feb6cf93088a

    b0d013d0-059d-4e23-93f0-2645f99588ff

    84da4d97-8e49-400e-b5cd-fdc383fd7d2f

    a9d7d5fc-4f45-42d8-95dd-e2090f6712a6

    当然了,如果要在模拟器上运行程序,还要确保模拟器加载了Android SDK:

    8a3e94e0-a2dc-42f2-ab47-9aee2050b6e8

    备注:如果启动模拟器时出现下面的错误:

    cc6f7b70-b1cd-4c0e-84c1-be7def9f58b4

    升级电脑显卡驱动就行了。

    这样,我们的模拟器就建好了,并且可以启动起来。接下来要将模拟器和Android Studio相关联。

    2、将模拟器Genymotion和Android Studio相关联:

    Genymotion官网提示有两种方法(如下图所示),一种是在线安装,另一种是离线安装。方法已经很清楚了,我就不截屏演示了哈。

    144e6f92-12d4-49a4-a521-6643982e1720

    插件安装好之后,紧接着重启软件,让新加载的插件生效。重启软件Android Studio后,选择菜单栏“View--Toolbar”,让工具栏显示出来,可以看到工具栏多了个Genymotion Device Manager的图标:

    3f2ea237-d046-4a21-8eed-e4207133e91f

    点击这个图标,弹出如下界面:

    d785708e-e314-4681-978b-57239b548210

    上图中,加载我们之前安装好的Genymotion文件夹即可。然后再点击这个图标,弹出如下界面:

    9be4ab45-4598-4e70-878b-69720b90e6f5

    大功告成。

    紧接着,在模拟器上运行这个程序:

    dcbe5fb9-1a46-49c8-ab52-480904286158

    运行效果如下:

    3af8d4a3-04af-49be-bc8e-a3bbe5f9bdc4

    上图中,可以看到,我编译的版本是API 19,但模拟器的版本是API 16,但是程序依然可以运行,说明Android Studio在版本的兼容问题上做的很好。但是之前用IntelliJ IDEA,就必须要求编译的版本和模拟器(真机)的版本要保持一致。

    四、新建一个module形式的第三方library:(引入module的概念)

    再来看一下这张表:

    看完图,应该知道module的概念了吧。细心的小伙伴可以发现,application的module的有一个手机图标:

    49f439c8-0028-4166-9d6f-b25ae7726d0b

    1、新建一个module作为library:(以StickyScrollViewItems这个Library为例

    注:StickyScrollViewItems的作用是:子控件可悬停的ScrollView(当子控件滚动到页面顶端的时候固定在顶部)。

    在AS中,我们可以新建一个module作为library来使用,操作如下:

    7daf1015-b963-4bff-802a-8dd4682c7b73

    上图中,在当前的project中新建一个module,然后弹出如下界面:

    4ca54992-59b4-44f9-b10a-dcab70cce09b

    上图中,选择module的类型为Android Library,然后继续:

    f23cf745-177c-485c-81b5-00e3592d5d7c

    b81ea313-0147-4ba0-9214-7fd2d4214690

    上图中,既然这个module是一个libray,就不需要Activity了。

    aaa98067-911d-4f66-a016-ec3705540425

    上图中箭头处的两个module:第一个是application的module,第二个是lirary的module,可以看到,他们俩的icon图标长得不一样。

    2、将GitHub上下载好的StickyScrollViewItems-master压缩包中的部分文件拷贝到lirary的module中:

    操作如下:

    (1)将StickyScrollViewItems-masterStickyScrollViewItems-masterlibrary esvalues目录下的attrs.xml文件拷贝到lirary的module中的values目录下。

    (2)将StickyScrollViewItems-masterStickyScrollViewItems-masterlibrarysrccomemilsjolandercomponentsStickyScrollViewItems目录下的StickyScrollView.java文件拷贝到lirary的module中的java目录下。

    最终效果如下:

    2b876886-112f-4a9c-9cbb-a53f92cebed6 

    总结:新建一个module形式的第三方library的通用做法是:

    (1)新建一个library形式的module,删掉这个module中src/main目录里面的所有文件(包括删掉java、res、AndroidManifest.xml)

    (2)复制第三方库的AndroidMainfest.xml、res、src文件(夹)到库目录的src/main目录中

    (3)将src/main目录下的src目录重命名(Shift+F6)为java

    (4)删除库module中的build.gradle文件(注意不要修改错了地方)中的dependencies和release模块

    3、将application的module依赖上library的module:

    操作如下:

    8ce1d4f7-7fd4-4ac5-aeee-f8887d4c7576

    上图中,右键选中app,选择“Open Module Settings”,弹出如下界面:

    5231ef7a-0f4b-4769-8e81-1aaae50f5f92

    按照上图的步骤,在Dependencies标签中,添加"Module dependency",弹出如下界面:

    72599598-645a-49e0-b9e3-97cdce0e28dc

    上图中,将StickyScrollViewItems的module导入一下就行。

    依赖成功,于是,我们在布局文件中是可以看到它的代码提示的:

    79fefdb7-bfd8-4106-9b51-8ba4ce1ffb3a

    下面来测试一下。

    4、测试library这个module的可用性:

    将activity_main.xml修改为如下代码:

    复制代码
     1 <com.smyhvae.stickyscrollview.StickyScrollView
     2     android:layout_width="match_parent"
     3     android:layout_height="match_parent"
     4     android:fadingEdge="none"
     5     android:overScrollMode="never"
     6     android:fillViewport="true"
     7     xmlns:android="http://schemas.android.com/apk/res/android">
     8 
     9     <LinearLayout
    10         android:layout_width="match_parent"
    11         android:layout_height="wrap_content"
    12         android:orientation="vertical">
    13 
    14         <View
    15             android:layout_width="match_parent"
    16             android:layout_height="200dp"
    17             android:background="@color/blue"/>
    18 
    19         <View
    20             android:layout_width="match_parent"
    21             android:layout_height="100dp"
    22             android:background="@color/red"
    23             android:tag="sticky"/>
    24 
    25         <View
    26             android:layout_width="match_parent"
    27             android:layout_height="100dp"
    28             android:background="@color/green"/>
    29         <View
    30             android:layout_width="match_parent"
    31             android:layout_height="100dp"
    32             android:background="@color/white"/>
    33 
    34         <View
    35             android:layout_width="match_parent"
    36             android:layout_height="300dp"
    37             android:background="@color/purple"/>
    38 
    39         <View
    40             android:layout_width="match_parent"
    41             android:layout_height="100dp"
    42             android:background="@color/yellow"/>
    43 
    44     </LinearLayout>
    45 </com.smyhvae.stickyscrollview.StickyScrollView>
    复制代码

    上方代码中,我们引入了StickyScrollView这个module作为library,核心代码是第23行,我们为红色的View添加了android:tag="sticky"这个标签,于是它将具有悬停的属性。然后直接运行程序就行了。

    这一段的整个工程文件如下:(大家可以导入到自己的AS中运行看一下效果)

    链接:http://pan.baidu.com/s/1eQ8epsY

    密码:k9i1 

    五、删除某个module:

    f919a74d-44a6-4f4e-aef5-c374e559a6c3

    上图中,如果我想删掉StickyScrollView这个module,该怎么办呢?办法是:选中StickyScrollView这个module,并点击右键,发现没有delete选项,没有关系,我们选择上图中红框部分的"Open module Settings"选项,弹出如下界面:

    c9ab4955-d395-491e-8bc0-09f41a4bd107

    上图中,点击箭头处的减号,就可以删掉了。同时我们要去掉app这个module对它的依赖:

    d99b2f1b-57e3-49fa-9d53-e713b59cf7b3

    然后会发现,StickyScrollView这个module的图标消失了:

    36245206-1846-4478-b328-1aad1a266b68

    上图中,现在右键它,就可以delete掉了,而且是从硬盘上直接delete掉:

    44652c52-829c-4e4e-9986-bfddf1b4b656

    六、删除文件的小技巧:(安全删除)

    如果我们想删掉某个文件,可以直接右键,然后delete,但是Android Studio有一个更人性化的体验。比如我想删掉布局文件时:

    76d579ef-2a53-44c9-b67f-8bea5180790f

    上图中,点击delete进行删除, 弹出如下界面:

    c9f2dc29-d295-4c04-8585-87acbe9a984d

    上图中,如果将红框部分打钩,然后点击OK,软件则会提示你,有哪些地方用到了这个文件:

    f3af32af-9e7b-4418-ba12-6f49a5c3947d

    上图显示,有一个地方用到了这个文件,点击上图中的"View usages",就可以看到详细的情况了:

    dc5626ef-3d87-46c7-94f8-a87c9f91a46c

    如果你执意要删除,单击上图中的箭头位置即可,怎么样?用户体验还不错吧?

    怎么?还不满意啊?那我明天继续战斗,敬请期待~~~

    备注:

    本人的第四段中,通过新建一个module作为library,将StickyScrollViewItems这个Library引用进来了。整个工程文件在第四段的末尾也给出了下载链接,其中的gradle文件代码如下:(gradle将在下一篇文章中讲到)

    application的build.gradle:

    复制代码
     1 // Top-level build file where you can add configuration options common to all sub-projects/modules.
     2 
     3 buildscript {
     4     repositories {
     5         jcenter()
     6     }
     7     dependencies {
     8         classpath 'com.android.tools.build:gradle:1.1.0'
     9 
    10         // NOTE: Do not place your application dependencies here; they belong
    11         // in the individual module build.gradle files
    12     }
    13 }
    14 
    15 allprojects {
    16     repositories {
    17         jcenter()
    18     }
    19 }
    复制代码

    app的build.gradle:

    复制代码
     1 apply plugin: 'com.android.application'
     2 
     3 android {
     4     compileSdkVersion 19
     5     buildToolsVersion "21.1.1"
     6 
     7     defaultConfig {
     8         applicationId "com.smyhvae.helloworld"
     9         minSdkVersion 14
    10         targetSdkVersion 19
    11         versionCode 1
    12         versionName "1.0"
    13     }
    14     buildTypes {
    15         release {
    16             minifyEnabled false
    17             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    18         }
    19     }
    20 }
    21 
    22 dependencies {
    23     compile fileTree(dir: 'libs', include: ['*.jar'])
    24     compile project(':stickyscrollview')
    25 }
    复制代码

    library这个module的build.gradle:

    复制代码
     1 apply plugin: 'com.android.library'
     2 
     3 android {
     4     compileSdkVersion 19
     5     buildToolsVersion "21.1.1"
     6 
     7     defaultConfig {
     8         minSdkVersion 14
     9         targetSdkVersion 19
    10         versionCode 1
    11         versionName "1.0"
    12     }
    13     buildTypes {
    14         release {
    15             minifyEnabled false
    16             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    17         }
    18     }
    19 }
    20 
    21 dependencies {
    22     compile fileTree(dir: 'libs', include: ['*.jar'])
    23 }
    复制代码

    我的公众号

    想学习代码之外的软技能?不妨关注我的微信公众号(生命团队id:vitateam)。

    扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:

  • 相关阅读:
    Python环境搭建和开发工具的配置
    教材,教材,国内的教材你为何如此不堪入目?码农,码农,你到底该如何脱离码农?
    从一个新手容易混淆的例子简单分析C语言中函数调用过程
    E3: PS4/PC 莎木3 众筹200万美元 9小时内达成
    [原] blade中C++ singleton的实现
    [百度空间] [转] 四元数(Quaternions)
    [百度空间] [原]DLL导出实例化的模板类
    [百度空间] [转]DLL地狱及其解决方案
    [百度空间] [转+原]虚析构函数
    [百度空间] [转]程序员趣味读物:谈谈Unicode编码
  • 原文地址:https://www.cnblogs.com/westsoft/p/8443578.html
Copyright © 2020-2023  润新知