Kodum, "hss" dizesini içeren tüm dosyaları kendi adlarına silmek içindir. Bu, dahili bellekteki tüm dosyalar için iyi çalışır, ancak bir klasörde bulunan dosyaları silmez.Android dosyalarının düzgün şekilde silinmesi yolu
Nasıl çalışır? parantez içindeki
if (listFile[i].isDirectory()) {
}
şey koyun ... sadece ayrı yöntemle deleteDirectory
içine doInBackground
yöntemin en planı ayrı ve yinelemeli bu çağırabilirsiniz:
public class RemoveApkTraces extends Activity {
// getting SDcard root path
File dir = new File(Environment.getExternalStorageDirectory()
.getAbsolutePath());
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.done_ui);
// at the end of oncreate
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
new ExplorerDBOperation().execute();
}
}, 300);
}
class ExplorerDBOperation extends AsyncTask<Void, Boolean, Boolean> {
ProgressDialog dialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog = ProgressDialog.show(RemoveApkTraces.this, "Please wait",
"Processing.........");
}
@Override
protected Boolean doInBackground(Void... params) {
String Patternjpg = "hss";
File listFile[] = dir.listFiles();
if (listFile != null) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].isDirectory()) {
} else {
if (listFile[i].getName().contains(Patternjpg)) {
// Do what ever u want
listFile[i].delete();
}
}
}
}
return true;
}
@Override
protected void onPostExecute(Boolean aBoolean) {
super.onPostExecute(aBoolean);
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
}
}
@abbie not gördünüz mü? Şimdiye yakın bir ide yok ama sanırım sen fikir edinebilirsin .. düşünüyorum SO senin problemlerinle sana rehberlik etmektir, * lütfen-yaz-kodu-benim için * servis ... –
hey evet ben Onu gördüm. Cevap için teşekkürler. Sadece şunu cevaplayabilir misin merak ediyorum:) http://stackoverflow.com/questions/36323872/copy-files-from-assets-folder-to-sd-card-in-android – abbie