4.5布局

有界面的应用程序,必须首先得布局好。而通常5种布局:线程LinearLayout、相对RelativeLayout、表格TableLayout、针对FrameLayout、绝对AbsoluteLayout。而各种布局中各控件元素都具有一些通用的属性如:

android:text:控制文本,可国际化到strings.xml文件中。

android:inputType:输入内容的类型,可以为textMultiLinephone、textPersonName、textPassword、textEmailAddress等等值。

android:singleLine:指定是否为单行true|false,默认是多行即false。

android:layout_gravity:指定排序位置,可取值:left、right、center等等。

android:hint:用于EditText等控件中,指提示用户输入内容,当用户光标点击入此框中,提示内容消失。

android:id指定此控件的id,以便在java文件中,用可通过findViewById拿到此控件对象进行操作。

android:paddingLeft:相关的padding内边距多少dp等,与css中很相似

android:layout_marginLeft:相关的margin外边距多少dp等,与css中很相似

android:onClick:此控件单击事件触发时,调用某个方法。属性的值为方法的名称。用户的自定义Activity中必须存在此方法名的方法。

android:ellipsize="marquee"单独的ellipsizestartend等可实现文本内容很多时,在前面出现三个点,后面三个点。

android:marqueeRepeatLimit="marquee_forever"ellipsizemarqueeRepeatLimit结合用可实现跑马灯形式。

ØLinearLayout线性布局)

Ÿandroid-sdk-windows/docs/guide/topics/ui/layout-objects.html#linearlayout

整个应用的布局是以线性的摆放来排列着。横着或坚着。布局可以嵌套即可以<LinearLayout...><LinearLayout...>...</....>这样的形式。


ØRelativeLayout(相对布局)

Ÿandroid-sdk-windows/docs/guide/topics/ui/layout-objects.html#relativelayout

注意需要应用一些android:layout_toRightOfandroid:layout_toLeftOfandroid:layout_belowandroid:layout_above为某一个控件的id(即相对另一个控件的左、右等)android:layout_alignParentRighttrue|false等等。


ØTableLayout(表格布局)

android-sdk-windows/docs/guide/topics/ui/layout-objects.html#tablelayout

<TableLayout....>根标签中,需要<TableRow>标签。在TableRow标签下,可以有TextViewEditViewButton等控件对象。


ØFrameLayout(帧布局)

android-sdk-windows/docs/guide/topics/ui/layout-objects.html#framelayout

帧式布局中,各控件是相互层叠着。即像一秒电视动画有25张图片组成一样,下图示例中就有两个图片,一个是变形金刚图片的ImageView在上方。下方有个播放的图片ImageViewAndroid系统会根据帧式布局特点,让播放的图片放在变形金刚的图片上方。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);


ØAbsoluteLayout绝对布局)

android-sdk-windows/docs/guide/topics/ui/layout-objects.html#tablelayout

<AbsoluteLayout....>根标签中,各TextViewEditViewButton等控件对象都是直接指定xy坐标的如android:layout_x="188dp"android:layout_y="221dp"。在Eclipse中直接拖放控件都是绝对absolute布局的。

4.6Android中的Junit

Ø项目中添加测试类

Ÿ在AndroidManifest.xml清单文件中添加配置

<instrumentationandroid:targetPackage="cn.test.junit"android:name="android.test.InstrumentationTestRunner"/>--放在<manifest标签的根下

<uses-libraryandroid:name="android.test.runner"/>--放在<application>标签下

注意:targetPackage可以为自身项目,那么targetPackage的值与<Manifest根标签中的package值一致就可以了。若想测试其它的工程项目,就必须创建一个“AndroidTestProject工程”,而不能为普通的AndroidProject因普通的AndroidProject只能测试自身,targetPackage的值与<Manifest根标签中的package值必须一致才能测试自身。

Ÿ定义一个类继承AndroidTestCase,定义测试方法

注意:测试类必须继承AndroidTestCase类,且方法最好为testXXX方法。这样在点类名批量测试全部方法时,可一起测试。否则将会在批量运行是运行不到非testXXX方法。当然单独的点非testXXX方法是可以运行的。

Ÿ在Outline视图下右键点击测试方法–Runas–AndroidJunitTest。即可跑出来运行了。

Ø创建测试项目

Ÿ创建AndroidTestProject

Ÿ输入项目名,选择一个已存在的工程,Eclipse可以自动配置Junit环境

注意用测试工程时,上面的<instrumentation>标签中的android:targetPackage="cn.test.junit"...属性的值,必须是测试目标的工程。

运行测试工程时,会将目标工程一起重新安装到手机上。(所以若目标工程是内容提供者,且又有观察者的话,则那个观察者观察不到。)

4.7日志信息

Ÿ在LogCat视图中可以看到程序的日志信息,也可以在程序中输出信息到LogCat。如在java类中,有System.out.println(...)Log.i(...)等代码。

Ÿ程序中可以使用Log类来输出信息

Log.v("verbose_file","保存成功");//-------------对应verbose级别

Log.d("debug_file","保存成功");//-------------对应debug级别

Log.i("info_file","保存成功");//--------对应info级别

Log.w("warn_file","保存成功");//--------对应warn级别

Log.e("error_file","保存成功"); //--------对应error级别

ŸSystem.outSystem.err输出的信息也会显示在LogCat中,注意System.out输出信息是Info级别,System.errWarn级别

4.8数据存储与访问方式:

1文件

2SharedPreferences(参数)

3SQLite数据库

4内容提供者(Contentprovider

5网络

更多相关文章

  1. android 双击事件
  2. Android(安卓)异步加载解决方案
  3. Zxing 竖屏切换 android
  4. Android(安卓)实用工具Hierarchy Viewer实战
  5. Android的布局和Intent笔记和常用实例
  6. Android开发进阶之NIO非阻塞包(三)
  7. Android读写文件正确实行方法介绍
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. android开机自启动的后台Service的实现 .
  2. Android获取应用程序的信息
  3. android添加开机声音
  4. Android中的设计模式--建造者模式
  5. Android 打开系统蓝牙设置
  6. android项目源码异步加载远程图片的小例
  7. android 发送短信,彩信,邮件代码
  8. Android自定义属性,format详解
  9. android整合--屏幕旋转触发事件
  10. Android file.createNewFile方法问题总结