新建DBHeler.JAVA

 package com.hixin.db;

 import java.util.ArrayList;
import java.util.HashMap; import com.hixin.contact.User; import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; public class DBHelper extends SQLiteOpenHelper{
public final static String DB_NAME = "contact";
public final static int VERSION = 1;
private static DBHelper instance = null;
private SQLiteDatabase db; //单例模式
private DBHelper(Context context) {
super(context,DB_NAME,null,VERSION);
} public static DBHelper getInstance(Context context) {
if(instance == null) {
instance = new DBHelper(context);
}
return instance;
}
private void openDatabase() {
if(db == null) {
db = this.getReadableDatabase();
}
} @Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
StringBuffer tableCreate = new StringBuffer();
tableCreate.append("create table user (_id integer primary key autoincrement,")
.append("name text,")
.append("mobilephone text,")
.append("familyphone text,")
.append("officephone text,")
.append("position text,")
.append("company text,")
.append("address text,")
.append("email text,")
.append("othercontact text,")
.append("zipcode text,")
.append("remark text,")
.append("imageid int)"); db.execSQL(tableCreate.toString());
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
String sql = "drop table if exists user";
db.execSQL(sql);
onCreate(db);
} public long save(User user) {
openDatabase();
ContentValues value = new ContentValues();
value.put("name", user.username);
value.put("mobilephone", user.mobilePhone);
value.put("familyphone", user.familyPhone);
value.put("officephone", user.officePhone);
value.put("position", user.position);
value.put("address", user.address);
value.put("email", user.email);
value.put("othercontact", user.otherContact);
value.put("zipcode", user.zipCode);
value.put("remark", user.remark);
value.put("imageid", user.imageId); return db.insert("user", null, value);
} public ArrayList getUserList() {
openDatabase();
Cursor cursor = db.query("user", null, null, null, null, null, null);
ArrayList list = new ArrayList();
while (cursor.moveToNext()) {
HashMap map = new HashMap();
map.put("imageid", cursor.getInt(cursor.getColumnIndex("imageid")));
map.put("name", cursor.getString(cursor.getColumnIndex("name")));
map.put("mobilephone", cursor.getString(cursor.getColumnIndex("mobilephone")));
list.add(map);
}
return list;
} }

主函数中调用 
    //save user to database
    DBHelper.getInstance(MainActivity.this).save(user);

save()调用openDatabase(),如果数据库不存在,则自动调用数据库的onCreate()

//检索数据库

ArrayList data = DBHelper.getInstance(this).getUserList();

tv_name.setText((CharSequence) ((HashMap) data.get(position)).get("name"));

另外一种版本

package com.example.healthembed;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map; import com.example.healthembed.dummy.BloodPre; import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast; public class DatabaseHelper extends SQLiteOpenHelper { private static final String DB_NAME = "person.db"; //数据库名称
private static final int version = 1; //数据库版本
private static DatabaseHelper instance = null;
private SQLiteDatabase db; //单例模式 public static DatabaseHelper getInstance(Context context) {
if(instance == null) {
instance = new DatabaseHelper(context);
}
return instance;
}
private void openDatabase() {
if(db == null) {
db = this.getReadableDatabase();
}
}
public DatabaseHelper(Context context) {
super(context, DB_NAME, null, version);
} @Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
/* StringBuffer tableCreate = new StringBuffer();
tableCreate.append("create table user (_id integer primary key autoincrement,")
.append("hp int,")
.append("lp int)");
db.execSQL(tableCreate.toString());
*/
String tableCreate = new String();
tableCreate="create table user (_id integer primary key autoincrement,name varchar(16),pdate text,hp int,lp int)";
db.execSQL(tableCreate); // Toast.makeText(MyApplication.getContext(), "数据保存成功", Toast.LENGTH_SHORT).show();
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
String sql = "drop table if exists user";
db.execSQL(sql);
onCreate(db);
} public long save(BloodPre user) {
openDatabase();
ContentValues value = new ContentValues();
value.put("name", user.name);
value.put("pdate",user.time);
value.put("hp", user.highp);
value.put("lp", user.lowp);
return db.insert("user", null, value);
} public ArrayList getUserList() {
openDatabase();
Cursor cursor = db.query("user", null, null, null, null, null, null);
ArrayList<Map> list = new ArrayList();
while (cursor.moveToNext()) {
HashMap map = new HashMap();
map.put("name", cursor.getInt(cursor.getColumnIndex("name")));
map.put("pdate", cursor.getString(cursor.getColumnIndex("pdate")));
map.put("hp", cursor.getInt(cursor.getColumnIndex("hp")));
map.put("lp", cursor.getInt(cursor.getColumnIndex("lp")));
list.add(map);
}
return list;
}
}

