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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?