2 wuhudamahua wuhudamahua 于 2016.05.08 23:26 提问

Android一个简单数据库应用

图片说明我做了一个简单的Android数据库应用,就是一个在edittext中输入文字,点击按钮就把输入的文字保存到数据库中,但是db=dbHelper.getWritableDatabase(); 总是报错
package com.example.shujukushiyan;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

shujuku dbHelper;
EditText et;
Button bt;
Context context;
SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    dbHelper = new shujuku(context,"wenzi.db",null,3);
    et=(EditText) findViewById(R.id.et);   
    bt=(Button) findViewById(R.id.bt);
    bt.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            db=dbHelper.getWritableDatabase();              
            ContentValues values=new ContentValues();               
            values.put("neirong",et.getText().toString());
            db.insert("text", null, values);            
            Toast.makeText(context, "sava success", 0).show();
        }           
    });
}

}

这是数据库代码
package com.example.shujukushiyan;

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

public class shujuku extends SQLiteOpenHelper {

public shujuku(Context context, String name, CursorFactory factory,
        int version) {
    super(context, name, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {

    db.execSQL("create table text("+"id integer primary key autoincrement,"+"neirong text)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("dorp table if exists text");
    onCreate(db);
}

}

6个回答

caozhy
caozhy   Ds   Rxr 2016.05.08 23:31

多半是你数据库文件的路径有问题。

CSDNXIAOD
CSDNXIAOD   2016.05.08 23:32

一个简单的鸽巢原理的应用
创建一个简单android百度地图应用
一个FMDB数据库简单应用
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

cuizehui123
cuizehui123   2016.05.08 23:56

看logcat啊,感觉有可能是数据库建表错误吧。没返回数据库造成空指针异常。。

wuhudamahua
wuhudamahua 已发log
大约 2 年之前 回复
l_vaule
l_vaule   2016.05.09 00:19

最好把log发一下,而且你确定这样的表能建出来?

l_vaule
l_vaule 好吧,可以。
大约 2 年之前 回复
sl_18500
sl_18500   2016.05.09 09:35

报错是什么错呢?空指针?还是?

wuhudamahua
wuhudamahua 已发log
大约 2 年之前 回复
sinat_33164199
sinat_33164199   2016.05.09 17:55

什么错?你可以把错误粘出来,看一下

wuhudamahua
wuhudamahua 已发log
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用JDBC开发简单的数据库应用
1、JDBC简介 JDBC是Java应用程序与数据库进行连接的“桥梁”。它的设计目标是跨平台,也即是说只要你安装了对应数据库的驱动程序,你就可以通过实现 JDBC的驱动程序连接多种数据库。也就是说,JDBC是一种接口,具体的实现由相关的数据库产商提供,如优秀的开源软件MySQL、微软公司的MS SQL server 、甲骨文公司的Oracle等。 2、MVC简介 M
实验2:小型数据库设计
题目:自己设计一个小型数据库。个人比较喜欢看电影,于是用Python爬了豆瓣Top250的电影,做了一个关于电影的小型数据库,这里只举一小部分作为例子。关系模式:电影名称关系模式 TITLE(MNO,MNAME) 电影评分关系模式 RATING(MNO,MSCORE) 电影标签关系模式 TAG(MNO,MTAG) 演员关系模式 ACTOR(NAME,BIRTH,STAR,BLOOD) 创建...
一个简单的访问数据库的应用程序
file 1  : 先把主程序的父类搬来!/* * date:   2004-11-20 * author:zhangyu6050; * todo: * bugs:  */package sd; import javax.swing.*;import java.awt.*;import java.awt.event.*;public abstract class MyQQPan extends
Android开发三:数据库设计及应用(一)
SqlLite public class DBHelper { public static final String DB_DBNAME = "scanner";//数据库名称 public static final String DB_TABLENAME = "product";//数据表名称 public static final int VERSION = 4;//
简单数据库设计实例
本文档主要是针对数据库的设计开发、属性、表设计
简单数据库管理系统
您好啊:<br> 这款简单数据库管理软件实现操作数据库一些基本功能,呵呵。<br>先运行sql脚本,在运行beta.exe。
Android SQLite 如何制作一个简易通讯录(附上代码)
实习阶段,今天没什么事可做,就写个通讯录玩玩,供大家参考一下具体实现方法和步骤,希望对大家有用。 首先作为通讯录总得有数据吧,那数据怎么来,又该如何显示呢,我用SQLite存储读写数据的。 先给大家看看效果图吧:       图1.当没有添加时的显示内容                                          图2.插入一条数据时的显示界面
一个简单的数据库应用源码
一个简单的数据库应用源码,打开 修改 插入等操作,适合初学者
python——简单的数据库应用程序
简单的数据库应用程序import sys import shelve def store_person(db): """ query user for data and store it in the shelf object :param db: :return: """ pid = raw_input('enter unique ID number
数据库应用系统的开发具体分为哪几个阶段
问:数据库应用系统开发具体分为哪几个阶段? 答:数据库应用系统的开发是一项软件工程。一般可分为以下几个阶段: 1.规划 2.需求分析 3.概念模型设计 4. 逻辑设计 5.物理设计 6.程序编制及调试 7.运行及维护。 这些阶段的划分目前尚无统一的标准,各阶段间相互联接,而且常常需要回溯修正。 在数据库应用系统的开发过程中,每个阶段的工作成果就是写出相应的文档。每个阶段都是在