封装性更好的,适合建立多个表!

package com.example.health.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import com.example.health.bp.DatabaseHelper; import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper; /**
* @author wuzhixin
* 有if语句的地方添加 else if代码就行
* 目的在于用一个SQLiteOpenHelper子类创建多个表,并且表之间是独立的,不会一下在创建多个表
*/
public class GeneralDbHelper extends SQLiteOpenHelper{ private static final String DB_NAME = "person.db"; //数据库名称
private static final int version = 1; //数据库版本
private static GeneralDbHelper instance = null;
private SQLiteDatabase db;
private Object bean; //单例模式 public static GeneralDbHelper getInstance(Context context,Object userType) {
if(instance == null) {
instance = new GeneralDbHelper(context,userType);
}
return instance;
}
private void openDatabase() {
if(db == null) {
db = this.getReadableDatabase();
}
}
public GeneralDbHelper (Context context,Object userType) {
super(context, DB_NAME, null, version);
this.bean = userType;
} /* (non-Javadoc)
* @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
*/
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
/* StringBuffer tableCreate = new StringBuffer();
tableCreate.append("create table user (_id integer primary key autoincrement,")
.append("hp int,")
.append("lp int)");
db.execSQL(tableCreate.toString());
*/
String tableCreate = new String();
if(bean instanceof User) {
tableCreate = "CREATE TABLE zhongduanuser (shenfennum varchar(255) primary key,name varchar(64),regtime varchar(255),address varchar(255), birthdate varchar(255))";
db.execSQL(tableCreate);
} // Toast.makeText(MyApplication.getContext(), "数据保存成功", Toast.LENGTH_SHORT).show();
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
if(bean instanceof User) {
String sql = "drop table if exists zhongduanuser";
db.execSQL(sql);
}
onCreate(db);
} public long save(Object obj) {
openDatabase();
ContentValues value = new ContentValues();
if(obj instanceof User) {
/*private String shenfennum;
private String name;
private String regtime;
private String address;
private String birthdate;*/ value.put("shenfennum", ((User)obj).getShenfennum());
value.put("name", ((User)obj).getName());
value.put("regtime", ((User)obj).getRegtime());
value.put("address", ((User)obj).getAddress());
value.put("birthdate", ((User)obj).getBirthdate());
return db.insert("zhongduanuser", null, value);
}else{
return 0;
} } public List<?> getBeanList() {
openDatabase();
if(bean instanceof User) {
Cursor cursor = db.query("zhongduanuser", null, null, null, null, null, null);
List<User> list = new ArrayList<User>();
while (cursor.moveToNext()) {
User user = new User();
user.setShenfennum(cursor.getString(cursor.getColumnIndex("shenfennum")));
user.setName(cursor.getString(cursor.getColumnIndex("name")));
user.setRegtime(cursor.getString(cursor.getColumnIndex("regtime")));
user.setAddress(cursor.getString(cursor.getColumnIndex("address")));
user.setBirthdate(cursor.getString(cursor.getColumnIndex("birthdate")));
list.add(user);
}
return list;
}
else {
return null;
} }
}

保存数据:

//创建数据库,保存用户信息到本地 
for (User suser : app.userList) { 
GeneralDbHelper.getInstance(MyApplication.getContext(), suser).save(suser);
}

使用数据:

