unfortunately的问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | package com.imooc.tao.myapplication; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private Button insert_btn,delete_btn,update_btn,select_btn; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); setListener(); } private void setListener() { ButtonListener b= new ButtonListener(); insert_btn.setOnClickListener(b); delete_btn.setOnClickListener(b); update_btn.setOnClickListener(b); select_btn.setOnClickListener(b); } private void initView() { insert_btn=(Button)findViewById(R.id.insert_btn); delete_btn=(Button)findViewById(R.id.delete_btn); update_btn=(Button)findViewById(R.id.update_btn); select_btn=(Button)findViewById(R.id.select_btn); } class ButtonListener implements View.OnClickListener{ @Override public void onClick(View view) { switch (view.getId()){ case R.id.insert_btn: //参数2:数据库名称 //如果只有一个数据库名称,那么这个数据库位置将在私有目录中 //或给指定路径(sd卡) //游标工厂,null默认 String path= Environment.getExternalStorageDirectory()+ "/test2.db" ; SQLiteOpenHelper helper= new SQLiteOpenHelper(MainActivity. this ,path, null , 2 ) { @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { //数据库不存在就创建,调用onCreate(),表的创建可以放里面 存在就不创建了 回调方法 Toast.makeText(MainActivity. this , "数据库创建" ,Toast.LENGTH_SHORT).show(); String sql= "create table test_tb(_id integer primary key autoincrement," + "name:varchar(20)," + "age:integer" + ")" ; sqLiteDatabase.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { Toast.makeText(MainActivity. this , "数据库升级" ,Toast.LENGTH_SHORT).show(); } }; //获取数据库对象 //数据库不存在就创建,调用onCreate(),表的创建可以放里面 存在就不创建了 //数据库存在,版本号升高,就调用升级方法 SQLiteDatabase db= helper.getReadableDatabase(); // db.rawQuery() 查询 // db.execSQL();添加 删除 修改 创建表 break ; case R.id.delete_btn: break ; case R.id.update_btn: break ; case R.id.select_btn: break ; } } } } |
运行之后也不报错,点了 添加 就unfortunately。。。闪退问题,看了半天没找到原因,求救!!!
13
收起
正在回答 回答被采纳积分+1
Android网络操作与数据存储2018版
- 参与学习 人
- 提交作业 307 份
- 解答问题 1613 个
本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