1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
package com.myapp.gui.start;
import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.myapp.app.AppService;
import com.myapp.app.MainApp;
import com.myapp.gui.home.HomeActivity;
import com.myapp.mix.Mix;
import com.myapp.mix.MixBDD;
import com.myapp.util.JSONParser;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.myapp.R;
public class SplashActivity extends Activity {
private ProgressBar mProgressBar;
private final static Logger logger = Logger.getLogger(SplashActivity.class
.getName());
public static AppService service;
/** Splash Screen **/
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
MainApp.log("ROCKS");
mProgressBar = (ProgressBar) findViewById(R.id.pBAsync);
MainApp.log( "Splash");
BigCalcul calcul=new BigCalcul();
calcul.execute();
}
private class BigCalcul extends AsyncTask<Void, Integer, Void>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
Toast.makeText(getApplicationContext(), "Début du traitement asynchrone", Toast.LENGTH_LONG).show();
File dbFile = getDatabasePath("myapp.db");
dbFile.delete();//effacer BDD
}
@Override
protected void onProgressUpdate(Integer... values){
super.onProgressUpdate(values);
mProgressBar.setProgress(values[0]);
}
@Override
protected Void doInBackground(Void... arg0) {
MixBDD MixBdd = new MixBDD(MainApp.context);//Création d'une instance de ma classe MixBDD
MainApp.log( "Création instance classe BDD");
MixBdd.open();//On ouvre la base de données pour écrire dedans !!!! PLANTE ICI
MainApp.log( "Ouverture BDD fini");
// JSON Node names
final String TAG_MIXS = "mixes";
final String TAG_ID_MIX = "id";
final String TAG_DATE_MIX = "date";
final String TAG_MP3_MIX = "mp3";
final String TAG_AUTHOR_MIX = "author_id";
String url_mix = "http://lemyapp.com/modules/gabarit/android_actu/android.php";
JSONArray mix = null;
JSONParser jParser_mix = new JSONParser();
JSONObject json_mix = jParser_mix.getJSONFromUrl(url_mix);
MainApp.log( "Call "+url_mix);
try {
// Getting Array of Contacts
mix = json_mix.getJSONArray(TAG_MIXS);
// looping through All MIXES
for(int i = 0; i < mix.length(); i++){
JSONObject c = mix.getJSONObject(i);
String id_mix = c.getString(TAG_ID_MIX);
String date_mix = c.getString(TAG_DATE_MIX);
String mp3_mix = c.getString(TAG_MP3_MIX);
String author_mix = c.getString(TAG_AUTHOR_MIX);
MainApp.log( "Splash mix mp3 => "+mp3_mix);
MainApp.log( "Splash mix date => "+date_mix);
MainApp.log( "Splash mix author => "+author_mix);
Mix new_mix = new Mix(id_mix, date_mix,mp3_mix,author_mix); //Création d'un mix
MixBdd.insertMix(new_mix);//On insère le mix que l'on vient de créer
publishProgress(i);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
System.out.println("bye");
} // try-finally
return null;
}
@Override
protected void onPostExecute(Void result) {
Toast.makeText(getApplicationContext(), "Le traitement asynchrone est terminé", Toast.LENGTH_LONG).show();
Intent intent = new Intent(SplashActivity.this, HomeActivity.class);
startActivity(intent);
}
}
public void onPause() {
try {
super.onPause();
} catch (Exception e) {
logger.log(Level.SEVERE, "", e);
}
}
public void onResume() {
super.onResume();
}
} |
Partager