Comment vider complètement un Hashmap
Fermé
asmalak
Messages postés
8
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
24 avril 2015
-
Modifié par BunoCS le 24/04/2015 à 09:25
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 24 avril 2015 à 15:18
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 24 avril 2015 à 15:18
A voir également:
- Comment vider complètement un Hashmap
- Vider les cookies - Guide
- Comment vider un iphone - Guide
- Vider cache dns - Guide
- Comment vider le cache d'une application - Guide
- Vider la corbeille - Guide
2 réponses
BunoCS
Messages postés
15475
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
3 895
24 avril 2015 à 09:26
24 avril 2015 à 09:26
Hello,
HashMap.clear()
HashMap.clear()
BunoCS
Messages postés
15475
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
3 895
24 avril 2015 à 14:21
24 avril 2015 à 14:21
Sans code, pas facile de t'aider...
asmalak
Messages postés
8
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
24 avril 2015
24 avril 2015 à 14:53
24 avril 2015 à 14:53
une partie de MainActivity
partie de la calsse HistoriqueActivity
la classe HistoryFileManager
public class MainActivity extends Activity {
static String nom_application,api,string_messagerie,string_repertoire,string_calculatrice,string_calendrier,string_mms;
static String string_phone,string_gallery,string_navigateur,description_application,String_IP;
Button btn_HistApp;
Button btn_saveApp;
// déclaretion des checkBox , radioButton ,....
public final static String PAR_KEY = "com.pfe.bls.par";
HistoryFileManager HistFile = new HistoryFileManager();
btn_HistApp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent myintent = new Intent(v.getContext(),
HistoriqueActivity.class);
Bundle mBundle = new Bundle();
HistFile.putMenuItems();
mBundle.putParcelable(PAR_KEY, HistFile);
myintent.putExtras(mBundle);
startActivityForResult(myintent, operation);
}
});
btn_saveApp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
List<String> listInfo = new ArrayList<String>();
String dateCreation, heureCreation;
dateCreation = new SimpleDateFormat("dd/MM/yyyy").format(System
.currentTimeMillis());
heureCreation = new SimpleDateFormat("HH:mm:ss").format(System
.currentTimeMillis());
listInfo.add(dateCreation + "," + heureCreation);
listInfo.add(edit_AppName.getText().toString());
if (rb_ApiLocal.isChecked())
listInfo.add(Integer.toString(sdkVersion));
if (rb_Api18.isChecked())
listInfo.add("18");
if (rb_Api19.isChecked())
listInfo.add("19");
if (rb_Api20.isChecked())
listInfo.add("20");
listInfo.add(edit_AppDescr.getText().toString());
if (cb_Calc.isChecked())
listInfo.add(HistFile.KEY_CALCULATRICE);
else
listInfo.add("0");
if (cb_Cal.isChecked())
listInfo.add(HistFile.KEY_CALENDRIER);
else
listInfo.add("0");
if (cb_Msg.isChecked())
listInfo.add(HistFile.KEY_MESSAGERIE);
else
listInfo.add("0");
if (cb_Rep.isChecked())
listInfo.add(HistFile.KEY_REPARTOIRE);
else
listInfo.add("0");
if (cb_Mms.isChecked())
listInfo.add(HistFile.KEY_Mms);
else
listInfo.add("0");
if (cb_Appel.isChecked())
listInfo.add(HistFile.KEY_APPEL);
else
listInfo.add("0");
if (cb_Galerie.isChecked())
listInfo.add(HistFile.KEY_Galerie);
else
listInfo.add("0");
if (cb_Navig.isChecked())
listInfo.add(HistFile.KEY_Navigateur);
else
listInfo.add("0");
HistFile.addApplication(listInfo);
if (HistFile.getCountApplication() == 0)
btn_HistApp.setEnabled(false);
else
btn_HistApp.setEnabled(true);
operation = HistFile.getCurrentID();
}});
partie de la calsse HistoriqueActivity
public class HistoriqueActivity extends Activity {
private HistoryFileManager HistFile;
Intent myintent;
HashMap<String, String> Info;
Button btn_Supprimer;
TextView textView;
ListView listView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_historique);
// associate the button from interface to code
initInterface();
addButtonClickListner();
HistFile = (HistoryFileManager) getIntent().getParcelableExtra(
MainActivity.PAR_KEY);
// Adding menuItems to ListView
// android.R.layout.activity_list_item;
final ListAdapter adapter = new SimpleAdapter(this, HistFile.menuItems,
R.layout.list_application, new String[] {
HistFile.KEY_NOM_APPLICATION,
HistFile.KEY_DATE_CREATION },
new int[] { R.id.textViewNameApplication,
R.id.textViewDateCreation });
listView1.setAdapter(adapter);
listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parentAdapter, View view,
int position, long id) {
Info = (HashMap<String, String>) listView1
.getItemAtPosition(position);
String msg = "Nom Application : "
+ Info.get(HistFile.KEY_NOM_APPLICATION) + "\n"
+ "Date création : "
+ Info.get(HistFile.KEY_DATE_CREATION) + "\n"
+ "Version SDK :" + Info.get(HistFile.KEY_VERSION_SDK)
+ "\n" + "Description :"
+ Info.get(HistFile.KEY_DESCRIPTION) + "\n"
+ "Services :";
if (Info.get(HistFile.KEY_CALCULATRICE).compareTo("0") != 0)
msg = msg + "\n - " + Info.get(HistFile.KEY_CALCULATRICE);
if (Info.get(HistFile.KEY_CALENDRIER).compareTo("0") != 0)
msg = msg + "\n - " + Info.get(HistFile.KEY_CALENDRIER);
if (Info.get(HistFile.KEY_MESSAGERIE).compareTo("0") != 0)
msg = msg + "\n - " + Info.get(HistFile.KEY_MESSAGERIE);
if (Info.get(HistFile.KEY_REPARTOIRE).compareTo("0") != 0)
msg = msg + "\n - " + Info.get(HistFile.KEY_REPARTOIRE);
if (Info.get(HistFile.KEY_Mms).compareTo("0") != 0)
msg = msg + "\n - " + Info.get(HistFile.KEY_Mms);
if (Info.get(HistFile.KEY_APPEL).compareTo("0") != 0)
msg = msg + "\n - " + Info.get(HistFile.KEY_APPEL);
if (Info.get(HistFile.KEY_Galerie).compareTo("0") != 0)
msg = msg + "\n - " + Info.get(HistFile.KEY_Galerie);
if (Info.get(HistFile.KEY_Navigateur).compareTo("0") != 0)
msg = msg + "\n - " + Info.get(HistFile.KEY_Navigateur);
AlertDialog.Builder builder = new AlertDialog.Builder(
HistoriqueActivity.this);
DialogInterface.OnClickListener listenerYes = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
int code = Integer.parseInt(Info.get(HistFile.KEY_ID));
setResult(code);
HistoriqueActivity.this.finish();
}
};
DialogInterface.OnClickListener listenerNo = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
};
builder.setMessage(msg)
.setPositiveButton(R.string.SelectYes, listenerYes)
.setNegativeButton(R.string.SelectNo, listenerNo);
AlertDialog d = builder.create();
d.setTitle("Informations");
d.show();
}
});
//récupération du bouton delete d'un item
Button btn_DeleteItem = (Button)findViewById(R.id.buttonDeleteItem);
}
});
btn_Supprimer.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(v
.getContext());
DialogInterface.OnClickListener listenerYes = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Info.clear();
Toast.makeText(getApplicationContext(),
"Suppression réussie", Toast.LENGTH_SHORT)
.show();
}
};
DialogInterface.OnClickListener listenerNo = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
};
builder.setMessage(R.string.supprimerAllApplications)
.setPositiveButton(R.string.yes, listenerYes)
.setNegativeButton(R.string.no, listenerNo);
AlertDialog d = builder.create();
d.setTitle("Supprimer historique");
d.show();
}
});
}
private void initInterface() {
/*
- Ici vousdevez faire toute les associations entre l'interface et le * code cource */ btn_Retour = (Button) findViewById(R.id.btnRetour); btn_Actualiser = (Button) findViewById(R.id.bntActualiser); btn_Supprimer = (Button) findViewById(R.id.bntSupprimer); textView = (TextView) findViewById(R.id.textView); listView1 = (ListView) findViewById(R.id.listView1); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.historique, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
la classe HistoryFileManager
@SuppressLint("SdCardPath")
public class HistoryFileManager implements Parcelable {
private String filePath = "/data/data/com.pfe.bls/historique.xml";
private File xmlFile = null;
public Document doc = null;
private DocumentBuilder dBuilder;
private DocumentBuilderFactory dbFactory;
private int CurrentID = -1;
public ArrayList<HashMap<String, String>> menuItems;
public int getCurrentID() {
return CurrentID;
}
public void setCurrentID(int ID){
this.CurrentID = ID;
}
public int getCountApplication() {
Element item = doc.getDocumentElement();
NodeList listApplication = item.getElementsByTagName("Application");
return listApplication.getLength();
}
public void addApplication(List<String> listInfo) {
// ajouter l'application dans le le fichier xml
}
public List<String> getCurrentApplication() {
List<String> listInfo = new ArrayList<String>();
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Application");
for (int i = 0; i < nList.getLength(); i++) {
Element nNode = (Element) nList.item(i);
if (Integer.parseInt(nNode.getAttribute(KEY_ID)) == CurrentID) {
listInfo.add(nNode.getElementsByTagName(KEY_DATE_CREATION)
.item(0).getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_NOM_APPLICATION)
.item(0).getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_VERSION_SDK)
.item(0).getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_DESCRIPTION)
.item(0).getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_CALCULATRICE)
.item(0).getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_CALENDRIER).item(0)
.getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_MESSAGERIE).item(0)
.getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_REPARTOIRE).item(0)
.getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_Mms)
.item(0).getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_APPEL).item(0)
.getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_Galerie).item(0)
.getTextContent());
listInfo.add(nNode.getElementsByTagName(KEY_Navigateur).item(0)
.getTextContent());
}
}
return listInfo;
}
public void putMenuItems() {
menuItems = new ArrayList<HashMap<String, String>>();
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Application");
for (int i = 0; i < nList.getLength(); i++) {
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
Element nNode = (Element) nList.item(i);
map.put(KEY_ID, nNode.getAttribute(KEY_ID));
map.put(KEY_DATE_CREATION,
nNode.getElementsByTagName(KEY_DATE_CREATION).item(0)
.getTextContent());
map.put(KEY_NOM_APPLICATION,
nNode.getElementsByTagName(KEY_NOM_APPLICATION).item(0)
.getTextContent());
map.put(KEY_VERSION_SDK, nNode
.getElementsByTagName(KEY_VERSION_SDK).item(0)
.getTextContent());
map.put(KEY_DESCRIPTION, nNode
.getElementsByTagName(KEY_DESCRIPTION).item(0)
.getTextContent());
map.put(KEY_CALCULATRICE,
nNode.getElementsByTagName(KEY_CALCULATRICE).item(0)
.getTextContent());
map.put(KEY_CALENDRIER, nNode.getElementsByTagName(KEY_CALENDRIER)
.item(0).getTextContent());
map.put(KEY_MESSAGERIE, nNode.getElementsByTagName(KEY_MESSAGERIE)
.item(0).getTextContent());
map.put(KEY_REPARTOIRE, nNode.getElementsByTagName(KEY_REPARTOIRE)
.item(0).getTextContent());
map.put(KEY_Mms,
nNode.getElementsByTagName(KEY_Mms).item(0)
.getTextContent());
map.put(KEY_APPEL, nNode.getElementsByTagName(KEY_APPEL).item(0)
.getTextContent());
map.put(KEY_Galerie, nNode.getElementsByTagName(KEY_Galerie).item(0)
.getTextContent());
map.put(KEY_Navigateur, nNode.getElementsByTagName(KEY_Navigateur).item(0)
.getTextContent());
// adding HashList to ArrayList
menuItems.add(map);
}
}
private int getID() {
int maxID = 0;
if (getCountApplication() == 0)
return maxID+1;
else {
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Application");
for (int i = 0; i < nList.getLength(); i++) {
Element nNode = (Element) nList.item(i);
int localID = Integer.parseInt(nNode.getAttribute(KEY_ID));
if (localID > maxID)
maxID = localID;
}
return maxID + 1;
}
}
//Partie obligatoire qui est relative au traitement de la sérialisation.
//Parcelable permet de faire passer des données entre les activité.
//En fait MainActivity.java instancie la classe HistoryFileManager.java et dans la
//classe HistoryActivity.java on a spécifiquement besoin de la variable menuItems
//pour pouvoir afficher les info avec le ListView
public static final Creator<HistoryFileManager> CREATOR = new Creator<HistoryFileManager>() {
@Override
public HistoryFileManager createFromParcel(Parcel source) {
HistoryFileManager mHistFile = new HistoryFileManager();
mHistFile.filePath = source.readString();
mHistFile.menuItems = (ArrayList<HashMap<String, String>>) source
.readSerializable();
return mHistFile;
}
@Override
public HistoryFileManager[] newArray(int size) {
return new HistoryFileManager[size];
}
};
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel arg0, int arg1) {
// TODO Auto-generated method stub
arg0.writeString(filePath);
arg0.writeSerializable(menuItems);
}
BunoCS
Messages postés
15475
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
3 895
>
asmalak
Messages postés
8
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
24 avril 2015
24 avril 2015 à 15:18
24 avril 2015 à 15:18
Euh....Juste la partie concernant la HashMap me suffira, merci
;)
24 avril 2015 à 12:26
24 avril 2015 à 12:37
Java.lang.NullPoiterException Attempt to invoke virtual method void 'java.Hashmap.clear()' on a null object reference
24 avril 2015 à 13:25
24 avril 2015 à 13:53