`

android中炫酷划屏事件及sqlite全部操作Demo(2)

阅读更多

4、编写数据库操作的代码

4.1、编写简单的pojo类

package com.jftt.pojo;

public class WebSite {
    private int ws_id;
    private String ws_name;
    private String ws_url;
    public WebSite( String string, String string2) {
		 
		this.ws_name=string;
		this.ws_url=string2;
	}
	public WebSite(int wid, String string, String string2) {
		this.ws_id=wid;
		this.ws_name=string;
		this.ws_url=string2;
	}
	public int getWs_id() {
		return ws_id;
	}
	public void setWs_id(int wsId) {
		ws_id = wsId;
	}
	public String getWs_name() {
		return ws_name;
	}
	public void setWs_name(String wsName) {
		ws_name = wsName;
	}
	public String getWs_url() {
		return ws_url;
	}
	public void setWs_url(String wsUrl) {
		ws_url = wsUrl;
	}
}


package com.jftt.pojo;

public class City {
	
    private int c_id;
    private String c_name;
    private String c_pic;
    
public City(String cname,String cpic){
    	
    	 
    	this.c_name=cname;
    	this.c_pic=cpic;
    }
    public City(int cid,String cname,String cpic){
    	
    	this.c_id=cid;
    	this.c_name=cname;
    	this.c_pic=cpic;
    }
	public int getC_id() {
		return c_id;
	}
	public void setC_id(int cId) {
		c_id = cId;
	}
	public String getC_name() {
		return c_name;
	}
	public void setC_name(String cName) {
		c_name = cName;
	}
	public String getC_pic() {
		return c_pic;
	}
	public void setC_pic(String cPic) {
		c_pic = cPic;
	}
    
}


package com.jftt.pojo;

public class City_Web {
	private int cw_id;
	private int c_id;
	private int w_id;
	public City_Web(int cid,int wid){
		this.c_id=cid;
		this.w_id=wid;
		
		
	}
	public int getCw_id() {
		return cw_id;
	}
	public void setCw_id(int cwId) {
		cw_id = cwId;
	}
	public int getC_id() {
		return c_id;
	}
	public void setC_id(int cId) {
		c_id = cId;
	}
	public int getW_id() {
		return w_id;
	}
	public void setW_id(int wId) {
		w_id = wId;
	}

}

4.2、编写数据库辅助类DBHelper.java

package com.jftt.service;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.util.Log;

public class DBHelper extends SQLiteOpenHelper
{  private static final String DB_NAME="jftt";
   private static final int VERSION=1;
	public DBHelper(Context context){
	      super(context,DB_NAME,null,VERSION);
		 }
    @Override
	public void onCreate(SQLiteDatabase db)
	{    String sql="create table city(c_id integer primary key autoincrement,c_name varchar(30),c_pic varchar(30))";
	     String sql2="create table website(ws_id integer primary key autoincrement,ws_name varchar(30),ws_url varchar(30))";
	     String sql3="create table cw(cw_id integer primary key autoincrement,c_id integer,w_id integer)";
	     Log.e("tag","::");
		 db.execSQL(sql);
		 Log.e("tag","123");
		 db.execSQL(sql3);
		 db.execSQL(sql2);

	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int arg1, int arg2)
	{
		db.execSQL("drop table if exists person");
		onCreate(db);

	}
}
 

4.3、编写数据库操作的类 

package com.jftt.service;

import java.util.ArrayList;
import java.util.List;

import com.jftt.FlipperDemo;
import com.jftt.pojo.City;
import com.jftt.pojo.City_Web;
import com.jftt.pojo.WebSite;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

public class DBManager {
	private static DBHelper dbHelper;
	private Context context;
	private static SQLiteDatabase db;

	public DBManager(Context context) {
		this.context = context;

		dbHelper = new DBHelper(context);
	}

	/* 批量插入网站 */
	public static void insertWebSite(WebSite[] websites) {
		String sql = "insert into website(ws_name,ws_url)values(?,?)";
		db = dbHelper.getWritableDatabase();
		for (int i = 0; i < websites.length; i++) {
			db.execSQL(sql, new Object[] { websites[i].getWs_name(),
					websites[i].getWs_url() });
		}
		db.close();
	}

	/* cw 批量插入cws */
	public static void insertCws(City_Web[] c_web) {
		String sql = "insert into cw(c_id,w_id)values(?,?)";
		db = dbHelper.getWritableDatabase();
		for (int i = 0; i < c_web.length; i++) {
			db.execSQL(sql,
					new Object[] { c_web[i].getC_id(), c_web[i].getW_id() });
		}
		db.close();
	}

	/* city 批量插入 */
	public static void insertCities(City[] cities) {
		String sql = "insert into city(c_name,c_pic)values(?,?)";
		db = dbHelper.getWritableDatabase();
		for (int i = 0; i < cities.length; i++) {
			db.execSQL(
					sql,
					new Object[] { cities[i].getC_name(), cities[i].getC_pic() });
		}
		db.close();
	}

	/* 删除城市 */
	public static void deleteCity(Integer... ids) {
		StringBuffer sb = new StringBuffer();
		if (ids.length > 0) {

			for (Integer id : ids) {
				sb.append('?').append(',');
			}
			sb = sb.deleteCharAt(sb.length() - 1);
		}
		db = dbHelper.getWritableDatabase();
		db.execSQL("delete from city where c_id in(" + sb + ")", (Object[]) ids);
		db.close();
	}

	/*
	 * find city id by web ide 根据网站id查找所有城市ID列表
	 */
	public static List<Integer> findCityIdByWebID(int wid) {
		List<Integer> array = new ArrayList<Integer>();
		db = dbHelper.getWritableDatabase();
		 Cursor cur = db.rawQuery("select * from cw where w_id=?",
				new String[] { String.valueOf(wid) }); 
	  while(cur.moveToNext()) {
			
			array.add(cur.getInt(1));
		}
		Log.e("myTag", array.size()+"");
		return array;
	}

	/*
	 * find city names by ids 根据IDs查找全部城市 返回符合要求的城市名称集合
	 */

	public static List<String> findCitiesByIDs(List<Integer> cids) {
		List<String> cityNames = new ArrayList<String>();
		db = dbHelper.getWritableDatabase();
		for (int i = 0; i < cids.size(); i++) {
			Cursor cur = db.rawQuery("select * from city where c_id=?",
					new String[] { String.valueOf(cids.get(i)) });
			if (cur.moveToNext()) {
				cityNames.add(cur.getString(1));
			}
		}
		return cityNames;
	}

	/*
	 * find website by id 根据id查找网站 返回网站Website
	 */
	public static WebSite findByID(int wid) {
		WebSite person = null;
		db = dbHelper.getWritableDatabase();
		Cursor cur = db.rawQuery("select * from website where ws_id=?",
				new String[] { String.valueOf(wid) });
		if (cur.moveToNext()) {
			person = new WebSite(wid, cur.getString(1), cur.getString(2));
			return person;
		}
		return null;

	}

	/*
	 * find city by id 根据ID查找城市
	 */
	public static City findCityByID(int cid) {
		City city = null;
		db = dbHelper.getWritableDatabase();
		Cursor cur = db.rawQuery("select * from city where c_id=?",
				new String[] { String.valueOf(cid) });
		if (cur.moveToNext()) {
			city = new City(cid, cur.getString(1), cur.getString(2));
			return city;
		}
		return null;
	}

	/*
	 * find pic by city name 根据城市名称查找图片名称
	 */
	public static String findCityPicByCityName(String cname) {

		db = dbHelper.getWritableDatabase();
		Cursor cur = db.rawQuery("select * from city where c_name=?",
				new String[] { String.valueOf(cname) });
		if (cur.moveToNext()) {

			return cur.getString(2);
		}
		return null;

	}

	/*
	 * find all cities 查找所有城市 返回所有城市名称集合
	 */
	public static List<String> findAllCities() {
		List<String> cities = new ArrayList<String>();

		db = dbHelper.getReadableDatabase();
		Cursor cur = db.rawQuery("select * from city ", null);
		while (cur.moveToNext()) {
			cities.add(cur.getString(1));

		}
		return cities;

	}

	/* get the number of all the city record */
	public static int getCityCount() {
		db = dbHelper.getWritableDatabase();
		Cursor cur = db.rawQuery("select count(*) from city", null);
		if (cur.moveToNext()) {
			return cur.getInt(0);

		}
		return 0;
	}

	/* get the number of all the web record */
	public static int getWebCount() {
		db = dbHelper.getWritableDatabase();
		Cursor cur = db.rawQuery("select count(*) from website", null);
		if (cur.moveToNext()) {
			return cur.getInt(0);

		}
		return 0;
	}

	/* get the number of all the cw record */
	public static int getCwCount() {
		db = dbHelper.getWritableDatabase();
		// Cursor cur = db.rawQuery("select count(*) from cw", null);
		// if (cur.moveToNext()) {
		// return cur.getInt(0);
		//
		// }
		return 0;
	}

}
 5、部分简单文件没有上传,可以自己实现。
分享到:
评论

相关推荐

    Android SQLite数据库操作Demo

    在这个"Android SQLite数据库操作Demo"中,我们将探讨如何在Android应用中创建、查询、更新和删除SQLite数据库的数据。 1. **数据库初始化** 在Android中,我们通常通过扩展SQLiteOpenHelper类来初始化SQLite...

    android Sqlite数据库操作demo

    在这个"android Sqlite数据库操作demo"中,我们可以深入理解如何在Android应用中进行SQLite的增删改查操作。 首先,我们需要在Android项目中创建一个SQLite数据库。这通常通过继承SQLiteOpenHelper类来实现。...

    Android SQLite数据库操作demo

    本篇将基于一个名为"Android SQLite数据库操作demo"的示例项目,探讨如何在Android中进行SQLite数据库的相关操作。原作者的博客地址为http://blog.csdn.net/liuhe688/article/details/6715983。 首先,我们来看一下...

    android sqlite操作 demo

    本`android sqlite操作 demo`提供了关于如何在Android应用中使用SQLite进行数据操作的示例。 SQLite在Android中的使用通常包括以下几个步骤: 1. **创建数据库**: 首先,我们需要创建一个SQLite数据库。这通常是...

    Android操作SQLite数据库Demo

    在Demo中,可能使用了`AsyncTask`来封装数据库操作。 6. **Android Studio集成**: 使用Android Studio可以方便地管理SQLite数据库。可以借助SQLite Database Browser插件查看和编辑数据库内容,或者使用Android ...

    android sqlite的升级demo

    本文将详细讲解如何在Android项目中进行SQLite数据库的升级,结合提供的"android sqlite的升级demo"来深入理解这一过程。 首先,我们需要明白SQLite数据库的版本管理。在Android中,每个SQLite数据库都有一个关联的...

    Android SQLite的基本操作Demo

    在实际开发中,我们还需要考虑线程安全、事务处理、错误处理等更复杂的情况,但这些基本操作是理解SQLite在Android应用中的运用的基础。通过实践和学习,开发者可以熟练掌握SQLite的使用,为应用提供高效、可靠的...

    基于Android的SQLite数据库操作Demo

    本教程将详细讲解如何在Android环境中进行SQLite数据库的操作,包括创建数据库、创建表、插入数据、查询数据以及更新和删除数据。 首先,创建SQLite数据库在Android中通常是在`SQLiteOpenHelper`的子类中完成的。`...

    android存取Sqlite3数据库demo

    本篇将基于提供的"android存取Sqlite3数据库demo"进行详细的解析,帮助你快速掌握如何在Android应用中操作SQLite3数据库。 首先,我们来看看SQLite在Android中的基本使用步骤: 1. **创建数据库**: 在Android中...

    SQLite数据库操作demo

    这个"SQLite数据库操作demo"旨在提供一个基础的示例,帮助初学者了解如何在Android环境中进行SQLite数据库的创建、查询、更新和删除等基本操作。 首先,Android中的SQLite数据库操作通常涉及以下步骤: 1. **创建...

    Android的SQlite开发完整demo

    SQlite开发的完整demo,功能有: 1,建了一个表,结构是id+姓名 2,可以删除 增加 更新记录 3,解决了Android的SQlite先天不足:删除 插入后主键不能自动排序的问题 4,在数据库主界面,有“选定”按钮,点此后切换...

    android sqlite数据库 demo code

    在"android sqlite数据库 demo code"中,我们可以看到一个简单的Android应用示例,该示例演示了如何使用SQLite数据库进行数据的增删改查操作。下面将详细介绍这些关键知识点: 1. **SQLiteOpenHelper**: 这是...

    android基本SQLite数据库操作的增删改查demo

    在本示例"android基本SQLite数据库操作的增删改查demo"中,开发者创建了一个用于管理停车位查询的应用,其中涉及到了对SQLite数据库的基础操作:增加数据(Add)、查询数据(Query)、删除数据(Delete)以及修改...

    sqlite3 简易DEMO

    7. **编译与链接**:DEMO中可能包含编译和链接SQLite3库的步骤,如`-lsqlite3`链接选项的使用。 通过研究这个DEMO,开发者可以掌握SQLite3的基本用法,包括数据库的打开和关闭、SQL语句的执行、数据的读写等核心...

    android sqlite3 demo

    这个"android sqlite3 demo"是一个完整的示例项目,旨在帮助初学者理解如何在Android应用中有效地使用SQLite3进行数据的增删改查操作。 首先,我们来了解一下SQLite3在Android中的基本用法。在Android应用中,...

    sqlite数据库使用demo

    本教程将通过一个名为"AndroidDemo_008"的项目示例,详细讲解如何在Android上使用SQLite数据库进行基本的增删查改操作。 首先,我们需要在Android项目中添加SQLite的支持。在`build.gradle`文件中,确保你已经包含...

Global site tag (gtag.js) - Google Analytics