User user = new User();
app.userList = GeneralDbHelper.getInstance(MyApplication.getContext(), user).getBeanList();

上面的不能正确使用,下面的这个可以

package com.example.health.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper; /**
* @author wuzhixin
* 有if语句的地方添加 else if代码就行
* 目的在于用一个SQLiteOpenHelper子类创建多个表,并且表之间是独立的,不会一下在创建多个表
*/
public class GeneralDbHelper extends SQLiteOpenHelper{ private static final String DB_NAME = "person.db"; //数据库名称
private static final int version = 1; //数据库版本
private static GeneralDbHelper instance = null;
private SQLiteDatabase db; //单例模式 public static GeneralDbHelper getInstance(Context context) {
if(instance == null) {
instance = new GeneralDbHelper(context);
}
return instance;
}
private void openDatabase() {
if(db == null) {
db = this.getReadableDatabase();
}
}
public GeneralDbHelper (Context context) {
super(context, DB_NAME, null, version);
} /* (non-Javadoc)
* @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
*/
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
/* StringBuffer tableCreate = new StringBuffer();
tableCreate.append("create table user (_id integer primary key autoincrement,")
.append("hp int,")
.append("lp int)");
db.execSQL(tableCreate.toString());
*/ String tableCreate1 = "CREATE TABLE zhongduanuser (shenfennum varchar(255) primary key,name varchar(64),regtime varchar(255),address varchar(255), birthdate varchar(255))";
db.execSQL(tableCreate1);
String tableCreate2="create table xueya2 (_id integer primary key autoincrement,userid varchar(255),regdate varchar(64),shousuo int(11),shuzhang int(11),maibo int(11))";
db.execSQL(tableCreate2); // Toast.makeText(MyApplication.getContext(), "数据保存成功", Toast.LENGTH_SHORT).show();
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub String sql1 = "drop table if exists zhongduanuser";
db.execSQL(sql1); String sql2 = "drop table if exists xueya2";
db.execSQL(sql2);
onCreate(db);
} public long save(Object obj) {
openDatabase();
ContentValues value = new ContentValues();
if(obj instanceof User) {
/*private String shenfennum;
private String name;
private String regtime;
private String address;
private String birthdate;*/ value.put("shenfennum", ((User)obj).getShenfennum());
value.put("name", ((User)obj).getName());
value.put("regtime", ((User)obj).getRegtime());
value.put("address", ((User)obj).getAddress());
value.put("birthdate", ((User)obj).getBirthdate());
return db.insert("zhongduanuser", null, value);
}else if(obj instanceof BloodPre){
/*private String userid;
private String time;
private int highp;
private int lowp;
private int pulse;*/
value.put("userid", ((BloodPre)obj).getUserid());
value.put("regdate", ((BloodPre)obj).getTime());
value.put("shousuo", ((BloodPre)obj).getHighp());
value.put("shuzhang", ((BloodPre)obj).getLowp());
value.put("maibo", ((BloodPre)obj).getPulse());
return db.insert("xueya2", null, value);
}else{
return 0;
} } public List<?> getBeanList(Object obj) {
openDatabase();
if(obj instanceof User) {
Cursor cursor = db.query("zhongduanuser", null, null, null, null, null, null);
List<User> list = new ArrayList<User>();
while (cursor.moveToNext()) {
User user = new User();
user.setShenfennum(cursor.getString(cursor.getColumnIndex("shenfennum")));
user.setName(cursor.getString(cursor.getColumnIndex("name")));
user.setRegtime(cursor.getString(cursor.getColumnIndex("regtime")));
user.setAddress(cursor.getString(cursor.getColumnIndex("address")));
user.setBirthdate(cursor.getString(cursor.getColumnIndex("birthdate")));
list.add(user);
}
return list;
}else if(obj instanceof BloodPre){
Cursor cursor = db.query("xueya2", null, null, null, null, null, null);
List<BloodPre> list = new ArrayList<BloodPre>();
while (cursor.moveToNext()) {
BloodPre bloodpre = new BloodPre();
bloodpre.setUserid(cursor.getString(cursor.getColumnIndex("userid")));
bloodpre.setTime(cursor.getString(cursor.getColumnIndex("regdate")));
bloodpre.setHighp(cursor.getInt(cursor.getColumnIndex("shousuo")));
bloodpre.setLowp(cursor.getInt(cursor.getColumnIndex("shuzhang")));
bloodpre.setPulse(cursor.getInt(cursor.getColumnIndex("maibo"))); list.add(bloodpre);
}
return list;
}
else {
return null;
} }
}

