wuhudamahua 2016-05-08 15:26 采纳率: 0%
浏览 1486

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);
}

}

  • 写回答

5条回答

  • threenewbee 2016-05-08 15:31
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog