由于项目要求參与无线端开发,本着技多不压身的指导精神,决定依旧从web转攻client!

由于之前自己玩过两个月android(实际上仅仅是做了两个有失水准的demo级app),本来以为这次再来学习将游刃有余。 没想到主管仅仅给了足足一,个,礼,拜,的学习时间,第二周直接參与业务! 好吧,android五天乐begin!

1部署Android开发环境

1     java环境

2    下载    Android Studio

3    配置   andorid环境变量

开发android应用能够选择 使用AVD(android virtual device)。只是依照之前的使用体验这个东西真的很卡,所以准备好牺牲自己的手机作为调试设备了。

2Android项目文件夹结构

android项目的文件夹结构例如以下,这个是新建andorid项目后自己主动生成的结构,仅包含一些必须的文件

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTFRpYW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

1 activity_main 文件是默认的 首页布局文件,能够通过对UI控件进行拖拽来直接生成xml布局文件。也能够直接编写xml代码来生成控件。



                                                                 

2 values文件

改目录下存放的strings.xml为字符串资源,这里定义的字符串能够再布局文件里引用。例如以下所看到的,假设在xml中定义android:text="@string/question_text" ,则text的显示值为Hello world! . 在这里能够对

字符串型变量进行统一的管理。



3 MainActivity

上面定义的组件能够再MainActivity中引用。  在布局文件里通过声明 Android:id(@+id/myid)的方式将组件的id加入到R文件里,有了id之后能够通过findViewById方法进行引用,例如以下所看到的:



      在MainActivity中声明的Button对象 mTrueButton。通过findViewById方法与布局中的button“绑定”在一起,进而能够通过设置监听器来捕捉button的事件,并作出回应。

3 开发与打包

通过run选项首先选择执行androidproject的设备。

假设没有可用设备能够选择新建一个虚拟设备(AVD)。

设备开启后打开锁屏就进入了project主页。 

假设希望将应用打包公布,则须要将project打成签名的apk文件,依据操作一步步完毕就可以

 

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTFRpYW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTFRpYW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

4 Demo

自己定义类: TrueFalse, 其包括一个字符串变量。

在MainActivity中建立TrueFalse的数组对象(Model), 通过定义button和监听器来定制响应时间(control),并通过绑定的控件(view)来监听并展示。这就构成了一个简单的MVC框架。 

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTFRpYW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

这个demo的功能非常easy,通过点击NEXTbutton来触发OnClick事件。在事件的监听器中依据变量mCurrentIndex来通过获取不同的TrueFalse对象来改变text的值。 这里的MVC框架例如以下: 

MVC模式的优点有:

1 封装好的model使代码更易于理解,在开发Android应用的过程中能够依照一个个类去思考设计问题,而不是变量或方法

2 对于View层的改动将不依赖于Model中的业务逻辑。 Model层与View层是不会直接发生联系的,也就是说layout部分和java代码部分全然能够单独开发。两者都开发完毕后仅仅须要在control层建立

联系就能够了 。类似于展示分离。

3 有利于代码复用。


5 Android项目debug

使用Android Studio来开发Android项目能够通过三种方式来修正project中的异常问题

1 记录栈跟踪日志

简而言之,就是在方法中加入日志输出语句。借助栈跟踪日志。能够非常easy看出方法在哪些地方被调用。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTFRpYW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

 

2   另外一种方法就是我们平时使用eclipse调试java代码的方法:通过设置断点来分步debug 。

Android Studio的快捷键跟eclipse 有一些差异:

F8 运行下一行,相当于eclipse中F6

F7进入方法。相当于eclipseF5

shift+F8 跳出循环或通到下一个断点。相当于eclipse的F7和F8 。

3  第三种方法是使用一种Android应用特有的检查代码工具-》Lint ,其是一种Android代码静态分析器, 其无需代码执行就能够检查代码错误。

调用方式为在Android Studio中右键项目,选择Analyze中的inspect code。然后选择检查的范围。

检查结果例如以下图所看到的。Lint能够找出一些编译器无法发现的问题。如使用错误的类型ID导致的类型转换错误等。例如以下图所看到的。 程序代码的静态错误会与错误类型与介绍一起罗列出来: 