更新的版本:

package com.example.health.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper; /**
* @author wuzhixin
*
* 目的在于用一个SQLiteOpenHelper子类创建多个表
*/
public class GeneralDbHelper extends SQLiteOpenHelper{ private static final String DB_NAME = "person.db"; //数据库名称
private static final int version = 1; //数据库版本
private static GeneralDbHelper instance = null;
private SQLiteDatabase db; //单例模式 public static GeneralDbHelper getInstance(Context context) {
if(instance == null) {
instance = new GeneralDbHelper(context);
}
return instance;
}
private void openDatabase() {
if(db == null) {
db = this.getReadableDatabase();
}
}
public GeneralDbHelper (Context context) {
super(context, DB_NAME, null, version);
} /* (non-Javadoc)
* @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
*/
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
/* StringBuffer tableCreate = new StringBuffer();
tableCreate.append("create table user (_id integer primary key autoincrement,")
.append("hp int,")
.append("lp int)");
db.execSQL(tableCreate.toString());
*/ String tableCreate1 = "CREATE TABLE zhongduanuser (shenfennum varchar(255) primary key,name varchar(64),regtime varchar(255),address varchar(255), birthdate varchar(255))";
db.execSQL(tableCreate1);
String tableCreate2="create table xueya2 (_id integer primary key autoincrement,userid varchar(255),regdate varchar(64),shousuo int(11),shuzhang int(11),maibo int(11))";
db.execSQL(tableCreate2); // Toast.makeText(MyApplication.getContext(), "数据保存成功", Toast.LENGTH_SHORT).show();
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub String sql1 = "drop table if exists zhongduanuser";
db.execSQL(sql1); String sql2 = "drop table if exists xueya2";
db.execSQL(sql2);
onCreate(db);
} public long save(Object obj) {
openDatabase();
ContentValues value = new ContentValues();
if(obj instanceof User) {
/*private String shenfennum;
private String name;
private String regtime;
private String address;
private String birthdate;*/ value.put("shenfennum", ((User)obj).getShenfennum());
value.put("name", ((User)obj).getName());
value.put("regtime", ((User)obj).getRegtime());
value.put("address", ((User)obj).getAddress());
value.put("birthdate", ((User)obj).getBirthdate());
return db.insert("zhongduanuser", null, value);
}else if(obj instanceof BloodPre){
/*private String userid;
private String time;
private int highp;
private int lowp;
private int pulse;*/
value.put("userid", ((BloodPre)obj).getUserid());
value.put("regdate", ((BloodPre)obj).getTime());
value.put("shousuo", ((BloodPre)obj).getHighp());
value.put("shuzhang", ((BloodPre)obj).getLowp());
value.put("maibo", ((BloodPre)obj).getPulse());
return db.insert("xueya2", null, value);
}else{
return 0;
} } public List<?> getBeanList(Object obj) {
openDatabase();
if(obj instanceof User) {
Cursor cursor = db.query("zhongduanuser", null, null, null, null, null, null);
List<User> list = new ArrayList<User>();
while (cursor.moveToNext()) {
User user = new User();
user.setShenfennum(cursor.getString(cursor.getColumnIndex("shenfennum")));
user.setName(cursor.getString(cursor.getColumnIndex("name")));
user.setRegtime(cursor.getString(cursor.getColumnIndex("regtime")));
user.setAddress(cursor.getString(cursor.getColumnIndex("address")));
user.setBirthdate(cursor.getString(cursor.getColumnIndex("birthdate")));
list.add(user);
}
return list;
}else if(obj instanceof BloodPre){
Cursor cursor = db.query("xueya2", null, null, null, null, null, null);
List<BloodPre> list = new ArrayList<BloodPre>();
while (cursor.moveToNext()) {
BloodPre bloodpre = new BloodPre();
bloodpre.setUserid(cursor.getString(cursor.getColumnIndex("userid")));
bloodpre.setTime(cursor.getString(cursor.getColumnIndex("regdate")));
bloodpre.setHighp(cursor.getInt(cursor.getColumnIndex("shousuo")));
bloodpre.setLowp(cursor.getInt(cursor.getColumnIndex("shuzhang")));
bloodpre.setPulse(cursor.getInt(cursor.getColumnIndex("maibo"))); list.add(bloodpre);
}
return list;
}
else {
return null;
} } public List<?> getBeanList(Object obj,String userID) {
openDatabase();
if(obj instanceof BloodPre){ String query = "select regdate,shousuo,shuzhang,maibo from xueya2 where userid = "+userID;
Cursor cursor = db.query("xueya2", new String[]{"regdate,shousuo,shuzhang,maibo"},"userid=?", new String[]{userID}, null, null, null);
List<BloodPre> list = new ArrayList<BloodPre>();
while (cursor.moveToNext()) {
BloodPre bloodpre = new BloodPre();
bloodpre.setTime(cursor.getString(cursor.getColumnIndex("regdate")));
bloodpre.setHighp(cursor.getInt(cursor.getColumnIndex("shousuo")));
bloodpre.setLowp(cursor.getInt(cursor.getColumnIndex("shuzhang")));
bloodpre.setPulse(cursor.getInt(cursor.getColumnIndex("maibo")));
list.add(bloodpre);
}
return list;
}
else {
return null;
} }
}

