Android Studio 1.0.2项目实战——从一个APP的开发过程认识Android Studio
Android Studio 1.0.1刚刚发布不久,谷歌紧接着发布了Android Studio 1.0.2版本,和1.0.0一样,是一个Bug修复版本。在上一篇Android Studio 1.0.1 + Genymotion安卓模拟器打造高效安卓开发环境,我们介绍了Android开发环境的搭建,今天先来说一下上一篇中大家问道比较多的问题,然后说一些Android Studio的使用技巧。
1、Genymotion模拟器网络错误
我们顺利的安装完了Genymotion,下载了一个设备,当启动的时候,发现有的人会遇到下面的错误:

看到这个错误,首先不要惊慌,看看说的是什么,大概意思说的是VirtualBox的网络配置错误。下面我们来看一下解决办法:
win7以上的系统,在网络图标单击,打开网络和共享中心,更改适配器设置,如图:

打开后,选择VirtualBox Host-Only Network--属性--双击:Internet 协议版本4(TCP/IPv4)--修改为自动获取IP和DNS 即可解决这个问题。如图:

当然,如果你发现这样做还是解决不了错误的话,可能你的电脑IP是静态的,需要自己手动设置IP。
2、运行项目遇到的错误
我们运行项目,有时候会遇到下面的错误,如图:

这个相信开发过Android的朋友都遇到过,处理办法是重新启动adb.exe.下面我们来看看怎么操作。
win + R,输入cmd,打开windows命令窗口,输入一下命令,如图:

这个命令就是列出网络中占用5037端口的程序,显示的有点多,是吧,其实我们只需要看第一行,就是最后一列不为0的那个。我们看第一行,看到PID为8356的这个程序占用的5037端口,敢私自占用端口,必须要“弄死”它,下面来看看,怎么"弄死"它,如图:

看到成功,已终止PID为8356的进程,说明我们已经成功的"弄死"了私自占用的5037端口的进程,接下来再运行Android项目就不会再出现错误了。
建议先不要启动模拟器,先运行一下,如果没有错误,再启动模拟器,有时候你启动了模拟器,发现有这个错误,处理完后,会识别不了我们的Android模拟器。
下面我们简单说一些Android Studio的使用技巧,希望能够帮助大家快速的上手。首先,新建项目,都差不多,这里就不说了,大家自己新建一个项目就可以了。
1、Android Studio的更新
点击Help菜单,Check for update...,如图:

2、打开和关闭预览分栏
Android Studio最为强大的一点就是界面编辑的实时预览,但是每个人的电脑屏幕分辨率不同,有时候显示预览的话,代码就会显示不全,我们可以选择关闭它:

3、快速管理SDK和模拟器
我们可以再工具栏看到如下内容,具体哪个对应什么,大家可以将鼠标放到上面看一下,我一个一个写出来,大家反而还要去记。

1、自动保存文档
大家使用Android Studio是不是发现文件修改和没有修改过的,都一样了。这是因为,Android Studio自动保存文档,再也不用我们每次编辑完,按Ctrl + S去保存了。
2、自动注册Activity
之前我们用Eclipse开发Android应用,添加一个新的activity后,都要到Manifest.xml里面注册,现在我们添加完新的Activity后,Android Studio会自动为我们注册Activity。
3、一些类似Resharper的功能
使用过Resharper的会发现,Android Studio中有些类似Resharper的快捷键,如Alt + Enter,来解决一些问题,可以自动导包,显示解决方法等。如图:

这个时候我们按下Alt + Enter组合键,就会自动导包。
在大括号后面双击,会选中代码区块,如图:

关于Git版本控制器的一些纠正:

在Android studio中,提交后的文件名会变成白色,而修改未提交的则为浅蓝色,如图,MainActivity是修改过的。
4、打开项目中的文件目录
在Android Studio中,我们可以打开项目文件所在的目录,如图:

选择Show in Explorer就打开文件所在目录了。
当我们编写好代码,测试号应用后,需要在真机环境下测试,这个时候要生成apk,具体步骤如下:
如图,点击Build > Generate Signed APK...菜单,打开配置界面,

我们可以看到以下界面:

这里我配置过了,所以有信息,大家第一次配置的话,点击Create new...,在以下界面填写配置信息保存即可,下次可以打开保存的key,就不需要每次都配置了。

这个配置信息相信开发安卓的都应该比我清楚,我也是一知半解,具体大家可以网上找些资料看看。配置完后,点击Next,点击Finish,然后Android Studio开始生成APK,完成后,会弹出如下窗口:

看到这个,点击Show in Explorer,打开文件夹我们就看到生成的APK了,如图:

