吴一个小白 2022-04-23 21:51 采纳率: 83.3%
浏览 19
已结题

Android studio运行出问题

为什么啊,真的找不出来,给各位伟大的网友可否帮我找找

img

img

package com.example.directory;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText et_name;
private EditText et_phone;
private Button btn_add;
private Button btn_query;
private Button btn_update;
private Button btn_delete;
private TextView textView;
private MyHelper myHelper;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    et_name = (EditText) findViewById(R.id.editText);
    et_phone = (EditText) findViewById(R.id.editText2);
    btn_add = (Button) findViewById(R.id.button);
    btn_query = (Button) findViewById(R.id.button2);
    btn_update = (Button) findViewById(R.id.button3);
    btn_delete = (Button) findViewById(R.id.button4);
    textView = (TextView) findViewById(R.id.textView3);
    btn_add.setOnClickListener(this);
    btn_query.setOnClickListener(this);
    btn_update.setOnClickListener(this);
    btn_delete.setOnClickListener(this);
    myHelper = new MyHelper(this);
}

public void onClick(View v) {
    String name, phone;
    ContentValues values;
    SQLiteDatabase db;
    switch (v.getId()) {
        case R.id.button://add
            name = et_name.getText().toString();
            phone = et_phone.getText().toString();
            values = new ContentValues();
            values.put("name", name);
            values.put("phone", phone);
            db = myHelper.getWritableDatabase();
            db.insert("information", null, values);
            Toast.makeText(this, "信息已添加", Toast.LENGTH_SHORT).show();
            db.close();
            break;
        case R.id.button2://query
            db = myHelper.getReadableDatabase();
            Cursor cursor = db.query("information", null, null, null, null, null, null);
            if (cursor.getCount() == 0) {
                Toast.makeText(this, "没有数据", Toast.LENGTH_SHORT).show();
                textView.setText("");
            } else {
                cursor.moveToFirst();
                textView.setText("Name:" + cursor.getString(1) + ";Tel" + cursor.getString(2));
                while (cursor.moveToNext()) {
                    textView.append("\n" + "Name:" + cursor.getString(1) + ";Tel" + cursor.getString(2));
                }
            }
            cursor.close();
            db.close();
            break;
        case R.id.button3://update
            db = myHelper.getWritableDatabase();
            values = new ContentValues();
            values.put("phone", phone = et_phone.getText().toString());
            db.update("information", values, "name=?", new String[]{et_name.getText().toString()});
            Toast.makeText(this, "信息已修改", Toast.LENGTH_SHORT).show();
            db.close();
            break;
        case R.id.button4://delete
            db = myHelper.getWritableDatabase();
            db.delete("information", null, null);
            Toast.makeText(this, "信息已删除", Toast.LENGTH_SHORT).show();
            textView.setText("");
            db.close();
            break;


    }
}

class MyHelper extends SQLiteOpenHelper {
    public MyHelper(Context context) {
        super(context, "itcast.db", null, 1);

    }

    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE information(_id INTERGER PRIMARY KEY " +
                "AUTOINCREMENT,name VARCHAR(20),phone VARCHAR(20))");

    }

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

}

  • 写回答

2条回答 默认 最新

  • 不会写代码的猴子 Android领域优质创作者 2022-04-24 10:00
    关注

    img


    耗时操作放到多线程去操作,不要在主线程

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月23日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改