智能终端开发-Eclipse的工作目录⏹打开Eclipse的时候首先弹出的对话框⏹⏹通过Workspace里面的路径,可以找到Eclipse项目存放之处-Eclipse的导入项目⏹File –> Import –>⏹⏹-Eclipse的输出项目⏹第一种◆File -> Export ->◆⏹第二种◆从Package Explorer 选中项目名-> 单击鼠标右键选择Copy -> 鼠标右键粘贴到其他存放之处◆-Eclipse快捷键⏹Alt + “/”自动匹配符合的关键字-Android中.XML文件首布局属性必须有-标签定义规范⏹打完标签的开头,立即补上结尾⏹布局模式必须以<布局关键字>为开头,</>为结尾◆例<LinearLayout ></LinearLayout>◆例<RelativeLayout ></RelativeLayout>◆例<TableLayout ></TableLayout>⏹独立控件的可以有两种方式结尾◆1.<TextView />◆2.<TextView ></TextView>-黄色的波浪线⏹可以运行,但android或者其他程序语言不推荐这么写代码⏹在.java源程序中变量或者方法未使用-红色的波浪线⏹代码错误提示,需要更改正确-main.xml与String.xml⏹String.xml 键值对◆一:国际化,只需要提供一个string.xml文件,把里面的汉字信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.xml文件,这时手机界面就会显示出英文。
这样做国际化非常的方便。
◆二:为了减少应用的体积,降低数据的冗余。
假设在应用中要使用"我们一直在努力"这段文字10000次,如果在每次使用时直接写上这几个字,这样下来程序中将有70000个字,这70000个字占136KB的空间。
而由于手机的资源有限,其CPU的处理能力及内存是非常有限的, 136KB 对手机内存来说是个不小的空间,我们在做手机应用是一定要记住“能省内存就省内存”。
而如果将这几个字定义在string.xml中,在每次使用到的地方通过Resources类来引用该文字,只占用到了14B,因此对降低应用体积效果是非常有效地.当然我们可能在开发时可能并不会用到这么多的文字信息,但是,作为手机应用开发人员,我们一定要养成良好的编程习惯。
◆获取string.xml文件里面的值有几个不同的地方● 1.在AndroidManifest.xml与layout等xml文件里:⏹android:text="@string/resource_name"● 2.在activity里:●方法一:⏹this.getString(R.string.resource_name);⏹方法二:⏹getResources().getString(R.string.resource_name);● 3.在其他java文件(必须有Context或application)⏹方法一:⏹context.getString(R.string.resource_name);⏹方法二:⏹application.getString(R.string.resource_name);◆下图介绍几种常见的资源XML文件-布局模式⏹LinearLayout 线性布局⏹Android: orientation=””定义控件布局的方向[ˌɔ:rienˌteiʃən]◆Vertical [ˌvə:tikəl] 垂直方向◆Horizontal [ˌhɔriˌzɔntəl] 水平方向⏹Android:layout_width=””指定控件的宽⏹Android:layout_height=””指定空间的高◆Fill_parent◆Wrap_content◆Match_parent●在android2.2之后fill_parent改成match_parent⏹Android:layout_weight=””权重◆值越小优先级越大●在layout_width设置为fill_parent的时候,layout_weight所代表的是你的控件要优先尽可能的大,但这个大是有限度的,即fill_parent●在layout_width设置为wrap_content的时候,layout_weight所代表的是你的控件要优先尽可能的小,但这个小是有限度的,即wrap_content⏹TableLayout 表格布局◆内容介绍●TableLayout,表格布局采用行列形式管理UI组件,TableLayout不需要明确地声明有多少行和列,而是通过添加TableRow、其它组件来控制表格的行数、列数。
每次向TableLayout添加一个TableRow,就是在向表格添加一行,TableRow也是容器,可以向TableRow中添加组件,每添加一个组件,即是添加一列。
如果直接向TableLayout添加组件,则认为这个组件占用一行。
表格布局中列的宽度即是每一列中最宽的组件的宽度。
◆属性●android:collapseColumns [kəˈlæpsˈkɔləm]隐藏指定列●android:str etchColumns [stretʃˈkɔləm]自动伸展指定列●android:shrinkColumns [ʃriŋkˈkɔləm]自动收缩指定列●●<TableRow > 行⏹里面的控件数决定列数◆控件的width默认为fill_parent,可更改控件的height默认为wrap_content,可以更改◆Android:layout_colunmn=“1”将控件放在标号为1的列上,标号是从0开始的◆Android:layout_span 表示一个控件占几列空间●</TableRow>◆在tableLayout里面不可以添加另外的布局模式- 1.Main.xml添加按钮控件- 2.如何从.java中获取Button的资源- 3.如何在.java中添加按钮的监听事件-RelativeLayout 相对布局⏹一句话概括◆一个控件的布局位置,它决定于它和周围控件的关系⏹相对布局与其他布局的区别◆线性布局(LinearLayout):children排列成一行多列或者一列多行的形式,应该是应用程序中最常用的布局方式,它提供了控件水平或者垂直排列的模型,同时我们可通过设置子控件的weight布局参数控制各个控件在布局中的相对大小。
◆TableLayout:children按照行列的排序,类似于html的table;模型以行列的形式管理子控件,每一行为一个TableRow的对象,也可为一个View的对象。
TableRow可添加子控件,每添加一个子控件为一列。
◆相对布局(RelativeLayout):children的位置是与它周围的控件相关的或者和他们的parent位置相关,参照控件可以是父控件,也可以是其他子控件,但被参照的控件必须要在参照它的控件之前定义。
相对布局模型所涉及的属性设置比较多,但并不复杂。
⏹常见属性-FrameLayout 单帧布局⏹ViewGroup将它的子试图元素都放在布局的左上角,并覆盖在前一子控件的上层。
如果绝对布局不指定坐标位置,子试图将会类似于单帧布局那样层叠放置。
-AbsoluteLayout 绝对布局⏹以坐标的方式定位子控件。
⏹设置元素的位置的属性是:-资源文件的引用⏹字符串资源的引用res/values/strings.xml中的资源引用有3中形式:①在.xml中引用:@string/string_name②在.java代码中应用:R.string.string_name③在代码中获取:getResources().getString(R.string.string_name) 或getResources().getText(R.string.string_name)⏹图片资源的引用res/drawable中的资源引用有3中形式:①在.xml中引用:@drawable/image_name②在.java代码中应用:R.drawable.image_name③在代码中获取图片:getResources().getDrawable(R.string.drawable_name)或getResources().openRawResource(R.string.drawable _name)⏹颜色资源的引用res/values/colors.xml中的资源引用有3种形式:①在.xml中引用:@color/color_name②在.java代码中应用:R.string.color_name③在代码中获取:getResources().getColor(R.string.color_name)⏹系统资源的引用Android平台自身提供了一些资源文件,如:①字符串:android.R.String.httpErrorBadUrl或@android:string/httpErrorBadUrl②颜色:android.R.darker_gray或android.graphics.Color.darker或@android:color/darker_gray③图片:android.R.drawable.ic_media_pause或@android:drawable/ic_media_pause-Intent与Activity⏹Activity概述⏹创建Activity⏹IntentIntent是一种运行时绑定(runtime binding)⏹如何利用Intent进行界面跳转⏹如何利用Intent进行值的传递-类的定义-类的继承⏹Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
-类的接口Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。
前者叫做“Java接口”,后者叫做“接口”。