至此,一个App就生成了,Android Studio开发一个App的流程大致就是这样了。
如果后面我们更新了App,要发布新的版本,会发现找不到版本号在哪里改?其实,Android Studio把配置放到了Gradle中了,我们打开build.gradle进行修改即可,如图:

一个App的生成和升级更新,版本的修改,都说完了。更多关于Android Studio的内容,大家可以加入到下面的QQ群中,一起交流学习。
作者:雲霏霏
QQ交流群:243633526
博客地址:http://www.cnblogs.com/yunfeifei/
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。
如果大家感觉我的博文对大家有帮助,请推荐支持一把,给我写作的动力。
Android Studio 1.0.2项目实战——从一个APP的开发过程认识Android Studio的更多相关文章
- 【第二版】高仿Android网易云音乐企业级项目实战课程介绍
这是一门付费Android项目课程,我们只做付费课程:同时也感谢大家的支持. 这一节,对本课程做一个简单介绍,以及放一些项目效果图,如果想直接查看项目视频演示,可以直接在腾讯课堂查看[高仿Androi ...
- Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView
Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView 8.0出来很久了,这个新特性已经用了很久了,但是一直没有亲自去试试.这几天新的需求来 ...
- Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)
Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码) 转 https://blog.csdn.net/lhl1124281072/article/details/800 ...
- 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...
原文:手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 本文你将学到什么? 本文将以原理+实战的方式,首先对& ...
- 从0到1实战移动Web App开发
从0到1实战移动Web App开发 教程介绍 从0到1 实战webapp,通过热门的web前端技术实现移动端app应用,先基础.后实战,在讲解的同时引导思考,会抛出自己独特的观点,一行一行写代码讲 ...
- Android项目实战(二十五):Android studio 混淆+打包+验证是否成功
前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} ...
- Atmel Studio 6.0新建项目
使用Atmel Studio 6.0新建一个项目 连接Atmel 开发板与调试板,开发板使用的芯片是ATXMGEA128A1 注意: 以上对于开发板与调试板的连接,需要非常注意连接时线的方向, ...
- 【一】Swift 3.0 新浪微博项目实战 -整体框架搭建
最近要接手swift,所以找了个视频跟着做一下实战项目,在此记录一下过程和心得 框架搭建和目录拆分 关键词:MVVM 架构,桥接文件 桥接文件用于引入OC的头文件,Swift就可以正常使用(宏除外). ...
- Android项目实战(三十九):Android集成Unity3D项目(图文详解)
需求: Unity3D 一般用于做游戏 而且是跨平台的.原本设计是Android 应用端A(原生开发)进行一些业务处理,最后由A 打开Android 应用端B(Unity3D 游戏开发)进行游戏操作. ...
随机推荐
- iOS TableView如何刷新指定的cell或section
指定的section单独刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:indexPath.row]; [tableview relo ...
- dp、px、dpi、ppi
概念: dpi(Dots Per Inch):每英寸上的点数,最初用于衡量打印物上每英寸的点数密度,打印机在一英寸内打多少个点.DPI值越小越不精细. ppi(Pixels Per Inch):每英寸 ...
- tmp
Hello 大家好,这次给大家带来的是Gear VR4代,首先我得感谢下我们的虎友Hide兄弟友情提供Gear给我们测评,感谢 感谢.之前我录的前哨战也说过,这次Gear VR 4代较3代变化并不是很 ...
- response.setHeader()的用法
一秒刷新页面一次 response.setHeader("refresh","1"); 二秒跳到其他页面 response.setHeader("re ...
- linux权限管理
安全上下文:在linux系统中每个进程均以某个用户的身份运行,进程访问资源的权限取决于发起此进程的那个用户的权限 权限应用模型: 1)判断运行此进程的用户是否与被访问的资源的属主相同,如果相同,则运用 ...
- iTunes Connect 开发者上手经验(转)
原文:http://www.cnblogs.com/zhw511006/archive/2013/01/15/2860945.html iOS Developer通常需要用到 developer.ap ...
- web应用程序传递连接字符串给FastReport数据源
public static FastReport.Report fr = new FastReport.Report(); public static FastReport.EnvironmentSe ...
- 使用html2canvas实现网页截图并嵌入到PDF
以前我们只能通过截图工具进行截取图像.这使得在业务生产中,变得越来越不方便.目前的浏览器功能越来越强大,H5也逐渐普及,浏览器也可以实现截图了.这里来聊下之前在工作中用到的html2canvas.这里 ...
- 斯坦福公开课:Statistical Learning中做错的选择题
4.4 R1 In which of the following problems is Case/Control Sampling LEAST likely to make a positive i ...
- 敏捷开发方法-Scrum
为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资 ...