unfortunately的问题
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积分~
来为老师/同学的回答评分吧
0 星