Chinaunix首页 | 论坛 | 博客
  • 博客访问: 202207
  • 博文数量: 75
  • 博客积分: 773
  • 博客等级: 军士长
  • 技术积分: 749
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-24 23:52
个人简介

victory for prepared

文章分类

全部博文(75)

文章存档

2018年(8)

2017年(4)

2016年(20)

2015年(12)

2013年(5)

2012年(25)

2011年(1)

我的朋友

分类: Android平台

2015-03-15 12:12:11

今天又有了一点新的收获,写给自己也照亮有缘人。
    写程序断断续续也有七八年的时间了,原来是按照例程抄写,实现功能。有了C++的基础再去学习其他语言当然感觉更加轻松。如果抄写示例程序,编译运行都是没有问题的。出现问题的地方在于,我想在例子的基础上做相应的删减和增加就不是很顺利了。静下来想想,为什么呢?
    想来可能是由于对要删减的模块和整体的联系没有理清,导致删的不够彻底。删除该功能后却有其他模块依然要使用此功能。我是学机械出身,后来主要搞FPGA。在FPGA中每个模块在编译后会有一张关系图。类比于软件就是各个活动(实体)之间的相互调用关系。直观的东西更容易理解,抽象的东西应用的更广泛。如果将app中各个UI之间的关系像FPGA中的模块一样画张图表出来,理解起来各个图标变量图片之间的关系就更容易些了。这些图片想传递的就是他们之间的关系。而那些方法其实就是信息传递的规则。
    具体点,来看看Android Studio 1.0.1是如何组织类(实体的图纸,方法),资源(实体),关系(动作)这些东西的。在app文件夹下有manifests, Java, res三个文件夹。
    manifest文件夹下定义了该程序的架构。
    Java文件夹下的文件描述了app中所有的类。
    res文件夹下分为drawalbe,layout,menu,values四个文件夹。drawalbe放置图片文件。layout是描述界面如何摆放图片文字等资源的。menu下文件描述菜单该怎么摆,长什么样。values存放了layout和menu中描述时使用到的变量或者叫字符串的名字。
    我喜欢自顶而下的设计,显得层次分明,关系明朗。app的最顶端是用户需求,下面是app界面,下面分为界面的构造以及界面的动作,再下面是服务接口为上层提供数据,再往下就不用关心了。
    第一个例子hello world!app界面层:layout+textview。界面实现层:在app/res/layout文件夹下建立描述layout和textview的activity_main.xml文件。实现的方法同时在app/java/unique_id_file/下建立入口类mainactivity,并实现这个界面。那么这个mainactivity如何找到对应的layout呢?通过描述layout的名字,这样两个文件就通过文件名联系了起来,完成了组装。
阅读(540) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~