一、 软件的测试分类
1. 白盒测试
2. 黑盒测试
根据测试的粒度不同分类,
单元测试 unit test 测试一个简单的方法 想想,如何测试呢要在Manifest配置中加入知识。
功能测试 functiontest 测试一个功能
集成测试 intergragetion test
压力测试 pressure test
冒烟测试 smoke test N次点击相同的按钮,就是短期内重复调用某一个方法。
要对应用进行单元测试需要在AndroidManifest.xml文件中进行配置,
第一步在
第二步在
android:targetPackage=”cn.itcast.action” /> 测试的方法:新建一个类继承.AndroidTestCase 这个父类,然后就可以写测试的方法 写代码需要注意的问题 1 命名规范,以类型开头_功能,例如EditText下有个name那么久是et_name 2 相对布局如何用/RelativeLayout>这个标签标起来,就能使得两个选择项在一个水平线上 4 如何设置滚动下滑条ScrollView>这标签包围起来就能使N个选项在一个屏幕内 4 如何设置字体大小textSize=12sp 这个可以设置 5如何设置一个按钮在什么地方layout属性可以设置上下左右。 6如何得到自己设定的按钮呢indViewById(刚才自己设置的ID);这个会强转,得到按钮是第一步 7得到按钮之后要干嘛呢击啊,点击事件用button.setOnClickListener(this)方法,然activity实现接口 8.有个文本的工具集TextUtils.isEmpty()方法,可以用来判断传入的name是否为空 9、Toast.makeText(contxt当前对象this,String提示字符,时间,可以是0).show();一定不要忘记了show 这个方法 10、如何得到当前运用的路径用全局对象Context.getFileDir(); 11 安卓中尽量用静态的方法 二、数据存储 安卓上的存储空间 ram,手机的内存,动态的。手机运行的时候才有效,如果手机关机或者没电了,ram的数据会丢失。256M~1G,速度加载的访问比较快。 Rom空间,手机上的微硬盘。512M~8G即使手机断电,数据还能保持在手机上 而不丢失, SD卡,外接的存储设备。存放在mnt 的sdcard上。断电不丢数据。 模拟QQ登陆1。5个小时 保存密码的方法 saveToRom(String filename,String username,String password) 读取文件对象中的密码 能用静态的方法用静态方法,google推荐 三、回显数据 用了两个方法,一个是把读取流转成字节数组 public static byte[] getBytes(InputStreamis) throwsException{ ByteArrayOutputStreambos=newByteArrayOutputStream(); byte [] buffer=new byte[1024]; int len=0; while((len=is.read(buffer))!=-1){ bos.write(buffer,0,len); } is.close(); return bos.toByteArray(); 一个是从rom中读取的方法 public static Map File file=newFile(context.getFilesDir(),filename); FileInputStreamfis=new FileInputStream(file); byte [] result=StreamTools.getBytes(fis); String []infos=new String(result).split(“,”); Map loginInfo.put(“name”, infos[0]); loginInfo.put(“password”, infos[1]); return loginInfo; } 最后一步是在Activity中设置name和passWord的值,从读取到的集合中取出来给他们 四、LogCat使用 Log.i(tag,mes) info 这个tag是当前的类的名称,这个mes是你想指定的信息 Log.e error .log.v=verbose log.w=warn/log.d debug Erro>warn>info>debug>verbose 五、保存文件到缓存目录,到ROM,到SD卡的方法 保存到SD上的目录上时候保存的路径保存为这个:Environment.getExternalStorageDirectory(); 存之前需要判断是否已经加载if(Enviroment.MEDID_MOUNTED.equals(:Environment.getExternalStorageDirectory();))存储否则 Toast.getText().show() Context.openFileOutput(name,mode);这个方法能直接创建出一个文件来,name就是要创建的文件名称,mode就是文件的类型,可读可写,还是都能常用的几个mode context.MODE_WORLD_READABLE 想放到缓存目录下的话,要用congtext.getCaacheDir() 默认情况下,自己要写入或则读取到SD卡上或则当地目录下,是需要权限的。各自的运用程序是不可以相互访问的 六、文件访问权限 重点 默认情况下, A应用程序是不可以访问B应用程序目录下的数据的. 如果A应用程序创建一个文件指定的模式是 readable 这个文件只可以被别的应用程序(B) 读取. 如果A应用程序创建一个文件指定的模式是 writeable 这个文件只可以被别的应用程序(B) 写入. 如果A应用程序创建一个文件指定的模式是 readable+ writeable 这个文件只可以被别的应用程序(B) 读写. 如果A应用程序创建一个文件指定的模式是 append 这个文件是私有的,只能被自己的应用程序操作. append.txt -rw-rw—- available -rw-rw-rw- info.txt 默认 -rw——- readable -rw-rw-r– writeable -rw-rw–w- 110110010 linux 系统下的文件访问模式 第一个占位符: 代表的是文件的类型. – 文件 d 目录 前三个占位符: 代表的是文件所属的用户. r 可读 w 可写 x 可执行. 中间三个占位符: 代表的用户所在的组. 代表自己所在运用程序 最后三个占位符: 代表的所有人其他人,代表其他运用程序 chmod:change mode 七、sharedpreference的使用 存储Andriod上的各种数据,通过在运用的包的名称下创建一个文件,Andriod系统给我们提供了一个API,这个api能存放基本的数据类型, SharedPreferences sp=getSharedPreferences(“config”,MODE_PRIVATE);cogfig为文件的名称,第二个参数为数据类型 Editor.putBoolean()可以存放各种数据,存放之后一定要用editor.commit方法提交 Sharedpreference的内部是一个MAP一样的文件数据类型 八、利用pull解析XML文件 这个XML文件的解析应该是以后工作中的重点内容,需要好好学习下,如何建立与解析 有一个Xml对象有一个newSerializer()的方法 Pull解析类似sax解析的事件解析, 首先要获得一个解析器:XmlPullParaser parser=Xml.newPullParser(); 设置读取的方式:parser.setInput(InputStream,”UTF-8”);InputStream是传入进来的文件 XmlPullParser.START_DOCUMENT 文档开始开头 XmlPullParser.END_DOCUMENT 文档结束 解析时候,定义int type=parser.getEvenType();//读取事件的类型 Parser.getAttributeValue(0)这个是读取标签的属性的,第一个属性从0开始 九、数据库的增删改查 在安卓的数据库中,不要加载驱动,不需要连接数据库,数据库就在本运用下,也没有其他类型,只有String类型。所以简化了操作 获取数据是一个游标工厂得到的 SQLiteOpenHelper 构造方法 public SQLiteOpenHelper (Context context, String name, SQLiteDatabase.CursorFactory factory, int version) context相当于全局的对象,name其实就是数据库的名称my.db,factory可以是null表示默认的。Version版本 ,是从1开始的如果你想改变数据库,则这个Version必须增加。只有当执行读取或者写入的方法时候,数据库才真正的会被创建或者开启。用的时候才创建 第一次创建的时候用 OnCreate(dbname) 更新的时候用OnUpgreade(SQLiteDatabase db, int oldVersion, int newVersion 文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据库组成表32118 人正在系统学习中 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!