mirror of
https://github.com/pierre42100/ComunicAndroid
synced 2024-11-23 13:59:29 +00:00
Ready to create ApIRequest task file
This commit is contained in:
parent
4a7c5dfc1f
commit
7b217acbdb
@ -12,6 +12,13 @@ android {
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
buildTypes {
|
||||
|
||||
debug {
|
||||
buildConfigField "String", "api_url", "\"http://devweb.local/comunic/api/\""
|
||||
buildConfigField "String", "api_service_name", "testService"
|
||||
buildConfigField "String", "api_service_token", "testPasswd"
|
||||
}
|
||||
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
|
@ -2,6 +2,12 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.communiquons.android.comunic.client">
|
||||
|
||||
<!-- Internet access is required to access the API -->
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
||||
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:fullBackupContent="@xml/backup_scheme"
|
||||
|
@ -0,0 +1,46 @@
|
||||
package org.communiquons.android.comunic.client;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* This class handles the setup of the parametres required to setup an API request
|
||||
*
|
||||
* Created by pierre on 10/31/17.
|
||||
*/
|
||||
|
||||
class APIParameters {
|
||||
|
||||
/**
|
||||
* Parameters of the request
|
||||
*/
|
||||
private ArrayList<APIPostData> parameters;
|
||||
|
||||
/**
|
||||
* The URI on the server
|
||||
*/
|
||||
private String request_uri;
|
||||
|
||||
/**
|
||||
* The class constructor
|
||||
*
|
||||
* @param uri The request URI on the server
|
||||
*/
|
||||
APIParameters(String uri){
|
||||
//Save request URI
|
||||
request_uri = uri;
|
||||
|
||||
//Intializate parametres array
|
||||
parameters = new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new parameter to the request
|
||||
*
|
||||
* @param name The name of the new key
|
||||
* @param value The value of the new key
|
||||
*/
|
||||
void addParameter(String name, String value){
|
||||
parameters.add(new APIPostData(name, value));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package org.communiquons.android.comunic.client;
|
||||
|
||||
import java.net.URLEncoder;
|
||||
|
||||
/**
|
||||
* This class stores on parameter for a POST request
|
||||
*
|
||||
* Created by pierre on 10/31/17.
|
||||
*/
|
||||
|
||||
class APIPostData {
|
||||
|
||||
/**
|
||||
* The name of the key
|
||||
*/
|
||||
private String key_name;
|
||||
|
||||
/**
|
||||
* The value of the key
|
||||
*/
|
||||
private String key_value;
|
||||
|
||||
/**
|
||||
* Public constructor of the class
|
||||
*
|
||||
* @param name The name of the parameter
|
||||
* @param value The value of the parameter
|
||||
*/
|
||||
APIPostData(String name, String value){
|
||||
key_name = name;
|
||||
key_value = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the the name and the value of the key in an encoded form
|
||||
*
|
||||
* @return The result
|
||||
*/
|
||||
String get_encoded(){
|
||||
|
||||
String encoded_key;
|
||||
String encoded_value;
|
||||
|
||||
try {
|
||||
encoded_key = URLEncoder.encode(key_name, "UTF-8");
|
||||
encoded_value = URLEncoder.encode(key_value, "UTF-8");
|
||||
} catch (java.io.UnsupportedEncodingException e){
|
||||
e.printStackTrace();
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
//Return result
|
||||
return encoded_key + "&" + encoded_value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package org.communiquons.android.comunic.client;
|
||||
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
/**
|
||||
* Created by pierre on 10/31/17.
|
||||
*/
|
||||
|
||||
abstract class APIRequestTask extends AsyncTask<APIParameters, Void, JSONObject> {
|
||||
|
||||
|
||||
|
||||
}
|
@ -2,12 +2,68 @@ package org.communiquons.android.comunic.client;
|
||||
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Toast;
|
||||
|
||||
public class LoginActivity extends AppCompatActivity {
|
||||
|
||||
/**
|
||||
* Utilities object
|
||||
*/
|
||||
private Utilities utils;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_login);
|
||||
|
||||
//Create utilities object
|
||||
utils = new Utilities(this);
|
||||
|
||||
//Make login submit button lives
|
||||
findViewById(R.id.login_submit).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
//Submit login form
|
||||
submitLogin();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle login form submission
|
||||
*/
|
||||
void submitLogin(){
|
||||
|
||||
//Get the fields
|
||||
EditText login_mail = (EditText) findViewById(R.id.email_field);
|
||||
EditText login_password = (EditText) findViewById(R.id.password_field);
|
||||
|
||||
int stop = 0;
|
||||
|
||||
//Check password
|
||||
if(login_password.length()<3){
|
||||
login_password.setError(getString(R.string.activity_login_err_invalid_password));
|
||||
login_password.requestFocus();
|
||||
stop = 1;
|
||||
}
|
||||
|
||||
//Check email address
|
||||
if(login_mail.length() < 3 || !utils.isValidMail(login_mail.getText())){
|
||||
login_mail.setError(getString(R.string.activity_login_err_invalid_email));
|
||||
login_mail.requestFocus();
|
||||
stop = 1;
|
||||
}
|
||||
|
||||
//Stop if required
|
||||
if(stop != 0)
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,9 @@
|
||||
package org.communiquons.android.comunic.client;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.util.Patterns;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
@ -91,4 +93,14 @@ class Utilities {
|
||||
//Success
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether a specified email address is valid or not
|
||||
*
|
||||
* @param mail The E-Mail address to check
|
||||
* @return True if the mail is valid / false else
|
||||
*/
|
||||
boolean isValidMail(CharSequence mail){
|
||||
return !TextUtils.isEmpty(mail) && Patterns.EMAIL_ADDRESS.matcher(mail).matches();
|
||||
}
|
||||
}
|
||||
|
@ -65,6 +65,7 @@
|
||||
|
||||
<!-- Sign in button -->
|
||||
<Button
|
||||
android:id="@+id/login_submit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
|
@ -4,4 +4,6 @@
|
||||
<string name="activity_login_email_hint">Email address</string>
|
||||
<string name="activity_login_password_hint">Password</string>
|
||||
<string name="activity_login_submit_form">Login</string>
|
||||
<string name="activity_login_err_invalid_password">The password is invalid!</string>
|
||||
<string name="activity_login_err_invalid_email">The email specified is invalid !</string>
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user