Anroid——第三方数据库SQLite——SQLiteOpenHelper+SQLiteDatabase

Anroid——第三方数据库SQLite——SQLiteOpenHelper+SQLiteDatabase





<span style="font-size:18px;">package com.example.jreduch08.DataBaseHelpp;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.support.ConnectionSource;
import com.j256.ormlite.table.TableUtils;

import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

public  class DatabaseHelper extends OrmLiteSqliteOpenHelper {
    private static final String TABLE_NAME = "ormtest.db";
    private Map<String, Dao> daos = new HashMap<String, Dao>();
    private static DatabaseHelper instance;
    private DatabaseHelper(Context context) {
        super(context, TABLE_NAME, null, 1);
    }
    @Override  
    public void onCreate(SQLiteDatabase database,
            ConnectionSource connectionSource) {
        try {
            TableUtils.createTable(connectionSource, User.class);
        } catch (SQLException e) {
            e.printStackTrace();  
        }  
    }
    @Override  
    public void onUpgrade(SQLiteDatabase database,  
            ConnectionSource connectionSource, int oldVersion, int newVersion) {
        try {
            TableUtils.dropTable(connectionSource, User.class, true);
            onCreate(database, connectionSource);  
        } catch (SQLException e) {
            e.printStackTrace();  
        }  
    }
    /** 
     * 单例获取该Helper 
     *  
     * @param context 
     * @return 
     */  
    public static synchronized DatabaseHelper getHelper(Context context) {
        context = context.getApplicationContext();  
        if (instance == null) {
            synchronized (DatabaseHelper.class) {
                if (instance == null)  {
                    instance = new DatabaseHelper(context);
                }
            }  
        }
        return instance;  
    }
    public synchronized Dao getDao(Class clazz) throws SQLException {
        Dao dao = null;  
        String className = clazz.getSimpleName();
        if (daos.containsKey(className)) {
            dao = daos.get(className);  
        }  
        if (dao == null) {
            dao = super.getDao(clazz);  
            daos.put(className, dao);  
        }  
        return dao;  
    }
    /** 
     * 释放资源 
     */  
    @Override  
    public void close() {
        super.close();
        for (String key : daos.keySet()) {
            Dao dao = daos.get(key);  
            dao = null;  
        }  
    }
}  </span>


<span style="font-size:18px;">package com.example.jreduch08.DataBaseHelpp;

import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

/**
 * Created by 冲天之峰 on 2016/8/23.
 */

@DatabaseTable (tableName = "user")//表名
public class User {
    @DatabaseField(id=true)  //主键
private String  userId;
    @DatabaseField            //(columnName = "userName")
    private String name;
    @DatabaseField
    private int age;

    public User(){}

    public User(String userId, String name, int age) {
        this.userId = userId;
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUserId() {
        return userId;
    }

    public String setUserId(String userId) {
        this.userId = userId;
        return userId;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }



}
</span>

<span style="font-size:18px;">package com.example.jreduch08.DataBaseHelpp;

import android.content.Context;

import com.j256.ormlite.dao.Dao;

import java.sql.SQLException;
import java.util.List;

/**
 * Created by 冲天之峰 on 2016/8/23.
 */
public class UserDaoOrm {

    private Context context;
    private Dao<User,Integer> userDao;
    private DatabaseHelper helper;

