由于项目要求參与无线端开发,本着技多不压身的指导精神,决定依旧从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. 【mybatis】mybatis中放置IN查询拼接sql过长,IN查询进行分批次查询的处理

    需要使用的切割list集合的工具类,链接:https://www.cnblogs.com/sxdcgaq8080/p/9376947.html 处理逻辑,原本的一个LIst,进行切割,循环进行myba ...

  2. Android 花钱 划动手指每天一元钱

    花钱(英文ColorMoney)是由上海花动传媒开发的一款免费的应用程序,现支持Android操作系统.安装花钱app后,用户将获得全新的手机锁屏背景图,其中包含各种有趣.唯美的壁纸类图片,亦包含应用 ...

  3. Spring WebSocket入门(一) 转载

    本文转载自:http://www.jianshu.com/p/60799f1356c5 WebSocket是html5带来的一项重大的特性,使得浏览器与服务端之间真正长连接交互成为了可能,这篇文章会带 ...

  4. jenkins的slave报错误: org.owasp.dependencycheck.data.nvdcve.DatabaseException: Exception retrieving vulnerability for cpe:/a:mysql:mysql:5.1.26

    目前的临时解决办法是通过任务分配到master节点跑

  5. 创建maven web项目无法创建sec目录

    创建maven web项目无法创建sec目录 解决方法:-DarchetypeCatalog=internal

  6. 一步一步在Windows下搭建React Native Android开发环境

    搭建JAVA开发环境 依据操作系统分为x86或x64位的.下载jdk1.8以上的版本号. 本机安装时的java版本号:jdk-8u45-windows-x64.exe 配置JAVA的环境变量 JAVA ...

  7. 本地环境 XAMPP+phpStorm+XDebug+chrome配置和断点调试

    不明白phpStorm+XAMPP+chrome组合的phpStorm配置XDebug的断点调试,很多种网页办法都看过了,可用,但没达预期.QQ群问,一个大牛很奇怪我都配置了怎么还不正确,很干脆地说远 ...

  8. 详解java中的数据结构

    线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.本文试图通过简单的描述,向读者阐述各个类的作用以 ...

  9. DevExpress 中 用 LookUpEdit 控件 代替 ComboBoxEdit 控件来绑定 DataTable

    绑定数据及定义列信息 LookUpEdit lue = lookUpEdit1; DataTable dt = new DataTable(); dt.Columns.Add(new DataColu ...

  10. OpenCV 之 直方图处理

    1  图像直方图 1.1  定义 统计各个像素值,在整幅图像中出现次数的一个分布函数.        1.2  标准化 $\quad p_r(r_k) = \frac{n_k}{MN} \qquad ...