downloadTaskクラスを分割して新しいクラスファイルを作成しましたが、MainAcvtivityでそのクラスを呼び出そうとするとdownloadTask()を解決できません。MainActivity以外のアンドロイドクラスを呼び出すとシンボルを解決できません
public class downloadTask extends AsyncTask <String ,Void,String>{
public String desURL;
public String Date;
Context context;
private downloadTask(String desURL, String Date,Context context){
this.desURL = desURL;
this.Date = Date;
this.context = context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
//this method will be running on UI thread
}
@Override
protected String doInBackground(String... args){
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
//this method will be running on UI thread
}
}
MainActivityで私のdownloadTaskクラスを使用して問題を解決してください。コードの下移動:ここ
はそれpublic
/*private*/ public downloadTask(String desURL, String Date,Context context){
this.desURL = desURL;
this.Date = Date;
this.context = context;
}
ヒント行い、このクラスのオブジェクトは他のクラスから作成することができませんので、あなたがprivate
コンストラクタを持っている私のMainActivity.class
public class MainActivity extends AppCompatActivity {
Context context = this;
SharedPreferences sharedPref = context.getSharedPreferences(
getString(R.string.last_update_key), Context.MODE_PRIVATE);
String lastUpdate = sharedPref.getString(getString(R.string.last_update_key),"0");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
if(lastUpdate == "0"){
Toast.makeText(this,R.string.need_for_update,Toast.LENGTH_LONG).show();
}
}
あなたの主な活動を報告したり、新しいdownloadTaskを試してください。 – Pavya
@Pavya問題を解決しませんでした! –
mainacitivity plusの 'downloadTask'クラスに関連するコードが見つかりませんでした。' context'はnullです。 –