Android下的常用单位
- px: 电脑 电视上的分辨率的尺寸单位
- dp: 与平时所说的dpi是一样的。(设备独立像素
- sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。
- 目前市场上所有主流的机型被划分为5种类型(120dpi的基本不再支持)
DPI:dots per inch,一英寸的像素数量(一英寸有多少个点) dp与px换算公式:
px=dp * (densityDpi/160). dp=px*160/densityDpi
* 屏幕的dpi=高和宽的平方和,在开方,再除以屏幕对角线
LogCat的使用
日志的等级划分
Lpg.v("abc","verbose"); Lpg.v("abc","debug"); Lpg.v("abc","info"); Lpg.v("abc","warn"); Lpg.v("abc","error"); 1. 当应用程序直接报错的时候,可以找到error等级的日志,然后查看cause by附近的日志。 2. 当应用运行时不报错,但与预期的效果不一致,可以查看warn日志,比如有的功能缺少了使用权限。
测试概念
1) 根据是否知道源代码:
白盒测试: 知道源代码 根据源代码来进行测试 (程序员 高级测试人员) 黑盒测试: 不知道源代码 知道产品的功能 根据功能去测试 (大部分小型公司的做法)
2) 根据测试的粒度(精细程度):
方法测试: 写一个测试方法 测试某个类里面的方法 单元测试:可以测试某一个方法 测试多个方法 (安卓下的单元测试 测试Dao层) 集成测试: 软件除了有前端 还有后台 如果对软件的某一模块的前端 后台做统一的测试 系统测试: 对同一产品下的多个软件进行统一测试 多个软件之间存在一定的关系.
3)测试的暴力程度:
压力测试: pressure test 单一的时间内 进行频繁的测试. 冒烟测试: smoke test 一段时间内的重复测试 android的monkey test
Android下的单元测试
Android JunitTest开发步骤:
1. 写一个业务方法 2. 创建一个类继承AndroidTestCase 3. 编写测试代码(记住抛异常)。 assertEquals(期待的结果,真实的结果) 4. 配置AndroidMenifest.xml清单文件。 5. 运行测试代码,对着方法名右键,run as android junit test。 <!-- 第三步 配置权限 --> <uses-library android:name="android.test.runner" /> <!-- android:targetPackage 需要测试的包 一般是应用的包名 --> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.m520it.test"/> 6. 根据红色或者绿色判断错对。
Android下的数据读写
如何在手机上保存数据:
1. android下应用程序的路径和javase不同,直接保存在根目录下会报错 2. 直接保存文件到系统根目录下的异常 FileNotFoundException 3. 一般保存文件到哪里? * 保存到/data/data/应用的包名/files目录 数据选型:一般保存的是重要的信息 用户信息 应用的配置 手机如何清除应用保存的数据:设置->应用程序->应用详情->clear data (删除cache目录 删除files目录 ) * 保存到/data/data/应用的包名/cache目录: 数据选型: 一般可以用来缓存不重要的数据 保存图片 手机如何清除应用保存的数据:设置->应用程序->应用详情->clear cache (删除cache目录下的文件 )
手机存储目录的划分
1:手机内部存储 Environment.getDataDirectory(); --> /data/..
file目录 cache目录 容量有限,价格比较贵,访问速度快
创建的文件在手机内部存储空间,默认的权限全部私有,只有自己的应用程序可以访问。别的应用程序不可以访问
实验:模拟一个黑客程序访问我们的QQ保存信息
2:手机外部存储 Environment.getExternalStorageDirectory(); --> /mnt/sdcard/..
sd卡(手机常见插拔的容量卡) 容量大,可以更换,价格便宜。
(外部存储)SD卡的读写操作
-
- 将文件写入到SD卡上 首先要判断SD卡是否存在
2 读写SD卡是敏感的行为 需要用户同意 所以需要使用”使用权限”
解决方案:找到AndroidMenifest.xml文件,在<application />后面添加使用权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
内部存储操作(访问模式)
* 在创建文件的时候,就加入访问权限
openFileOutput("文件名",“访问模式”);//openFileInput()读进来
MODE_WORLD_READABLE 别的应用程序可以读取你的文件
MODE_WORLD_WRITEABLE 别的应用程序可以写入你的文件
MODE_WORLD_READABLE + MODE_WORLD_WRITEABLE 别的应用程序可以对你的文件读写
SharePreference的使用
以键值对的形式保存为XMl文件
获取 SharedPreference sp= getSharedPreference("文件名","访问权限") 添加值 sp.edit().putString("属性名",属性值) 提交事务sp.edit().commit(); 获取数据 sp.getString(属性名,属性值)