存数据:

//创建数据库,保存用户信息到本地
for (User suser : app.userList) {
GeneralDbHelper.getInstance(MyApplication.getContext()).save(suser);
}

取数据:

User user = new User();
app.userList = (List<User>) GeneralDbHelper.getInstance(MyApplication.getContext()).getBeanList(user);

已有数据库时:

 private final String DATABASE_PATH = android.os.Environment
.getExternalStorageDirectory().getAbsolutePath()
+ "/dictionary";
//定义数据库的名字
private final String DATABASE_FILENAME = "dictionary.db"; private SQLiteDatabase openDatabase()
{
try
{
// 获得dictionary.db文件的绝对路径
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
File dir = new File(DATABASE_PATH);
// 如果/sdcard/dictionary目录中存在,创建这个目录
if (!dir.exists())
dir.mkdir();
// 如果在/sdcard/dictionary目录中不存在
// dictionary.db文件,则从res\raw目录中复制这个文件到
// SD卡的目录(/sdcard/dictionary)
if (!(new File(databaseFilename)).exists())
{
// 获得封装dictionary.db文件的InputStream对象
InputStream is = getResources().openRawResource(
R.raw.dictionary);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[8192];
int count = 0;
// 开始复制dictionary.db文件
while ((count = is.read(buffer)) > 0)
{
fos.write(buffer, 0, count);
}
//关闭文件流
fos.close();
is.close();
}
// 打开/sdcard/dictionary目录中的dictionary.db文件
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(
databaseFilename, null);
return database;
}
catch (Exception e)
{
}
//如果打开出错,则返回null
return null;
}

