У меня есть список, состоящий из изображений. Теперь я хочу проверить, вошел ли пользователь в систему или нет для каждого щелчка изображения.
Вот CustomStatusGrid.java:
пакет com.example.kalpesh.statuscollection.Status.Adapter;
импортировать java.util.ArrayList;
импортировать статический com.example.kalpesh.statuscollection.LoginActivity.MY_PREFS_NAME;
/** * Создано Kalpesh 9.12.2017. */
открытый класс CustomStatusGrid расширяет BaseAdapter {
private Context mContext;
ArrayList<StatusFrmCatResponse_Model> arrayList = new ArrayList<>();
public static final String MY_PREFS_NAME = "MyPrefsFile";
protected static final SharedPreferences settings = null;
public CustomStatusGrid(Context c, ArrayList<StatusFrmCatResponse_Model> arrayList) {
mContext = c;
this.arrayList = arrayList;
}
public int getCount() {
// TODO Auto-generated method stub
return arrayList.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View grid;
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
grid = new View(mContext);
grid = inflater.inflate(R.layout.grid_status, null);
TextView txt_StatusName = (TextView) grid.findViewById(R.id.txt_StatusName);
txt_StatusName.setText(arrayList.get(position).getStatusName());
//TextView txt_status = (TextView) grid.findViewById(R.id.txt_StatusId);
//final String StatusID =txt_status.toString();
ImageView imageClick = (ImageView) grid.findViewById(R.id.ImgAddtoFav);
imageClick.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
}
});
}
else {
grid = (View) convertView;
}
return grid;
}
}
Вот LoginActivity.java:
открытый класс LoginActivity расширяет AppCompatActivity, реализует View.OnClickListener {
ArrayList<LoginUserResponse_Model> arrayList=new ArrayList<>();
private static final String TAG = LoginActivity.class.getSimpleName();
private EditText editTextUsername, editTextPassword;
private UserInfo userInfo;
private Session session;
private Button login;
public static final String MY_PREFS_NAME = "MyPrefsFile";
protected static final SharedPreferences settings = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
editTextUsername = (EditText) findViewById(R.id.email);
editTextPassword = (EditText) findViewById(R.id.password);
userInfo = new UserInfo(this);
login = (Button)findViewById(R.id.login);
login.setOnClickListener(this);
findViewById(R.id.link_Register).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//if user pressed on login
//we will open the login screen
finish();
startActivity(new Intent(LoginActivity.this, RegisterActivity.class));
}
});
}
private void login(final String email, final String password){
final String username = editTextUsername.getText().toString();
final String password1 = editTextPassword.getText().toString();
//validating inputs
if (TextUtils.isEmpty(username))
{
editTextUsername.setError("Please enter your Email");
editTextUsername.requestFocus();
return;
}
/* if (!android.util.Patterns.EMAIL_ADDRESS.matcher(Email).matches()) {
email.setError("Enter a valid email");
email.requestFocus();
return;
}*/
if (TextUtils.isEmpty(password1))
{
editTextPassword.setError("Please enter your password");
editTextPassword.requestFocus();
return;
}
// Tag used to cancel the request
String tag_string_req = "req_login";
//progressDialog.setMessage("Logging in...");
// progressDialog.show();
String URL = "http://api.statuscollection.in/api/login";
StringRequest strReq = new StringRequest(Request.Method.POST,
URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.wtf(TAG, "Login Response: " + response.toString());
try {
JSONObject jsonObject = new JSONObject(response);
JSONObject datajsonObject = jsonObject.getJSONObject("data");
LoginUserResponse_Model getDetailStatusModel= new LoginUserResponse_Model();
getDetailStatusModel.setCostamarId(datajsonObject.getString("CostamarId"));
getDetailStatusModel.setEmail(datajsonObject.getString("Email"));
getDetailStatusModel.setPassword(datajsonObject.getString("Password"));
String CostamarId = getDetailStatusModel.setCostamarId(datajsonObject.getString("CostamarId"));
Log.wtf("LoginActivity", "CostamarId " + datajsonObject.getString("CostamarId"));
Log.wtf("LoginActivity", "Email " + datajsonObject.getString("Email"));
Log.wtf("LoginActivity", "Password " + datajsonObject.getString("Password"));
Toast.makeText(LoginActivity.this, "You are Login Successfuly !!!", Toast.LENGTH_LONG).show();
// String CID =arrayList.get(CostamarId);
SharedPreferences settings = getSharedPreferences(MY_PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("logged", true);
// set it to false when the user is logged out
editor.putString("CostamarId",CostamarId);
// Commit the edits!
editor.commit();
SharedPreferences.Editor editor1 = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor1.putString("CostamarId",CostamarId);
Intent intent = new Intent(LoginActivity.this,ForgetPasswordActivity.class);
//intent.putExtra("CUSTID",CostamarId);
startActivity(intent);
finish();
} catch (JSONException e) {
// JSON error
e.printStackTrace();
toast("Json error: " + e.getMessage());
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "Login Error: " + error.getMessage());
toast("Unknown Error occurred");
//progressDialog.hide();
//progressDialog.hide();
//progressDialog.hide();
//progressDialog.hide();
}
}) {
@Override
protected Map<String, String> getParams() {
// Posting parameters to login url
Map<String, String> params = new HashMap<>();
params.put("email", email);
params.put("password", password);
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<>();
// headers.put("Content-Type", "application/x-www-form-urlencoded"); headers.put ( "Проверка подлинности", "5vLGpxfO4_FktAkPB0iM - FQh18USYEG7LWWUCbITpGioOZ16QRxe0JuoryqhMHArMcv-lBleaddcJPG3bsj3m94qOke3uq3mXDtvPUZHFkqm9_3Eub7MYlVCudtd8i_qxnFYQFVV8OTNfQ4w01vDjwBvJI2zVUXl8M-A9YfH09sPslbJKyZUBZBNcAqjSOzeIneaNVPH0WWcBP9xx_GvsvISNLWAM1KWlSia5Kb7Glj2ufmdZwl_XE5h1C_0guL5AkJniyLK1cCFjOXH7dgjJA6vjwgc0ol488TyWPWA19sOzsdPrnuzr724-BK3Z84"); заголовки возврата; }
@Override
public String getBodyContentType() {
return "application/x-www-form-urlencoded; charset=UTF-8";
}
};
strReq.setRetryPolicy(
new DefaultRetryPolicy(
DefaultRetryPolicy.DEFAULT_TIMEOUT_MS,
0,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
// Adding request to request queue
MySingleton.getInstance(LoginActivity.this).addToRequestQueue(strReq);
}
private void toast(String x){ Toast.makeText(this, x, Toast.LENGTH_SHORT).show();}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.login:
String uName = editTextUsername.getText().toString().trim();
String pass = editTextPassword.getText().toString().trim();
login(uName,pass);
break;
case R.id.buttonRegister:
startActivity(new Intent(this, RegisterActivity.class));
break;
}
}
public void Login_cancel(View view) {
editTextUsername.setText("");
editTextPassword.setText("");
}
}