qq_31288483 2016-05-16 06:15 采纳率: 0%
浏览 1147

android一个萌新的问题。。

想做一个登陆界面,首先上布局
<?xml version="1.0" encoding="utf-8"?>
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="create"/>
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Query"/>
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add"/>

<EditText
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
<EditText
        android:id="@+id/text2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>


就三个button和两个editview,没什么好说的
然后做了一张表
package com.example.SqlTest;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**

  • Created by Administrator on 2016/5/15.
    */
    public class Userdata extends SQLiteOpenHelper {

    public static final String CREATE_BOOK = "create table Book("+"id integer primary key autoincrement,"
    +"account text,"+"password text)";

    public Userdata(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
    super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
    db.execSQL(CREATE_BOOK);
    }

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

    }
    }
    应该也没什么问题
    下面是mianactivity
    package com.example.SqlTest;

import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class MyActivity extends Activity {
/**
* Called when the activity is first created.
/
private EditText editText1;
private EditText editText2;
private Userdata userdata;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
userdata = new Userdata(this,"Data.db",null,1);
Button create = (Button) findViewById(R.id.button3);
create.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
userdata.getWritableDatabase();
}
});
Button add = (Button) findViewById(R.id.button2);
add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String input1 = editText1.getText().toString();
String input2 = editText2.getText().toString();
SQLiteDatabase db = userdata.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("account",input1);
values.put("password",input2);
db.insert("Book",null,values);
/*values.clear();
values.put("account","yzw");
values.put("password","15260880965");
db.insert("Book",null,values);
/
}
});
Button query = (Button) findViewById(R.id.button1);
query.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db = userdata.getWritableDatabase();
Cursor cursor = db.query("Book",null,null,null,null,null,null);
if (cursor.moveToFirst()) {
do
{
String aaa = cursor.getString(cursor.getColumnIndex("account"));
String ppp = cursor.getString(cursor.getColumnIndex("password"));
Log.d("MyActivity","account is "+aaa);
Log.d("MyActivity","password is"+ppp);
}while (cursor.moveToNext());
}
cursor.close();
}
});
}
}
代码做了两版,第一版我直接在代码里加数据到book里,这一版没问题(就是代码中注释掉的部分)
第二版我改成,获取两行editview中的内容,然后insert到book里,发现点击add按钮时程序就崩溃了。。。

实在不知道为什么会这样。。第一次在CSDN发帖,谢谢各位的解答。。

  • 写回答

1条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2016-05-16 06:25
    关注

    自己好好看看错误日志,里面必定有说明,要么就是getText为null,转换失败,要么值不符合字段类型,无法转换

    评论

报告相同问题?

悬赏问题

  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型