Android: пользователь входит в систему и остается в сессии до выхода из системы (что требует подтверждения) - PullRequest
0 голосов
/ 18 мая 2011

Я хотел бы убедиться, что при входе пользователя в систему он будет оставаться в сеансе независимо от того, что происходит (сбой, выключение / выключение / перезагрузка, выход из приложения), в то же время данные о пользователе будут отправляться со всеми действия в приложении к веб-серверу.

например, при запуске приложения, логин пользователя «9999», оно переходит к основному действию, которое имеет 5 различий. деятельность. пользователь 9999 отправит одно действие (то есть местоположение в gps) и отправит эту информацию на веб-сервер как пользователь 9999 gps 123.234 123.123.

Я хочу убедиться, что пользователи остаются в сеансе, а также отправлять своим пользователям данные с отправленными данными "активности". Я прочитал эту ссылку

Какой наиболее подходящий способ хранения пользовательских настроек в приложении Android

Я все еще не мог собрать его.

В то же время на том же главном экране есть выход из системы. Пользователю необходимо одобрение менеджера для выхода из системы путем ввода кода (например, 1234) для полного выхода из системы и для нового пользователя, чтобы ввести свой идентификационный номер. Я хочу знать, как поместить жесткий код «1234» в действие.

этот код - мой главный экран после входа в систему, чтобы дать вам идею

 MainActivity.java

 import android.app.ListActivity;
 import android.content.Intent; import
 android.os.Bundle; import
 android.view.View; import
 android.widget.ArrayAdapter; import
 android.widget.ListView; import
 android.widget.TextView;

 public class Customer extends ListActivity {TextView selection;
     CustomerListItem[] items ={
          new CustomerListItem("Start Trip",StartTripActivity.class), 
         new CustomerListItem("Clock in",ClockinActivity.class), 
         new CustomerListItem("Customer Svc",CustomerSvcActivity.class), 
         new CustomerListItem("IndependentInspection",InspectionActivity.class), 
         new CustomerListItem("Pick Up", PickUpActivity.class), 
         new CustomerListItem("Log Out", LogoutActivity.class)};    

private TextView resultsTxt;

     @Override
     public void onCreate(Bundle icicle)
     {
         super.onCreate(icicle);
         setContentView(R.layout.main);
         setListAdapter(new ArrayAdapter<CustomerListItem>(
                 this, android.R.layout.simple_list_item_1,
 items));
         selection = (TextView) findViewById(R.id.selection);
     }

     @Override
     protected void onListItemClick(ListView l, View v,
 int position, long id)
     {
         super.onListItemClick(l, v, position, id);
         final Intent intent = new Intent(this,
 items[position].getActivity());
         startActivityForResult(intent, position);
     }

     @Override
     protected void onActivityResult(int requestCode, int
 resultCode, Intent intent)
     {
         super.onActivityResult(requestCode,
 resultCode, intent);
         if (resultCode == RESULT_OK)
         {
             // Perform different actions based on from which activity is
             // the application returning:
             switch (requestCode)
             {
                case 0:
            // TODO: handle the return of the StartTripActivity
            break;
        case 1:
            // TODO: handle the return of the ClockinActivity
            break;
        case 2:
            // TODO: handle the return of the CustomerSvcActivity
        case 3:
            // TODO: handle the return of the InspectionActivity
            break;
        case 4:
            // TODO: handle the return of the PickUpActivity
            break;
        case 5:
            // TODO: handle the return of the LogoutActivity
            break;
        default:
            break;
             }
         }
         else if (resultCode == RESULT_CANCELED)
         {
             resultsTxt.setText("Canceled");
         }
     } }

ОБНОВЛЕНИЕ:

Login.java

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class Login extends Activity {
    private EditText etUsername;
    private Button btnLogin;
    private Button btnCancel;
    private TextView lblResult;
    /** Called when the activity is first created. */
    //@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);

        etUsername = (EditText)findViewById(R.id.username);
        btnLogin = (Button)findViewById(R.id.login_button);
        btnCancel = (Button)findViewById(R.id.cancel_button);
        lblResult = (TextView)findViewById(R.id.result);

        btnLogin.setOnClickListener(new OnClickListener() {
            //@Override
            public void onClick(View v) {
            // Check Login
            String username = etUsername.getText().toString();

            if(username.equals("guest")){
                lblResult.setText("Login successful.");




                Intent i = new Intent(getApplicationContext(), Customer.class);
                startActivity(i);

            } else {
                 lblResult.setText("Login failed. Username doesn't match.");
             }
            }
            });


            btnCancel.setOnClickListener(new OnClickListener() {
            //@Override
            public void onClick(View v) {
               // Close the application
            finish();
                }
            });
    }
}

1 Ответ

4 голосов
/ 18 мая 2011

Ссылка, которую вы включили, показывает способ хранения идентификатора пользователя - вы можете использовать SharedPreferences или вы можете сохранить в базе данных .

«Код подтверждения» можно хранить где угодно.Если вы хотите жестко закодировать его, вы можете поместить его в «статический» вспомогательный класс в переменную public static final String.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...