新建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. [原]C#与非托管——初体验

    P/Invokes初看起来非常简单,利用DllImport进行extern函数的声明,程序就可以在调用extern函数的时候自动查询调用到对应的非托管函数,有些类似Java的native函数,但更为简 ...

  2. 测试开发Python培训:模拟登录新浪微博-技术篇

    测试开发Python培训:模拟登录新浪微博-技术篇   一般一个初学者项目的起点就是登陆功能的自动化,而面临的项目不同实现的技术难度是不一样的,poptest在做测试开发培训中更加关注技术难点,掌握技 ...

  3. MaterialDrawer开源侧滑菜单的使用手册

    官方有详细说明,但是我首次查找的时候并没有第一眼就能使用全部功能,而网上也查找了一下,几乎所有的博客都是简简单单的几句代码...连句说明都没有,可能是我这小菜鸡理解能力不行,或者大神们认为coding ...

  4. hdu 3032 Nim or not Nim? (sg函数打表找规律)

    题意:有N堆石子,每堆有s[i]个,Alice和Bob两人轮流取石子,可以从一堆中取任意多的石子,也可以把一堆石子分成两小堆 Alice先取,问谁能获胜 思路:首先观察这道题的数据范围  1 ≤ N ...

  5. Android Google AdMob 广告接入示例

    Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...

  6. JSTL标签分类

    <c:>核心标签库:共有13个,功能分4类 1.表达式控制标签: out.set.remove.catch 2.流程控制标签: if.choose.when.otherwise 3.循环标 ...

  7. for xml path 如何将字段转换为xml的属性

    for xml path 如何将字段作为xml的属性: 可在查询时 别名用 as '@..' 如'@value' 如下实例: SELECT A.GiftSetGUID AS '@value',A.Gi ...

  8. html 数字不转行问题

    代码如下 <div style="width:20px;height:20px"> 111111111111111111111111111111111111111111 ...

  9. Python-一些实用的函数

    一,返回值为bool类型的函数 1.any()函数 any(iterable)->bool 当迭代器中有一个是Ture,则返回Ture:若interable=NUll,则返回False. > ...

  10. 【算法系列学习三】[kuangbin带你飞]专题二 搜索进阶 之 A-Eight 反向bfs打表和康拓展开

    [kuangbin带你飞]专题二 搜索进阶 之 A-Eight 这是一道经典的八数码问题.首先,简单介绍一下八数码问题: 八数码问题也称为九宫问题.在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的 ...