由于项目要求參与无线端开发,本着技多不压身的指导精神,决定依旧从web转攻client!
由于之前自己玩过两个月android(实际上仅仅是做了两个有失水准的demo级app),本来以为这次再来学习将游刃有余。 没想到主管仅仅给了足足一,个,礼,拜,的学习时间,第二周直接參与业务! 好吧,android五天乐begin!
1部署Android开发环境
1 java环境
2 下载 Android Studio
3 配置 andorid环境变量
开发android应用能够选择 使用AVD(android virtual device)。只是依照之前的使用体验这个东西真的很卡,所以准备好牺牲自己的手机作为调试设备了。
2Android项目文件夹结构
android项目的文件夹结构例如以下,这个是新建andorid项目后自己主动生成的结构,仅包含一些必须的文件
1 activity_main 文件是默认的 首页布局文件,能够通过对UI控件进行拖拽来直接生成xml布局文件。也能够直接编写xml代码来生成控件。
改目录下存放的strings.xml为字符串资源,这里定义的字符串能够再布局文件里引用。例如以下所看到的,假设在xml中定义android:text="@string/question_text" ,则text的显示值为Hello world! . 在这里能够对
字符串型变量进行统一的管理。
上面定义的组件能够再MainActivity中引用。 在布局文件里通过声明 Android:id(@+id/myid)的方式将组件的id加入到R文件里,有了id之后能够通过findViewById方法进行引用,例如以下所看到的:
在MainActivity中声明的Button对象 mTrueButton。通过findViewById方法与布局中的button“绑定”在一起,进而能够通过设置监听器来捕捉button的事件,并作出回应。
3 开发与打包
通过run选项首先选择执行androidproject的设备。
假设没有可用设备能够选择新建一个虚拟设备(AVD)。
假设希望将应用打包公布,则须要将project打成签名的apk文件,依据操作一步步完毕就可以
4 Demo
自己定义类: TrueFalse, 其包括一个字符串变量。
在MainActivity中建立TrueFalse的数组对象(Model), 通过定义button和监听器来定制响应时间(control),并通过绑定的控件(view)来监听并展示。这就构成了一个简单的MVC框架。
这个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看出方法在哪些地方被调用。
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导致的类型转换错误等。例如以下图所看到的。 程序代码的静态错误会与错误类型与介绍一起罗列出来: