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...>...</....>这样的形式。

Android入门(4) 布局、JUnit、日志与数据存储访问方式_第1张图片

Ø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等等。

Android入门(4) 布局、JUnit、日志与数据存储访问方式_第2张图片

ØTableLayout(表格布局)

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

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

Android入门(4) 布局、JUnit、日志与数据存储访问方式_第3张图片

Ø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);

Android入门(4) 布局、JUnit、日志与数据存储访问方式_第4张图片

Ø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布局的。

Android入门(4) 布局、JUnit、日志与数据存储访问方式_第5张图片

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基础知识12:android自动化测试04—Robotium:实例(上)
  2. Android 控件四 EditText 控件
  3. Android 学习笔记-布局2
  4. Android自动化测试工具——robotium
  5. Android 高级控件(二)
  6. android:layout_alignParent 布局相对于父布局

随机推荐

  1. Android 读取配置文件的内容
  2. android 使用反射机制获取工程中的图片
  3. 文件上传
  4. 编译android内核源码
  5. Android4.4 5.0沉浸式状态栏
  6. SurfaceView + SurfaceHolder 入门
  7. android中Bitmap图像处理 修改图片大小以
  8. android快速旋转切换
  9. ListView 中嵌套 GridView
  10. [Android] 图片JNI(C++\Java)高斯模糊 多