Android五天乐(第一天)开发环境的部署,开发流程与调试的更多相关文章

  1. Spring Boot入门系列(十五)Spring Boot 开发环境热部署

    在实际的项目开发过中,当我们修改了某个java类文件时,需要手动重新编译.然后重新启动程序的,整个过程比较麻烦,特别是项目启动慢的时候,更是影响开发效率.其实Spring Boot的项目碰到这种情况, ...

  2. 突破瓶颈,对比学习:Eclipse开发环境与VS开发环境的调试对比

    曾经看了不少Java和Android的相关知识,不过光看不练易失忆,所以,还是写点文字,除了加强下记忆,也证明我曾经学过~~~ 突破瓶颈,对比学习: 学习一门语言,开发环境很重,对于VS的方形线条开发 ...

  3. windows/Linux下设置ASP.Net Core开发环境并部署应用

    10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...

  4. django开发环境搭建(参考流程)

    django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开 ...

  5. Linux 桌面玩家指南:18. 使用 Docker 隔离自己的开发环境和部署环境

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  6. Laravel本地环境搭建:Homestead开发环境的部署

    Laravel框架在php开发过程是不断进行优化的,当然也包括了本地环境的开发,下面我们就来具体看看laravel框架中的Homestead 开发环境的部署内容. 首先白以下几个概念 VirtualB ...

  7. 在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏

    一.在Android平台下搭建PhoneGap开发环境具体怎么搭建我这里就不详细说了,如有需要我后面再讲 . PhoneGap 官方地址有详细说明:http://www.phonegap.com. 在 ...

  8. 【原创】windows下搭建vue开发环境+IIS部署

    [原创]win10下搭建vue开发环境  如果要转发,请注明原作者和原产地,谢谢! 特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图:     详细的安 ...

  9. windows下搭建vue开发环境+IIS部署

    原创]win10下搭建vue开发环境  https://www.cnblogs.com/ixxonline/p/6007885.html 特别说明:下面任何命令都是在windows的命令行工具下进行输 ...

随机推荐

  1. [转] Log4j 配置 的webAppRootKey参数问题

    在tomcat下部署两个或多个项目时,web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为“webapp.root”,如下:<!-- 应用路径 --> < ...

  2. 8VC Venture Cup 2016 - Final Round (Div. 2 Edition) A. Orchestra 水题

    A. Orchestra 题目连接: http://www.codeforces.com/contest/635/problem/A Description Paul is at the orches ...

  3. iOS \U6b3e转字符串

    -(NSString *)replaceUnicode:(NSString *)unicodeStr { NSString *tempStr1 = [unicodeStr stringByReplac ...

  4. Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题

    别试了,这个问题无法解决,已经使用VMware安装了一层虚拟机,然后在里面再安装KVM,网络层次已经变了,即使配置了网桥同样无法上网. 可是这样试一下,不一定成功:把VMware的虚拟机绑定另一张物理 ...

  5. [EF]使用EF简单增删改查

    目录 认识EF 添加数据 删除数据 修改数据 查询数据 总结 认识EF ADO.NET Entity Framework 是微软以ADO.NET为基础所发展出来的对象关系对伊(O/R Mapping) ...

  6. MFC进度条刷新处理

    m_p.SetRange(0,1000); m_p.SetStep(1); for (int i=0;i<1001;i++) { m_p.SetPos(i); Sleep(10); MSG ms ...

  7. 客户端实现负载均衡:springCloud Ribbon的使用

    Netfilx发布的负载均衡器,是一个基于http.tcp的客户端负载均衡工具,具有控制http.tcp客户端的行为,为ribbon配置服务提供者的地址后,ribbon就 可以经过springClou ...

  8. ylbtech-LanguageSamples-Indexers(索引器)

    ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Indexers(索引器) 1.A,示例(Sample) 返回顶部 “索引器”示例 本示 ...

  9. iOS:触摸控件UITouch、事件类UIEvent

    UITouch:触摸控件类   UIEvent:事件类 ❤️❤️❤️UITouch的介绍❤️❤️❤️ 一.触摸状态类型枚举 typedef NS_ENUM(NSInteger, UITouchPhas ...

  10. CentOS7 下安装 Lnmp 架设 Laravel

    最近在hostos上买了个香港的 vps, 装的 centos7, 在架设了 pptp vpn, 效果还行,就想顺便架设个 laravel 看看.下面是架设的过程.准备工作 更新 yum 源,自带的源 ...