私が取り組んでいる Android アプリケーションがあり、コードが機能しています。特定の機能を別のファイルに移動して、コードを少しクリーンアップしようとしています。ただし、別のファイルから関数の 1 つを呼び出そうとすると、FATAL EXCEPTION: AsyncTask #5 と言ってクラッシュします。別のファイルでコンストラクターを作成しましたが、正しく実行していると思いましたが、そうではないと思います。どんな助けでも大歓迎です。
これが私のコードです:
DatabaseManager database;
public class loginTask extends AsyncTask<String, String, String> {
//check if server is online
protected String doInBackground(String... params) {
Log.d("test", "1");
String username = params[0];
String password = params[1];
URI absolute = null;
Log.d("test", "2");
try {
Log.d("test", "3");
absolute = new URI("http://link.com/webservice/");
} catch (URISyntaxException e) {
Log.d("test", "4");
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("test", "5");
database.test();//crashes at this line
return postHttpResponse(absolute,username,password);
}
//set status bar to offline if flag is false
protected void onPostExecute(String jsonstring) {
try {
//get values from jsonobject
JSONObject jsonobj=new JSONObject(jsonstring);
checkResponse(jsonobj);
//errorMessage.setText(checkResponse(jsonobj));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
DatabaseManager.java
private final String LOGIN_TAG = "Login";
public DatabaseManager(){
}
public void test(){
Log.d(LOGIN_TAG, "this is a test");
}