【基于eclipse的安卓开发】
软件运行总是闪退,希望能帮忙调试一下,希望今天能改好,改好没问题我会直接采纳的
这是总的项目文件目录,主页我放了源文件,如果可以的话希望帮忙看看
package com.example.cidian;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import android.os.Bundle;
import android.app.Activity;
import android.widget.EditText;
import android.widget.Button;
import android.widget.TextView;
import android.view.View;
import android.database.sqlite.SQLiteDatabase;
import android.database.Cursor;
public class Cha extends Activity{
Button bt7;
TextView text4;
EditText text3;
SQLiteDatabase db;
String databaseFilename="dictionary.db";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cha);
text3 = (EditText)findViewById(R.id.text3);
text4 = (TextView)findViewById(R.id.text4);
bt7 = (Button)findViewById(R.id.bt7);
db=SQLiteDatabase.openOrCreateDatabase(databaseFilename, null);
InputStream is = getResources().openRawResource(R.raw.dictionary);
try {
FileOutputStream fos = new FileOutputStream(databaseFilename);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
bt7.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
String cword=text3.getText().toString();
String s1[] = { "chinese" };
String s2[] = { cword };
Cursor cu = db.query("t_words", s1, "english=?", s2,null, null, null);
String result = "未找到该单词";
if (cu.moveToFirst()) {
result = cu.getString(cu.getColumnIndex("chinese"));
}
text4.setText(text3.getText()+"\n"+result);
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F5F5"
android:gravity="center_horizontal"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="90sp"
android:layout_height="100sp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="34dp"
android:background="@drawable/tu" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="200sp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/imageView1"
android:layout_marginTop="130dp"
android:background="#FFFFFF" />
<TextView
android:layout_gravity="center"
android:id="@+id/text4"
android:textSize="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="280dp"
android:paddingLeft="40dp"
android:paddingTop="40dp"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="47dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageView2"
android:layout_gravity="center_horizontal"
android:ems="10" >
<requestFocus />
</EditText>
<Button
android:id="@+id/bt7"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@drawable/sousuo"
android:textSize="20sp" />
</LinearLayout>
</RelativeLayout>
查单词部分的数据库我不知道导入的代码怎么写,直接从ddms把数据库导入sdcard不知道为什么导入不了,就只能放在raw文件夹,但是这个我不是很会
package com.example.cidian;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.widget.Toast;
import android.widget.EditText;
import android.widget.Button;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.database.sqlite.SQLiteDatabase;
import android.database.Cursor;
import android.content.ContentValues;
import android.content.Context;
public class XiuGai extends Activity {
EditText editText1,editText2,editText3;
Button bt8,bt9,bt10,bt11,bt12,bt13;
SQLiteDatabase db;
ContentValues cv;
String name="";
String number="";
String specialty="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xiugai);
bt8 = (Button)findViewById(R.id.bt8);
bt9 = (Button)findViewById(R.id.bt9);
bt10 = (Button)findViewById(R.id.bt10);
bt11 = (Button)findViewById(R.id.bt11);
bt12 = (Button)findViewById(R.id.bt12);
bt13 = (Button)findViewById(R.id.bt13);
bt13.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
editText1 = (EditText)findViewById(R.id.editText1);
editText2 = (EditText)findViewById(R.id.editText2);
editText3 = (EditText)findViewById(R.id.editText3);
name = editText1.getText().toString();
number = editText2.getText().toString();
specialty = editText3.getText().toString();
}
});
}
public void myclick (View view){
switch(view.getId()){
case R.id.bt12:
db=openOrCreateDatabase("myData.db",Context.MODE_PRIVATE,null);
db.execSQL("drop table if exists student");
db.execSQL("create table student(id integer primary key autoincrement,name varchar,number varchar,specialty varchar)");
Toast.makeText(getApplicationContext(), "创建数据库成功", Toast.LENGTH_SHORT).show();
break;
case R.id.bt8:
cv=new ContentValues();
cv.put("name",name);
cv.put("number",number);
cv.put("specialty",specialty);
db.insert("student", null, cv);
Toast.makeText(getApplicationContext(), "添加记录成功", Toast.LENGTH_LONG).show();
break;
case R.id.bt9:
String s[] = { "1" };
db.delete("note", "id=?", s);
Toast.makeText(getApplicationContext(), "删除记录成功", Toast.LENGTH_LONG).show();
break;
case R.id.bt10:
cv=new ContentValues();
cv.put("name",name);
cv.put("number",number);
cv.put("specialty",specialty);
db.update("note", cv, null,null);
Toast.makeText(getApplicationContext(), "更新记录成功", Toast.LENGTH_LONG).show();
break;
case R.id.bt11:
Cursor cursor = db
.query("note", null, null, null, null, null, null);
while (cursor.moveToNext()) {
Toast.makeText(
getApplicationContext(),
"序号:" + cursor.getInt(0) + " 单词:" + cursor.getString(1)+ " 词性:" + cursor.getString(2) + " 翻译:"+ cursor.getString(3), Toast.LENGTH_LONG).show();
}
cursor.close();
break;
default:
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F5F5"
android:orientation="vertical" >
<Button
android:id="@+id/bt12"
android:layout_width="90sp"
android:layout_height="90sp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="45dp"
android:background="@drawable/wendang"
android:text="新增" />
<EditText
android:id="@+id/editText1"
android:layout_marginTop="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="#FFFFFF"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="#FFFFFF"
android:ems="10" />
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="#FFFFFF"
android:ems="10" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:orientation="horizontal" >
<Button
android:id="@+id/bt8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:text="添加"
android:textColor="#FFFFFF"
android:background="#212121"/>
<Button
android:id="@+id/bt9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:text="删除"
android:textColor="#FFFFFF"
android:background="#212121"/>
<Button
android:id="@+id/bt10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:text="查找"
android:textColor="#FFFFFF"
android:background="#212121"/>
<Button
android:id="@+id/bt11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:text="更新"
android:textColor="#FFFFFF"
android:background="#212121" />
</LinearLayout>
<Button
android:id="@+id/bt13"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:background="#212121"
android:text="加载"
android:textColor="#FFFFFF" />
</LinearLayout>
修改界面就是数据库的增删查更新,其实和前面没什么关系,就是单独的,但是我也不知道为什么按钮似乎没反应,还会超时
什么意思
仔细看你这代码好像没有什么问题,你需要检查一下按钮点击时是否出现异常信息。这可以通过在点击事件处理代码中使用 try-catch 块来实现。如果有异常发生,就会打印出异常信息,这样就可以更好地了解问题所在。
做Android开发建议用Android Studio,如果您使用的是 Android Studio,可以在“Logcat”窗口中查看日志信息。如果有异常信息出现,就会在这里显示。
如果您还是无法解决问题,可以尝试以下步骤:
1、检查目标 Activity 是否在清单文件中声明。
2、检查目标 Activity 是否在应用的包中。
3、检查是否在代码中使用了正确的资源 ID。
4、检查是否在设置 Intent 的时候指定了正确的目标 Activity。
5、检查是否有其他的因素导致了应用的崩溃。