SQLiteDatabase的使用
新建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的使用的更多相关文章
- Androide SQLiteDatabase数据库操作(转)
SQLite可以解析大部分的标准SQL语句:建表语句:create table 表名(主键名 integer primary key autoincrement(设置为自增列),其他列名及属性)或(主 ...
- SQLiteDatabase 基本操作
一.SQLiteOpenHelper类 android 提供类SQLiteOpenHelper帮助用户简化对SQLite数据库的操作.该类是一个抽象类,必须用户自己实现并重写oncreate()和on ...
- Android本地数据存储之SQLite关系型数据库 ——SQLiteDatabase
数据库的创建,获取,执行sql语句: 框架搭建:dao 思考: 1.数据库保存在哪里? 2.如何创建数据库?如何创建表? 3.如何更新数据库?如何更改表的列数据? 4.如何获取数据库? 5.如何修改数 ...
- SQLiteDatabase浅谈
(一).简介: Android通过 SQLite 数据库引擎来实现结构化数据的存储.在一个数据库应用程序中,任何类都可以通过名字对已经创建的数据库进行访问,但是在应用程序之外就不可以. SQLite ...
- Android——使用SQLiteDatabase操作SQLite数据库
除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据. 在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NUL ...
- 数据库SQLiteDatabase
package com.baclock.entity; import android.provider.BaseColumns; /** * Created by Jack on 5/4/2016. ...
- SQLiteDatabase中的事务
beginTransaction():开始事务endTransaction():结束事务SQLiteDatabase还提供了如下方法来判断当前上下文是否处于事物环境中.inTransaction(): ...
- SQLiteDatabase里面的简单操作数据库的方法
1.使用insert方法插入记录SQLiteDatabase的insert方法的签名为long insert(String table,String nullColumnHack,ContentVal ...
- 使用SQLiteDatabase进行数据库操作的步骤
1.获取SQLiteDatabase对象,它代表了与数据库的连接.2.调用SQLiteDatabase的方法来执行SQL语句.3.操作SQL语句的执行结果,比如用SimpleCursorAdapter ...
- 关于android的SQLiteDatabase和Cursor的一些疑问
android数据库操作的基础有三个类:SQLiteOpenHelper,SQLiteDatabase和Cursor.其中,SQLiteOpenHelper会建立一个数据库连接,它虽然可以调用多次ge ...
随机推荐
- [原]C#与非托管——初体验
P/Invokes初看起来非常简单,利用DllImport进行extern函数的声明,程序就可以在调用extern函数的时候自动查询调用到对应的非托管函数,有些类似Java的native函数,但更为简 ...
- 测试开发Python培训:模拟登录新浪微博-技术篇
测试开发Python培训:模拟登录新浪微博-技术篇 一般一个初学者项目的起点就是登陆功能的自动化,而面临的项目不同实现的技术难度是不一样的,poptest在做测试开发培训中更加关注技术难点,掌握技 ...
- MaterialDrawer开源侧滑菜单的使用手册
官方有详细说明,但是我首次查找的时候并没有第一眼就能使用全部功能,而网上也查找了一下,几乎所有的博客都是简简单单的几句代码...连句说明都没有,可能是我这小菜鸡理解能力不行,或者大神们认为coding ...
- hdu 3032 Nim or not Nim? (sg函数打表找规律)
题意:有N堆石子,每堆有s[i]个,Alice和Bob两人轮流取石子,可以从一堆中取任意多的石子,也可以把一堆石子分成两小堆 Alice先取,问谁能获胜 思路:首先观察这道题的数据范围 1 ≤ N ...
- Android Google AdMob 广告接入示例
Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...
- JSTL标签分类
<c:>核心标签库:共有13个,功能分4类 1.表达式控制标签: out.set.remove.catch 2.流程控制标签: if.choose.when.otherwise 3.循环标 ...
- for xml path 如何将字段转换为xml的属性
for xml path 如何将字段作为xml的属性: 可在查询时 别名用 as '@..' 如'@value' 如下实例: SELECT A.GiftSetGUID AS '@value',A.Gi ...
- html 数字不转行问题
代码如下 <div style="width:20px;height:20px"> 111111111111111111111111111111111111111111 ...
- Python-一些实用的函数
一,返回值为bool类型的函数 1.any()函数 any(iterable)->bool 当迭代器中有一个是Ture,则返回Ture:若interable=NUll,则返回False. > ...
- 【算法系列学习三】[kuangbin带你飞]专题二 搜索进阶 之 A-Eight 反向bfs打表和康拓展开
[kuangbin带你飞]专题二 搜索进阶 之 A-Eight 这是一道经典的八数码问题.首先,简单介绍一下八数码问题: 八数码问题也称为九宫问题.在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的 ...