別のクラスのメソッドを呼び出そうとしましたが、同じパッケージにありますが、私の電話でテストすると強制的に閉じます。以下別の.javaファイル内の他のクラスのメソッドを呼び出す
基本的に私はsqliteの、LocalSQLiteクラスのオブジェクトを作成し、sqlite.methodを(使用) は私のコードです:
Sqlitetest2Activity.java
package com.test.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class Sqlitetest2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocalSQLite sqlite = new LocalSQLite();
sqlite.createTable();
}
}
LocalSQLite.java
package com.test.test;
import android.app.Activity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.widget.Toast;
public class LocalSQLite extends Activity {
SQLiteDatabase mydb;
private static String DBNAME = "city.db"; // SQLITE DATABASE FILE NAME.
private static String TABLE = "citytable"; // TABLE NAME
/* CREATE TABLE IF NOT EXISTS */
public void createTable(){
try{
mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null);
mydb.execSQL("CREATE TABLE IF NOT EXISTS "+ TABLE +" (ID INTEGER PRIMARY KEY, CITY TEXT);");
mydb.close();
}catch(Exception e){
Toast.makeText(getApplicationContext(), "Error in creating table", Toast.LENGTH_LONG);
}
}
/* DROPS TABLE */
public void dropTable(){
try{
mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null);
mydb.execSQL("DROP TABLE " + TABLE);
mydb.close();
}catch(Exception e){
Toast.makeText(getApplicationContext(), "Error encountered while dropping table.", Toast.LENGTH_LONG);
}
}
/* THIS FUNCTION INSERTS DATA TO THE DATABASE */
public void insertIntoTable(String city_id, String city_name){
try{
mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null);
mydb.execSQL("INSERT INTO " + TABLE + "(ID, CITY) VALUES('"+city_id+"','"+city_name+"')");
mydb.close();
}catch(Exception e){
Toast.makeText(getApplicationContext(), "Error in inserting into table", Toast.LENGTH_LONG);
}
}
}
通常、「Forceclose」はlogcat stacktraceに準拠しています。このstackptraceを慎重にredingすることは、通常、何が起こったのかを理解することにつながり、コード内でweherが発生します。他の人が見ることができるようにこのスタックトレースを提供してください –
@ user1249055:スタックトレースを提供しました。 –