SQLiteDatabase的使用的更多相关文章

  1. Androide SQLiteDatabase数据库操作(转)

    SQLite可以解析大部分的标准SQL语句:建表语句:create table 表名(主键名 integer primary key autoincrement(设置为自增列),其他列名及属性)或(主 ...

  2. SQLiteDatabase 基本操作

    一.SQLiteOpenHelper类 android 提供类SQLiteOpenHelper帮助用户简化对SQLite数据库的操作.该类是一个抽象类,必须用户自己实现并重写oncreate()和on ...

  3. Android本地数据存储之SQLite关系型数据库 ——SQLiteDatabase

    数据库的创建,获取,执行sql语句: 框架搭建:dao 思考: 1.数据库保存在哪里? 2.如何创建数据库?如何创建表? 3.如何更新数据库?如何更改表的列数据? 4.如何获取数据库? 5.如何修改数 ...

  4. SQLiteDatabase浅谈

    (一).简介: Android通过 SQLite 数据库引擎来实现结构化数据的存储.在一个数据库应用程序中,任何类都可以通过名字对已经创建的数据库进行访问,但是在应用程序之外就不可以. SQLite  ...

  5. Android——使用SQLiteDatabase操作SQLite数据库

    除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据. 在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NUL ...

  6. 数据库SQLiteDatabase

    package com.baclock.entity; import android.provider.BaseColumns; /** * Created by Jack on 5/4/2016. ...

  7. SQLiteDatabase中的事务

    beginTransaction():开始事务endTransaction():结束事务SQLiteDatabase还提供了如下方法来判断当前上下文是否处于事物环境中.inTransaction(): ...

  8. SQLiteDatabase里面的简单操作数据库的方法

    1.使用insert方法插入记录SQLiteDatabase的insert方法的签名为long insert(String table,String nullColumnHack,ContentVal ...

  9. 使用SQLiteDatabase进行数据库操作的步骤

    1.获取SQLiteDatabase对象,它代表了与数据库的连接.2.调用SQLiteDatabase的方法来执行SQL语句.3.操作SQL语句的执行结果,比如用SimpleCursorAdapter ...

  10. 关于android的SQLiteDatabase和Cursor的一些疑问

    android数据库操作的基础有三个类:SQLiteOpenHelper,SQLiteDatabase和Cursor.其中,SQLiteOpenHelper会建立一个数据库连接,它虽然可以调用多次ge ...

随机推荐

  1. 老李推荐:第4章3节《MonkeyRunner源码剖析》ADB协议及服务: ADB协议概览

    老李推荐:第4章3节<MonkeyRunner源码剖析>ADB协议及服务: ADB协议概览   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试, ...

  2. 手机自动化测试:appium源码分析之bootstrap十七

    手机自动化测试:appium源码分析之bootstrap十七   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

  3. How To Use ggplot in ggplot2?

    1.What is ggplot2 ggplot2基本要素 数据(Data)和映射(Mapping) 几何对象(Geometric) 标尺(Scale) 统计变换(Statistics) 坐标系统(C ...

  4. 关于C++中的前置声明(附程序运行图)

    实验于华中农业大学逸夫楼2017.3.10 在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration).下面的程序中,带注释的那行就是类B的前置说明.这是必须的,因为类A中 ...

  5. 判断iframe页面是否加载完成

        if (frames("appIframe").document.readyState !="complete") {          alert(& ...

  6. swfupload多图上传插件(ASP.NET)

    <script src="../js/swfupload/swfupload.js" type="text/javascript"></scr ...

  7. Eclipse 安装反编译插件

    前言:在实际的开发中几乎都会使用到一些框架来辅助项目的开发工作,对于一些框架的代码我们总怀有一些好奇之心,想一探究竟,有源码当然更好了,对于有些JAR包中的代码我们就需要利用反编译工具来看一下了,下面 ...

  8. Unity 相机的聚焦功能

    摘要:本文原创,转载请注明出处 需求: 在游戏的任务编辑场景进行编辑的时候,摄像机需要在多个需要编辑的物体之间来回切换,如果只是用摄像机的移动旋转,对于相对位置较近的物体还好说,当相对位置过远的时候, ...

  9. Python HTMLTestRunner生成网页自动化测试报告时中文编码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6

    1. 由于使用Python Selenium做网页自动化测试时,有截取网页上的中文信息保存到测试结果中,最终出现编码错误如下: File "D:/PycharmProjects/AutoTe ...

  10. js小数处理

    js中的小数处理   先说说Math的几个方法: 1.Math.floor(x)   返回不大于当前数的最大整数. 我的记法:floor 直译 地板  也就是不大于的的意思 (x-0.5 四舍五入取整 ...