android创建数据库及adb查看数据库

1 篇文章 0 订阅
1 篇文章 0 订阅

这个类用来帮助建立打开数据库:

package com.kevin.db;

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

public class DbOpHelper extends SQLiteOpenHelper
{

    private static final String dbName = "GeekDiary.db";

    public DbOpHelper(Context context,int version)
    {
        super(context, dbName, null, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db)
    {
        String sql = "create table diary("//
                + "date varchar primary key,"//
                + "count varchar,"//
                + "title varchar"//
                + ");";
        db.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {

    }

}

定义一个接口,用来规定对数据库的操作:

package com.kevin.db;

import android.content.Context;

public interface DbOperate
{
    public void addData(Context context, int version, String title, String count);

}

实现接口的类:

package com.kevin.db;

import com.kevin.util.DateUtil;

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

public class DbOperateImp implements DbOperate
{

    @Override
    public void addData(Context context, int version, String title, String count)
    {
        SQLiteDatabase sdb = null;
        try
        {

            DbOpHelper dbOpHelper = new DbOpHelper(context, version);
            sdb = dbOpHelper.getWritableDatabase();
            String sql = "insert into diary values(?,?,?)";
            sdb.execSQL(sql, new String[]
            { DateUtil.getStrDate(), count, title });
        } catch (Exception e)
        {

        } finally
        {
            sdb.close();
        }
    }

}

Activity:

package com.kevin.activity;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

import com.kevin.db.DbOperate;
import com.kevin.db.DbOperateImp;

public class MainActivity extends BaseActivitiy implements OnClickListener
{

    private EditText etTitle, etCount;
    private Context context;
    private Button bnCommit;
    private int dbVersion = 1;
    private DbOperate operate;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initViews();
        operate = new DbOperateImp();

    }

    private void initViews()
    {
        context = MainActivity.this;
        etTitle = (EditText) findViewById(R.id.et_title);
        etCount = (EditText) findViewById(R.id.et_count);
        bnCommit = (Button) findViewById(R.id.bn_commit);
        bnCommit.setOnClickListener(this);
    }

    SQLiteDatabase sdb;

    @Override
    public void onClick(View v)
    {
        switch (v.getId())
        {
        case R.id.bn_commit:

            String title = etTitle.getText().toString();
            String count = etCount.getText().toString();
            operate.addData(context, dbVersion, title, count);
            break;

        default:
            break;
        }
    }
}

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="60dp" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:layout_centerVertical="true"
            android:gravity="center"
            android:text="---" />

        <Button
            android:id="@+id/bn_commit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:text="Commit" />
    </RelativeLayout>

    <EditText
        android:id="@+id/et_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/et_count"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

</LinearLayout>

  OK,够简单吧。
  再来说下adb打开已建立的数据库。
  首先,确保adb能够在cmd下运行出来,配置adb环境变量。
  1.新建环境变量
  新建环境变量
  2.放到path变量中引用
  放到path变量中引用
  3.cmd下验证
  这里写图片描述

  OK,下面来打开数据库。
  打开数据库 
  可以输入“.table”来查看都有哪些表。
  select * from sqlite_master where type=”table”;来查看表结构。
  select * from sqlite_master where type=”table” and name=”diary”;查看名为diary的表的结构。
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值