这是我使用过的代码。我想为数据库添加一个名称。当我在EditText中输入名称时,它接受,当我点击提交按钮时,它会显示消息" App_name已经停止了#34; activity_main.xml中
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="70dp"
android:text="USERNAME"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textView1"
android:layout_marginLeft="28dp"
android:layout_toRightOf="@+id/textView1"
android:ems="10"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_below="@+id/editText1"
android:layout_marginTop="50dp"
android:text="SUBMIT" />
</RelativeLayout>`
Main_Activity.java
package com.example.dbconcept;
import android.os.Bundle;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener {
Button b;
String user;
EditText usr;
SQLiteDatabase db;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b=(Button)findViewById(R.id.button1);
try{
db=openOrCreateDatabase("Mydb",MODE_PRIVATE,null);
db.execSQL("create table table1(user varchar(50))");
}
catch(Exception e)
{
}
b.setOnClickListener(this);
}
public void onClick(View arg0) {
user=usr.getText().toString();
db.execSQL("insert into table1 values('"+user+"')");
}
}
答案 0 :(得分:5)
您尚未初始化usr
只需添加
usr = (EditText) findViewById(R.id.editText1)
到onCreate
答案 1 :(得分:2)
您忘记初始化使用EditText
。
usr = (EditText) findViewById(R.id.editText1)
在onCreate(...)
setContentView(R.layout.activity_main);
中添加此内容