Признаюсь, я новичок во всем этом Android.Я пытаюсь создать приложение, но случайно получаю ошибки Force close, и я действительно не знаю почему.Мое приложение имеет много действий, ни одно из них не завершает (), когда я запускаю новое.Я получаю данные из Интернета (через веб-сервисы и прямую загрузку изображений) и часто использую AsyncTask.Большую часть времени он падает на асинхронной задаче.Вот пример того, как я делаю вещи:
private BackTask backTask;
Activity ctx = this;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.trackslist);
backTask = new BackTask();
backTask.execute();
}
protected class BackTask extends AsyncTask<Context, String, myObject>
{
@Override
protected myObject doInBackground(Context... params)
{
try{
if (hasInternet(ctx)==true)
{
//access the web SERVICE here
//initialize myObject WITH result FROM the web
return myObject
}
else
{
return null
}
}catch(Exception ex){
return null;
}
}
@Override
protected void onPreExecute()
{
super.onPreExecute();
}
@Override
protected void onProgressUpdate(String... values)
{
super.onProgressUpdate(values);
}
@Override
protected void onCancelled()
{
super.onCancelled();
}
@Override
protected void onPostExecute( myObject result )
{
super.onPostExecute(result);
if (result==null || result.isEmpty())
{
//no valid result, show a message
}
else
{
//result valid do something with it
}
}
}
@Override
public void onPause()
{
if (backTask!=null && ! backTask.isCancelled())
{
backTask.cancel(true);
}
super.onPause();
}
public void btnStartOnClick(View target) {
Intent intent = new Intent(this, MyNewActivity.class);
startActivity(intent);
}
Когда действие получает OnPause (), задача отменяется.Я не уверен, что произойдет во время try / catch, если появится ошибка, из того, что я сделал, она должна вернуть ноль, но я думаю, что здесь я что-то упускаю.Как я уже говорил ранее, случайно получаю силу, близкую, даже если я нахожусь на другой Деятельности.Это действительно расстраивает, так как я не могу предложить приложение с таким поведением.Итак, что я делаю не так?