0

ログインページ用の Web サービスが 1 つあります。しかし、同じ Web サービスを使用して、Admin や Employee などの異なるユーザーにログインしたいと考えています。

管理者ログインで 1 つのアクティビティ A が表示される場合、管理者: 会社: xxx ログイン ID: AAA パスワード: BBB

従業員のログインが別のアクティビティを表示する場合 B. 会社名: YYY ログイン ID: CCC パスワード: DDD

誰でも私を助けることができます..それを行う方法を教えてください?

ありがとうございました。

4

2 に答える 2

0

以下のコードを確認してください。

パッケージcom.Barcode_Dynamic;

public class Login_activity extends Activity {

    private EditText exit_user;
    private EditText exit_pswd;
    private Button btnlogin;
    private Button btncancle;
    private String Url_s = null;
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    boolean LOGIN_BOOL = false;
    private Button btnBack;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);

        exit_user = (EditText) findViewById(R.id.edit_user);
        exit_pswd = (EditText) findViewById(R.id.edit_pswd);

        btnlogin = (Button) findViewById(R.id.btn_login);
        btncancle = (Button) findViewById(R.id.btn_cancle);

        btncancle.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                exit_user.setText("");
                exit_pswd.setText("");
            }
        });



        btnlogin.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                final String USER = exit_user.getText().toString();
                final String PSWD = exit_pswd.getText().toString();
                if (USER.length() > 0 && PSWD.length() > 0) {

                    CharSequence contentTitle = getString(R.string.app_name);
                    final ProgressDialog progDailog = ProgressDialog.show(
                            Login_activity.this, contentTitle,
                            "...", true);

                    final Handler handler = new Handler() {
                        @Override
                        public void handleMessage(Message msg) {
                            //showAlert("Import completed.");
                            if(LOGIN_BOOL)
                            {
                                showAlert("Login succes");                              
                                startActivity(new Intent(Login_activity.this, emailSettingFile.class));
                            }
                        }
                    };

                    new Thread() {
                        public void run() {
                            try {

                            nameValuePairs.add(new BasicNameValuePair("username", ""
                                    + USER));
                            nameValuePairs.add(new BasicNameValuePair("password", ""
                                    + PSWD));
                            InputStream is1 = call_Http();
                            String str = getResult(is1);
                            if (str != null) {
                                meth_parse_json(str);
                            }

                            } catch (Exception e) {
                                // TODO: handle exception

                            }
                            handler.sendEmptyMessage(0);
                            progDailog.dismiss();
                        }

                    }.start();



                } else {
                    showAlert("Please Enter Username & Password");

                }

                startActi();
            }
        });
    }

    protected void startActi() {
        // TODO Auto-generated method stub
        if(LOGIN_BOOL)
        {

        }
    }

    private InputStream call_Http() {
        InputStream is = null;
        try {
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(Url_s
                    + "/login_service.php");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse responce = httpclient.execute(httppost);
            HttpEntity entity = responce.getEntity();
            is = entity.getContent();


        } catch (Exception e) {
            // TODO: handle exception

        }

        return is;
    }

    private String getResult(InputStream is1) {
        String result = null;
        // TODO Auto-generated method stub
        try {
            BufferedReader bufr = new BufferedReader(new InputStreamReader(is1,
                    "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            sb.append(bufr.readLine() + "\n");
            String line = "0";
            while ((line = bufr.readLine()) != null) {
                sb.append(line + "\n");
            }

            is1.close();
            result = sb.toString();

        } catch (Exception e) {
            // TODO: handle exception

        }

        return result;
    }

    private void meth_parse_json(String str) {
        // TODO Auto-generated method stub
        Log.d("JSON :", "" + str);
        try {
            JSONObject job1 = new JSONObject(str);

            // JSONArray details = job1.getJSONArray("details");
            String a = (String) job1.get("details");
            Log.d("JSON :", "" + a);
            boolean bool = Boolean.parseBoolean(a);
            if (bool) {
                LOGIN_BOOL = true;
            } else {
                LOGIN_BOOL = false;
            }
        } catch (Exception e) {
            // TODO: handle exception

        }
    }
}

Android 用の上記のコードでは、ログイン用の Web サービスを作成する必要があります。これはこれを行う方法です。

meth_parse_json メソッドでは、これが会社のログインまたは従業員のログインであることを確認する必要があります。

mysql の知識があることを前提としています。

これがあなたを助けるなら、それを正しくしてください。

于 2012-05-14T07:19:19.013 に答える
0

ログイン用のWebサービスで使用するデータベースがあると思います。2 つのフィールドを持つグループまたはロールと呼ばれる別のテーブルを作成します。テーブルの SQL スクリプトは次のようになります。

create table users (
  user_name         varchar(15) not null primary key,
  user_pass         varchar(15) not null
);

create table user_roles (
  user_name         varchar(15) not null,
  role_name         varchar(15) not null,
  primary key (user_name, role_name)
);

ここで、ユーザーが持っているロールを取得し、アクティビティにアクセスできるかどうかを決定します。

于 2012-05-14T07:20:37.063 に答える