4.5布局
有界面的应用程序,必须首先得布局好。而通常5种布局:线程LinearLayout、相对RelativeLayout、表格TableLayout、针对FrameLayout、绝对AbsoluteLayout。而各种布局中各控件元素都具有一些通用的属性如:
android:text:控制文本,可国际化到strings.xml文件中。
android:inputType:输入内容的类型,可以为textMultiLine、phone、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"单独的ellipsize为start、end等可实现文本内容很多时,在前面出现三个点,后面三个点。
android:marqueeRepeatLimit="marquee_forever"ellipsize与marqueeRepeatLimit结合用可实现跑马灯形式。
Ø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_toRightOf、android:layout_toLeftOf、android:layout_below、android:layout_above为某一个控件的id(即相对另一个控件的左、右等)。android:layout_alignParentRight为true|false等等。
ØTableLayout(表格布局)
android-sdk-windows/docs/guide/topics/ui/layout-objects.html#tablelayout
在<TableLayout....>根标签中,需要<TableRow>标签。在TableRow标签下,可以有TextView或EditView、Button等控件对象。
ØFrameLayout(帧布局)
android-sdk-windows/docs/guide/topics/ui/layout-objects.html#framelayout
帧式布局中,各控件是相互层叠着。即像一秒电视动画有25张图片组成一样,下图示例中就有两个图片,一个是变形金刚图片的ImageView在上方。下方有个播放的图片ImageView。Android系统会根据帧式布局特点,让播放的图片放在变形金刚的图片上方。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
ØAbsoluteLayout(绝对布局)
android-sdk-windows/docs/guide/topics/ui/layout-objects.html#tablelayout
在<AbsoluteLayout....>根标签中,各TextView或EditView、Button等控件对象都是直接指定x、y坐标的如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.out和System.err输出的信息也会显示在LogCat中,注意System.out输出信息是Info级别,System.err是Warn级别
4.8数据存储与访问方式:
1、文件
2、SharedPreferences(参数)
3、SQLite数据库
4、内容提供者(Contentprovider)
5、网络
分享到:
相关推荐
3、数据存储与访问 主要介绍存储文件到外部存储器和内部存储器,利用系统提供的API获取路径时,需要精准的掌握他们的目录层级。在将数据保存到SDCard时,需要判断剩余存储空间。 SharedPreferences存储对于简单的...
Junit入门实验Junit入门实验Junit入门实验Junit入门实验Junit入门实验Junit入门实验Junit入门实验Junit入门实验Junit入门实验Junit入门实验Junit入门实验
Debug as android Junit Test 4.Logcat就能看到测试输出 AndroidManifest.xml导入(已做好) 1. <!-- Android JUnit配置 --> <uses-library android:name="android.test.runner" /> 2. targetPackage与上面...
junit4 快速入门 比较简单易学,欢迎前来学习
一个Gradle插件,允许在使用AndroidGradlePlugin3.2.0或更高版本的Android环境中执行JUnit5测试。
Android下使用JUnitTest用例,可以参见博客:http://www.cnblogs.com/plokmju/p/Android_JUnit.html
JUnit4
android-junit-report jar包及源码
Android Studio JUnit单元测试
自动化单元测试可以做许多的事,并帮你节省时间。它也可以被用作快速检验新建工程或进行冒烟测试。始终,单元测试是作为...Android SDK支持JUnit的自动化单元测试。本教程假设你已熟悉Android和JUnit在Eclipse的使用。
JUnit4入门教程
android studio junit测试 activity 对应文章地址 http://blog.csdn.net/qq_28478281/article/details/52891347
AndroidJUnit:AndroidJUnit4,Mockito e Robolectric
android-junit5 一个Gradle插件,允许使用Android Gradle Plugin 3.5.0或更高版本在Android环境中执行测试。 如何? 该插件为项目的每个构建变体配置单元测试任务,以在JUnit Platform上运行。 此外,它附加到...
android-junit android敏捷开发TDD的基础知识。
android junit 例子代码,自学小例子。如果不能下来可以直接联系我
我们曾经和大家探讨过全面剖析JavaME单元测试理念,其实在Android上实现JUnit单元测试也不是很困难,主要是在配置文件和测试环境上将花费很长时间,下面从四步简单讲一下在Android上实 我们曾经和大家探讨过全面...
Junit入门练习代码。