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 游戏开发)进行游戏操作. ...
随机推荐
- mysql Statement violates GTID consistency 的坑
今天项目迁移,重新换了一个数据库版本,然后问题来了,原本运行正常的程序迁移过来之后就是不能正常运行,后台报错如下: update tbl_user_info set -- 强制下架 mv_count ...
- 一个login
login 1.获取提交表单,保存到变量中.2.判断用户密码是否正确,利用Model类.3.验证用户是否激活.3.判断用户是否记住登录状态,是的话,将其用cookie和session分别保存.没有的话 ...
- freeCodeCamp:Where do I belong
我身在何处? 先给数组排序,然后找到指定的值在数组的位置,最后返回位置对应的索引. 举例:where([1,2,3,4], 1.5) 应该返回 1.因为1.5插入到数组[1,2,3,4]后变成[1,1 ...
- React阶段开发总结
这次独立编写了React页面主要是数据切换.点击不同的按钮,Ajax请求不同的后台数据.数据驱动表格内容的显示.使用React组件开发. 开发中获得下面的心得: 1.后台给的地址早一点添加路由(写好数 ...
- 其它数据类型和Json的转化
1.ResultSet→Json public static String resultSetToJson(ResultSet rs) throws SQLException,JSONExceptio ...
- 如何更改OS系统下截图生成图片格式 jpg pdf
Mac系统下快速截屏的快捷键: 1.截全屏: shift + command + 3 2.选取截屏 shift + command + 4 生成的图片,系统默认格式忘了,反正不好用,用下面命令更改生成 ...
- mysql text字段判断是否为空
mysql text字段判断是否为空 mysql text字段为空select * from `tableName` where `textField` is null or `textField` ...
- spring aop一些名词的理解
最近想深入了解spring,已经使用spring一段时间,但是对spring的理解一直很肤浅,先把几个常见的名词理解一下. 比如一个ssh架构的电商系统上面有用户模块,商品模块,订单模块,支付模块等, ...
- Ubuntu 16.04 启动错误 "a start job is running for hold until boot process finishes up"
老司机也差点翻船... 升级16.04的时候,将默认启动管理器(default display manager)选为gm3(gnome3)了(应该使用默认的lightgm)如果改成gm3,好像是nvi ...
- 通过json数据进行传递调用
最近在弄andriod的程序,需要调用web服务器上的数据,服务采用C#写的,并部署在iis服务器上.我们可以像.NET那样调用服务那,利用andriod库自带的HttpPost和HttpGet类来调 ...