    public   UserDaoOrm(Context context){
        this.context=context;
        helper=DatabaseHelper.getHelper(context);
        try {
            userDao=helper.getDao(User.class);
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    public  void  add(User user){

        try {
            userDao.createOrUpdate(user);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    //查询全部
    public List<User> select() {
        try {
            return  userDao.queryForAll();
        } catch (SQLException e) {
            e.printStackTrace();
        }
return null;

    }

    public  void delete(User user){

        try {
            userDao.delete(user);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }



    public User selectUser(String id){

        try {
           return   userDao.queryBuilder().where()
                   .eq("userId",id)
                   .queryForFirst();

        } catch (SQLException e) {
            e.printStackTrace();
        }
return null;
    }




}
</span>

<span style="font-size:18px;">package com.example.jreduch08.DataBaseHelpp;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import com.example.jreduch08.R;

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

public class UserDaoTestActivity extends AppCompatActivity {
    private EditText name,age,userId;
    private Button button1,button2,button4,button5,button6;
    private TextView tv;
    private Spinner sp;
    private UserDaoOrm userDaoOrm;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user_dao_test);
        name= (EditText) findViewById(R.id.name);
        age= (EditText) findViewById(R.id.age);
       userId= (EditText) findViewById(R.id.userId);
        button1= (Button) findViewById(R.id.button1);
        button2= (Button) findViewById(R.id.button2);
        button6= (Button) findViewById(R.id.button6);
        button4= (Button) findViewById(R.id.button4);
        button5= (Button) findViewById(R.id.button5);
        sp= (Spinner) findViewById(R.id.sp);
        tv= (TextView) findViewById(R.id.tv);
        userDaoOrm=new UserDaoOrm(this);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                 User user=new User();
                user.setUserId(userId.getText().toString());
                user.setName(name.getText().toString());
                user.setAge(Integer.parseInt(age.getText().toString()));
                userDaoOrm.add(user);
                Toast.makeText(getBaseContext(),"新增成功",Toast.LENGTH_SHORT).show();

            }
        });
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                List<User> list=userDaoOrm.select();
                String text="";
                List myData=new ArrayList();
                for (User u:list){
                    myData.add(u.getUserId()+":"+u.getName()+":"+u.getAge());
                    text=text+u.getUserId()+":"+u.getName()+":"+u.getAge()+"\n";
                }
                ArrayAdapter aa=new ArrayAdapter(getBaseContext(),android.R.layout
                        .simple_list_item_1,myData);
                sp.setAdapter(aa);
                tv.setText(text);
            }
        });
        button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                User user=new User();
                user.setUserId(userId.getText().toString());
                user.setName(name.getText().toString());
                user.setAge(Integer.parseInt(age.getText().toString()));
                userDaoOrm.delete(user);
                Toast.makeText(getBaseContext(),"删除成功",Toast.LENGTH_SHORT).show();

        }
        });
        button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                User user=new User();
                String  id="";
               id= userId.getText().toString();

               tv.setText(userDaoOrm.selectUser(id).getUserId()+":"+userDaoOrm.selectUser(id).getName()+
                       ":"+userDaoOrm.selectUser(id).getAge());
               user=userDaoOrm.selectUser(id);
               name.setText(user.getName().toString());
                age.setText(user.getAge()+"");
                Toast.makeText(getBaseContext(),"查询一个成功",Toast.LENGTH_SHORT).show();

            }
        });

        button6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(!userId.getText().toString().equals("")){
                    User u=new User();
                    u.setUserId(userId.getText().toString());
                    userDaoOrm.delete(u);
                    Toast.makeText(getBaseContext(), "删除一个成功", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}
</span>




这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、 以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员 快速开发自己的APP 已集成第三方开源组件: 网络请求库android-async-http 图片异步加载库universal-image-loader Sqlite数据库操作ormlite-android 社会化分享ShareSDK+短信验证码 Zxing二维码库 百度地图定位SDK 谷歌依赖注入库RoboGuice WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,支持多种接口回调 SOAP协议通信工具类(ToolSOAP.java),基于异步回调请求WebService接口 Sqlite数据库操作工具类(ToolDatabase.java),获取DAO、创建表、删除表等API 提示信息对话框工具类(ToolAlert.java),已集成泡泡、土司、对话框三种提示 文件操作工具类(ToolFile.java),assets/raw/xml/shrePerface/等文件读写API 地图定位工具类(ToolLocation.java),读取GPS状态、请求定位、获取经纬度等方法 社会化分享工具类(ToolShareSDK.java),各大开发平台分享API操作 短信验证码工具类(ToolMSM.java),移动/联通/电信三网发送手机短信验证码、异步回调验 证结果 字符串操作工具类(ToolString.java),生成UUID、非空非NULL逻辑判断、生成MD5等常用共 通方法 数据操作工具类(ToolData.java),自动递归获取表单数据封装成Map、本地数据分页共通方 法等 图片操作工具类(ToolPicture.java),生成二维码、验证码、灰度、合成、圆角、水印等操 作 读取本地资源工具类(ToolResource.java),反射本地资源文件API,避免依赖R文件,方便 jar形式发布 Android单位转换工具类(ToolUnit.java),sp/dp/px互转 自定义Toast工具类(ToolToast.java),自定义背景色、字体颜色、大小、边框等 Properties操作工具类(ToolProperties.java),读写Properties文件操作 网络操作工具类(ToolNetwork.java),获取网络信息、更改切换网络等相关操作 日期操作工具类(ToolDateTime.java),获取日期、日期加减、格式化日期、日期转换等操作 XML操作工具类(ToolXml.java),基于DOM/XMLPullPaser模式解析、生成XML操作 XMPP操作工具类(ToolXMPP.java),基于XMPP协议的相关API操作 适配字体工具类(ToolAutoFit.java),代码根据设备密度自动缩放View的字体大小 LOG相关工具类(ToolLog.java) 功能待续-->切入记录异常日志,并存储文件或上传至服务 器 已封装/收集自定义控件: 兼容低版本的SwitchButton 追加自定义属性Value的CheckBox/RadioButton/RadioGroup/SingleSpinner 圆角提示信息TipsView 圆角图片RoundImageView 自定义样式风格Progres
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值