нужно запустить этот проект.
https://github.com/Nsity/schooldiary
запустить смог но там нету кнопки регистрации, только вход, где достать данные для входа?
loginActivity
package com.example.nsity.schooldiary.navigation.login;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.example.nsity.schooldiary.R;
import com.example.nsity.schooldiary.navigation.MainActivity;
import com.example.nsity.schooldiary.system.CommonFunctions;
import com.example.nsity.schooldiary.system.SyncManager;
import com.example.nsity.schooldiary.system.gcm.GCMIntentService;
import com.example.nsity.schooldiary.system.gcm.ServiceRegister;
import com.example.nsity.schooldiary.system.network.CallBack;
import com.example.nsity.schooldiary.system.network.Server;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;
import javax.crypto.spec.GCMParameterSpec;
public class LoginActivity extends AppCompatActivity {
private EditText mLoginView;
private EditText mPasswordView;
private View mProgressView;
private View mLoginFormView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
mLoginView = (EditText) findViewById(R.id.login);
mPasswordView = (EditText) findViewById(R.id.password);
Button mSignInButton = (Button) findViewById(R.id.sign_in_button);
mSignInButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
attemptLogin();
}
});
mLoginFormView = findViewById(R.id.login_form);
mProgressView = findViewById(R.id.login_progress);
}
private void attemptLogin() {
if (!Server.isOnline(this)) {
Toast.makeText(this, getString(R.string.internet_problem), Toast.LENGTH_SHORT).show();
return;
}
try {
InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
} catch (Exception e) {
e.printStackTrace();
}
mLoginView.setError(null);
mPasswordView.setError(null);
String login = mLoginView.getText().toString();
String password = mPasswordView.getText().toString();
boolean cancel = false;
View focusView = null;
if (TextUtils.isEmpty(password)) {
mPasswordView.setError(getString(R.string.error_field_required));
focusView = mPasswordView;
cancel = true;
}
if (TextUtils.isEmpty(login)) {
mLoginView.setError(getString(R.string.error_field_required));
focusView = mLoginView;
cancel = true;
}
if (cancel) {
focusView.requestFocus();
} else {
CommonFunctions.showProgress(true, this, mLoginFormView, mProgressView);
UserManager.login(getApplicationContext(), login, password, new CallBack() {
@Override
public void onSuccess() {
CommonFunctions.showProgress(false, getApplicationContext(), mLoginFormView, mProgressView);
sync();
}
@Override
public void onFail(String message) {
CommonFunctions.showProgress(false, getApplicationContext(), mLoginFormView, mProgressView);
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
});
}
}
private void sync() {
final ProgressDialog mProgressDialog = new ProgressDialog(this);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mProgressDialog.setMessage(getString(R.string.action_load));
mProgressDialog.setProgressNumberFormat(null);
mProgressDialog.setCancelable(false);
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
SyncManager.sync(getApplicationContext(), new CallBack() {
@Override
public void onSuccess() {
if (ServiceRegister.checkPlayServices(getApplicationContext())) {
Intent intent = new Intent(getApplicationContext(), GCMIntentService.class);
intent.putExtra(GCMIntentService.KEY, GCMIntentService.REGISTER);
startService(intent);
}
mProgressDialog.dismiss();
startActivity(new Intent(LoginActivity.this, MainActivity.class));
finish();
overridePendingTransition(0, 0);
}
@Override
public void onFail(String message) {
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
mProgressDialog.dismiss();
}
});
}
}
UserManager
package com.example.nsity.schooldiary.navigation.login;
import android.content.Context;
import android.content.Intent;
import com.example.nsity.schooldiary.R;
import com.example.nsity.schooldiary.system.gcm.GCMIntentService;
import com.example.nsity.schooldiary.system.gcm.ServiceRegister;
import com.example.nsity.schooldiary.system.network.ErrorTracker;
import com.example.nsity.schooldiary.system.Preferences;
import com.example.nsity.schooldiary.system.database.ADBWorker;
import com.example.nsity.schooldiary.system.network.AsyncHttpResponse;
import com.example.nsity.schooldiary.system.network.CallBack;
import com.example.nsity.schooldiary.system.network.ResponseObject;
import com.google.android.gcm.GCMRegistrar;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class UserManager {
public static void login(final Context context, final String login, final String password, final CallBack callBack) {
String encodedLogin, encodedPassword;
try {
encodedLogin = URLEncoder.encode(login, "utf-8");
encodedPassword = URLEncoder.encode(password, "utf-8");
} catch (UnsupportedEncodingException e) {
callBack.onFail(context.getString(R.string.error_encode));
return;
}
String url = context.getString(R.string.base_url) +
context.getString(R.string.call_method_api_login) + encodedLogin + "/" + encodedPassword;
new AsyncHttpResponse(context, url, null, AsyncHttpResponse.CALL_JSON_HTTP_RESPONSE, new CallBack<ResponseObject>(){
@Override
public void onSuccess(ResponseObject object){
if (!(object.getResponse() instanceof JSONObject)) {
callBack.onFail(context.getString(R.string.error_response));
return;
}
try {
JSONObject response = (JSONObject)object.getResponse();
Preferences.set(Preferences.PUPILID, response.getString(context.getString(R.string.id)), context);
Preferences.set(Preferences.CLASSID, response.getString(context.getString(R.string.class_id)), context);
Preferences.set(Preferences.FIO, response.getString(context.getString(R.string.fio)), context);
Preferences.set(Preferences.CLASSNAME, response.getString(context.getString(R.string.class_name)), context);
} catch (JSONException e) {
callBack.onFail(context.getString(R.string.error_response));
return;
}
callBack.onSuccess();
}
@Override
public void onFailure(ResponseObject object){
callBack.onFail(ErrorTracker.getErrorDescription(context, object.getResponse().toString()));
}
});
}
public static void logoff(Context context) {
ADBWorker.deleteAllTables(context);//remove all tables in database
if (ServiceRegister.checkPlayServices(context)) {
Intent intent = new Intent(context, GCMIntentService.class);
intent.putExtra(GCMIntentService.KEY, GCMIntentService.UNREGISTER);
context.startService(intent);
}
}
}