unfortunately的问题

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。。。闪退问题,看了半天没找到原因,求救!!!

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
irista23 2017-09-23 20:24:01

可以把logcat中的红色报错信息贴出来方便我们帮你快速分析解决问题~

  • 提问者 慕婉清9984016 #1
    21:35 Adb connection Error:远程主机强迫关闭了一个现有的连接。 21:35 Connection attempts: 1 21:35 Connection attempts: 2 21:35 Connection attempts: 3 21:35 Connection attempts: 4 21:35 Connection attempts: 5 21:35 Connection attempts: 6 21:35 Connection attempts: 7 21:35 Connection attempts: 8 21:35 Connection attempts: 9 21:35 Connection attempts: 10 21:35 Connection attempts: 11 21:38 Executing tasks: [:DatabaseDemo:assembleDebug] 21:38 Gradle build finished in 5s 48ms
    2017-09-23 21:39:37
  • irista23 回复 提问者 慕婉清9984016 #2
    报错原因是adb运行失败了,原因可能是你电脑上同时有其他的安卓读写工具的进程运行着,比如手机管家、助手之类,你检查一下如果有关闭上再重启adb试试。也有可能是端口被占用而被破关闭的,那就要查看什么进程的端口冲突了。
    2017-09-23 22:19:17
  • 提问者 慕婉清9984016 回复 irista23 #3
    :DatabaseDemo:generateDebugSources, :DatabaseDemo:generateDebugAndroidTestSources, :DatabaseDemo:mockableAndroidJar, :DatabaseDemo:prepareDebugUnitTestDependencies, 8:21 Gradle build finished in 37s 561ms 8:58 Executing tasks: [:DatabaseDemo:assembleDebug] 8:58 Gradle build finished in 2s 364ms clean了一下,错误是这个,请问这个怎么解决,谢谢啦~
    2017-09-24 09:02:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android网络操作与数据存储2018版
  • 参与学习           人
  • 提交作业       307    份
  • 解答问题       1613    个

本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师