-
-
Save anonymous/efc3400df01a0b972a71 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Created by * on 25/03/2016. | |
*/ | |
public class BackgroundTask extends AsyncTask<String, Void, String> { | |
String register = "http://***/register.php"; | |
String login = "http://***/login.php"; | |
Context ctx; | |
Activity activity; | |
AlertDialog.Builder builder; | |
ProgressDialog progressDialog; | |
public BackgroundTask(Context ctx){ | |
this.ctx = ctx; | |
activity = (Activity)ctx; | |
} | |
@Override | |
protected void onPreExecute() { | |
builder = new AlertDialog.Builder(activity); | |
progressDialog = new ProgressDialog(ctx); | |
progressDialog.setTitle("Wait..."); | |
progressDialog.setMessage("Connection to server"); | |
progressDialog.setIndeterminate(true); | |
progressDialog.setCancelable(false); | |
progressDialog.show(); | |
} | |
@Override | |
protected String doInBackground(String... params) { | |
String method = params[0]; | |
if (method.equals("register")){ | |
try { | |
URL url = new URL(register); | |
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection(); | |
httpURLConnection.setRequestMethod("POST"); | |
httpURLConnection.setDoOutput(true); | |
httpURLConnection.setDoInput(true); | |
OutputStream outputStream = httpURLConnection.getOutputStream(); | |
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")); | |
String mail = params[1]; | |
String name = params[2]; | |
String password = params[3]; | |
String data = URLEncoder.encode("mail", "UTF-8")+"="+URLEncoder.encode(mail, "UTF-8")+"&"+ | |
URLEncoder.encode("name", "UTF-8")+"="+URLEncoder.encode(name, "UTF-8")+"&"+ | |
URLEncoder.encode("password", "UTF-8")+"="+URLEncoder.encode(password, "UTF-8"); | |
bufferedWriter.write(data); | |
bufferedWriter.flush(); | |
bufferedWriter.close(); | |
outputStream.close(); | |
InputStream inputStream = httpURLConnection.getInputStream(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); | |
StringBuilder stringBuilder = new StringBuilder(); | |
String line = ""; | |
while ( (line=bufferedReader.readLine())!=null ){ | |
stringBuilder.append(line+"\n"); | |
} | |
httpURLConnection.disconnect();; | |
Thread.sleep(5000); | |
return stringBuilder.toString().trim(); | |
} catch (MalformedURLException e) { | |
e.printStackTrace(); | |
} catch (ProtocolException e) { | |
e.printStackTrace(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} catch (InterruptedException e) { | |
e.printStackTrace(); | |
} | |
} | |
else if(method.equals("login")){ | |
try { | |
URL url = new URL(login); | |
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection(); | |
httpURLConnection.setRequestMethod("POST"); | |
httpURLConnection.setDoOutput(true); | |
httpURLConnection.setDoInput(true); | |
OutputStream outputStream = httpURLConnection.getOutputStream(); | |
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")); | |
String mail, password; | |
mail = params[1]; | |
password = params[2]; | |
String data = URLEncoder.encode("mail", "UTF-8")+"="+URLEncoder.encode(mail, "UTF-8")+"&"+ | |
URLEncoder.encode("password", "UTF-8")+"="+URLEncoder.encode(password, "UTF-8"); | |
bufferedWriter.write(data); | |
bufferedWriter.flush(); | |
bufferedWriter.close(); | |
outputStream.close(); | |
InputStream inputStream = httpURLConnection.getInputStream(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); | |
StringBuilder stringBuilder = new StringBuilder(); | |
String line = ""; | |
while ( (line=bufferedReader.readLine())!=null ){ | |
stringBuilder.append(line+"\n"); | |
} | |
httpURLConnection.disconnect();; | |
Thread.sleep(5000); | |
return stringBuilder.toString().trim(); | |
} catch (MalformedURLException e) { | |
e.printStackTrace(); | |
} catch (ProtocolException e) { | |
e.printStackTrace(); | |
} catch (UnsupportedEncodingException e) { | |
e.printStackTrace(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} catch (InterruptedException e) { | |
e.printStackTrace(); | |
} | |
} | |
return null; | |
} | |
@Override | |
protected void onProgressUpdate(Void... values) { | |
super.onProgressUpdate(values); | |
} | |
@Override | |
protected void onPostExecute(String json) { | |
try { | |
progressDialog.dismiss(); | |
JSONObject jsonObject = new JSONObject(json); | |
JSONArray jsonArray = jsonObject.getJSONArray("server_response"); | |
JSONObject jo = jsonArray.getJSONObject(0); | |
String code = jo.getString("code"); | |
String message = jo.getString("message"); | |
if (code.equals("reg_true")){ | |
showDialog("Register succes", message, code); | |
} | |
else if (code.equals("reg_false")){ | |
showDialog("Register fail", message, code); | |
} | |
else if (code.equals("login_true")){ | |
Intent intent = new Intent(activity, MainActivity.class); | |
intent.putExtra("message", message); | |
activity.startActivity(intent); | |
//activity.finish(); | |
} | |
else if (code.equals("login_false")){ | |
showDialog("Login fail", message, code); | |
} | |
} catch (JSONException e) { | |
e.printStackTrace(); | |
} | |
} | |
public void showDialog(String title, String message, String code){ | |
builder.setTitle(title); | |
if (code.equals("reg_true") || code.equals("reg_false")){ | |
builder.setMessage(message); | |
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { | |
@Override | |
public void onClick(DialogInterface dialog, int which) { | |
dialog.dismiss(); | |
activity.finish(); | |
} | |
}); | |
} | |
else if (code.equals("login_false")){ | |
builder.setMessage(message); | |
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { | |
@Override | |
public void onClick(DialogInterface dialog, int which) { | |
EditText mail, password; | |
mail = (EditText) activity.findViewById(R.id.lMail); | |
password = (EditText) activity.findViewById(R.id.lPassword); | |
mail.setText(""); | |
password.setText(""); | |
dialog.dismiss(); | |
} | |
}); | |
} | |
AlertDialog alertDialog = builder.create(); | |
alertDialog.show(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Created by * on 25/03/2016. | |
*/ | |
public class LoginActivity extends AppCompatActivity { | |
EditText Mail,Password; | |
Button Login; | |
TextView toRegister; | |
AlertDialog.Builder builder; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_login); | |
Mail = (EditText) findViewById(R.id.lMail); | |
Password = (EditText) findViewById(R.id.lPassword); | |
Login = (Button) findViewById(R.id.bLogin); | |
toRegister = (TextView)findViewById(R.id.toRegister); | |
toRegister.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
startActivity(new Intent(LoginActivity.this, RegisterActivity.class)); | |
} | |
}); | |
Login.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
if ( Mail.getText().toString().equals("") || Password.getText().toString().equals("") ){ | |
builder = new AlertDialog.Builder(LoginActivity.this); | |
builder.setTitle("Attention"); | |
builder.setMessage("Rempliser tout les champs"); | |
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { | |
@Override | |
public void onClick(DialogInterface dialog, int which) { | |
dialog.dismiss(); | |
} | |
}); | |
AlertDialog alertDialog = builder.create(); | |
alertDialog.show(); | |
} | |
else{ | |
BackgroundTask bt = new BackgroundTask(LoginActivity.this); | |
bt.execute("login" ,Mail.getText().toString(), Password.getText().toString() ); | |
} | |
} | |
}); | |
} | |
@Override | |
public void onBackPressed() { | |
// Disable going back to the MainActivity | |
moveTaskToBack(true); | |
} | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ | |
int request_code; | |
Toolbar toolbar; | |
DrawerLayout drawer; | |
ActionBarDrawerToggle toggle; | |
FragmentTransaction fragmentTransaction; | |
NavigationView navigationView; | |
UserLocalStore userLocalStore; | |
TextView userName, userMail; | |
TextView textView; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
request_code=1; | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
textView = (TextView)findViewById(R.id.maintxt); | |
String message = getIntent().getStringExtra("message"); | |
textView.setText(message); | |
userLocalStore = new UserLocalStore(this); | |
userName = (TextView)findViewById(R.id.userName); | |
userMail = (TextView)findViewById(R.id.userMail); | |
toolbar = (Toolbar) findViewById(R.id.toolbar); | |
setSupportActionBar(toolbar); | |
drawer = (DrawerLayout) findViewById(R.id.drawer_layout); | |
toggle = new ActionBarDrawerToggle( | |
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); | |
drawer.setDrawerListener(toggle); | |
toggle.syncState(); | |
fragmentTransaction = getSupportFragmentManager().beginTransaction(); | |
fragmentTransaction.add(R.id.main_container, new FirstFragment()); | |
fragmentTransaction.commit(); | |
getSupportActionBar().setTitle("Acceuil"); | |
navigationView = (NavigationView) findViewById(R.id.nav_view); | |
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { | |
@Override | |
public boolean onNavigationItemSelected(MenuItem item) { | |
switch (item.getItemId()) { | |
case R.id.home: | |
fragmentTransaction = getSupportFragmentManager().beginTransaction(); | |
fragmentTransaction.replace(R.id.main_container, new FirstFragment()); | |
fragmentTransaction.commit(); | |
getSupportActionBar().setTitle("Acceuil"); | |
item.setChecked(true); | |
drawer.closeDrawers(); | |
break; | |
case R.id.list: | |
fragmentTransaction = getSupportFragmentManager().beginTransaction(); | |
fragmentTransaction.replace(R.id.main_container, new SecondFragment()); | |
fragmentTransaction.commit(); | |
getSupportActionBar().setTitle("Second"); | |
item.setChecked(true); | |
drawer.closeDrawers(); | |
break; | |
case R.id.map: | |
fragmentTransaction = getSupportFragmentManager().beginTransaction(); | |
fragmentTransaction.replace(R.id.main_container, new ThirdFragment()); | |
fragmentTransaction.commit(); | |
getSupportActionBar().setTitle("Third"); | |
item.setChecked(true); | |
drawer.closeDrawers(); | |
break; | |
} | |
return false; | |
} | |
}); | |
Intent intent = new Intent(this, LoginActivity.class); | |
startActivity(intent); | |
} | |
@Override | |
public void onBackPressed() { | |
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); | |
if (drawer.isDrawerOpen(GravityCompat.START)) { | |
drawer.closeDrawer(GravityCompat.START); | |
} else { | |
super.onBackPressed(); | |
} | |
} | |
@Override | |
public boolean onCreateOptionsMenu(Menu menu) { | |
// Inflate the menu; this adds items to the action bar if it is present. | |
getMenuInflater().inflate(R.menu.menu_main, 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(); | |
//noinspection SimplifiableIfStatement | |
if (id == R.id.action_settings) { | |
return true; | |
} | |
return super.onOptionsItemSelected(item); | |
} | |
public void Scanner(View view){ | |
Intent intent = new Intent(this, Scanner.class); | |
startActivityForResult(intent, request_code); | |
} | |
public void onActivityResult(int requestCode, int resultCode, Intent data){ | |
if (request_code == requestCode ) { | |
// Make sure the request was successful | |
if (resultCode == RESULT_OK) { | |
Toast.makeText(getBaseContext(), data.getData().toString(), Toast.LENGTH_LONG).show(); | |
} | |
} | |
} | |
@Override | |
public void onClick(View v){ | |
switch (v.getId()){ | |
case R.id.logout: | |
userLocalStore.clearUserData(); | |
userLocalStore.setUserLoggedIn(false); | |
startActivity(new Intent(this, LoginActivity.class)); | |
break; | |
} | |
} | |
@Override | |
protected void onStart() { | |
super.onStart(); | |
if (authenticate()) { | |
displayUserDetails(); | |
} | |
} | |
private boolean authenticate() { | |
if (userLocalStore.getLoggedInUser() == null) { | |
Intent intent = new Intent(this, LoginActivity.class); | |
startActivity(intent); | |
return false; | |
} | |
return true; | |
} | |
private void displayUserDetails() { | |
User user = userLocalStore.getLoggedInUser(); | |
userMail.setText(user.name); | |
userName.setText(user.mail); | |
} | |
/** | |
@SuppressWarnings("StatementWithEmptyBody") | |
@Override | |
public boolean onNavigationItemSelected(MenuItem item) { | |
// Handle navigation view item clicks here. | |
int id = item.getItemId(); | |
if (id == R.id.home) { | |
fragmentTransaction = getSupportFragmentManager().beginTransaction(); | |
fragmentTransaction.replace(R.id.main_container,new FirstFragment()); | |
fragmentTransaction.commit(); | |
getSupportActionBar().setTitle("Acceuil"); | |
item.setChecked(true); | |
} else if (id == R.id.list) { | |
fragmentTransaction = getSupportFragmentManager().beginTransaction(); | |
fragmentTransaction.replace(R.id.main_container ,new SecondFragment()); | |
fragmentTransaction.commit(); | |
getSupportActionBar().setTitle("Listes"); | |
item.setChecked(true); | |
} else if (id == R.id.map) { | |
fragmentTransaction = getSupportFragmentManager().beginTransaction(); | |
fragmentTransaction.replace(R.id.main_container,new ThirdFragment()); | |
fragmentTransaction.commit(); | |
getSupportActionBar().setTitle("Carte"); | |
item.setChecked(true); | |
} else if (id == R.id.product) { | |
} else if (id == R.id.settings) { | |
} else if (id == R.id.share) { | |
} | |
drawer = (DrawerLayout) findViewById(R.id.drawer_layout); | |
drawer.closeDrawers(); | |
return true; | |
} | |
**/ | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
package="com.*.comparateurL3F1"> | |
<uses-permission android:name="android.permission.CAMERA" /> | |
<uses-permission android:name="android.permission.INTERNET" /> | |
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> | |
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> | |
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> | |
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | |
<uses-permission android:name="android.permission.LOCATION_HARDWARE" /> | |
<uses-feature | |
android:glEsVersion="0x00020000" | |
android:required="true" /> | |
<permission | |
android:name="com.example.permission.MAPS_RECEIVE" | |
android:protectionLevel="signature" /> | |
<uses-permission android:name="com.example.permission.MAPS_RECEIVE" /> | |
<application | |
android:allowBackup="true" | |
android:icon="@mipmap/ic_launcher" | |
android:label="@string/app_name" | |
android:theme="@style/AppTheme.NoActionBar"> | |
<meta-data | |
android:name="com.google.android.gms.version" | |
android:value="@integer/google_play_services_version" /> | |
<meta-data | |
android:name="com.google.android.maps.v2.API_KEY" | |
android:value="***" /> | |
<activity | |
android:name=".MainActivity" | |
android:label="@string/app_name" | |
android:screenOrientation="portrait" | |
android:theme="@style/AppTheme.NoActionBar"> | |
<intent-filter> | |
<action android:name="android.intent.action.MAIN" /> | |
<category android:name="android.intent.category.LAUNCHER" /> | |
</intent-filter> | |
</activity> | |
<activity | |
android:name=".LoginActivity" | |
android:screenOrientation="portrait" | |
android:theme="@style/AppTheme.Dark"> | |
</activity> | |
<activity | |
android:name=".RegisterActivity" | |
android:screenOrientation="portrait" | |
android:theme="@style/AppTheme.Dark"> | |
</activity> | |
<activity | |
android:name=".Scanner" | |
android:theme="@style/AppTheme.NoActionBar"> | |
</activity> | |
</application> | |
</manifest> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment