بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
لوگین در نرم افزار
بچه ها ببینین این کد واس لوگین چطوره کجاهاش نیاز به تغییر داره تا خوب کار کنه؟!
public class ActivityVorod extends Activity {
String userok;
String passok;
private ArrayList<StructSabtnam> netTasks = new ArrayList<StructSabtnam>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.f1vorod);
final EditText edtId = (EditText) findViewById(R.id.edtId);
final EditText edtPass = (EditText) findViewById(R.id.edtPass);
Button btnLog = (Button) findViewById(R.id.btnLog);
btnLog.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (edtId.getText().toString().length() > 0 && edtPass.getText().toString().length() > 0) {
String userv = edtId.getText().toString();
String passv = edtPass.getText().toString();
String result = Webservice.redUrl("http://192.168.56.1/qchat/service.php?acti null);
if (result != null) {
try {
JSONArray sabtnams = new JSONArray(result);
for (int i = 0; i < sabtnams.length(); i++) {
JSONObject object = sabtnams.getJSONObject(i);
StructSabtnam sabtnam = new StructSabtnam();
sabtnam.user = object.getString("user");
sabtnam.pass = object.getString("pass");
netTasks.add(sabtnam);
if (sabtnam.user.equals(userv) && sabtnam.pass.equals(passv)) {
userok = sabtnam.user;
passok = sabtnam.pass;
}
}
}
catch (JSONException e) {
e.printStackTrace();
}
if (userok.equals(edtId.getText().toString()) && passok.equals(edtPass.getText().toString())) {
Intent intent = new Intent(ActivityVorod.this, ActivityKhane.class);
ActivityVorod.this.startActivity(intent);
} else {
Toast.makeText(ActivityVorod.this, "نام کاربري و رمز عبور وارد شده اشتباه ميباشد!", Toast.LENGTH_LONG).show(); }
}
}
else {
Toast.makeText(ActivityVorod.this, "نام کاربري و رمز عبور وارد نشده!", Toast.LENGTH_LONG).show();
}
}
});
}
}
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
sadeghbarout
12 سال پیش
0
0
دو نکته به نظرم رسید که بگم
1- از دستور trim برای دریافت نام کاربری از کاربر استفاده کن. این دستور space های اضافه اول و آخر رو پاک میکنه
2- همه حروف نام کاربری رو کوچیک کن و بعد با دیتابیست چک کن
در نهایت تقریبا همچین چیزی:
edtID.getText().toString().trim().toLowerCase();
ببین یالاخره اگه داری یه برنامه حرفه ای مینویسی باید اطلاعات کاربرو یه جایی مثل سرور ذخیره کنی. پس باید یه دیتابیس و سرور قوی(برای کارهای بزرگ) داشته باشی. اما برای login کردن ، روش بهینه تر میتونه همون چک کردن نام کاربری و رمز عبور روی خود گوشی باشه و فقط در اولین نصب از سرور اطلاعاتو بگیره و رو گوشی ذخیره کنه برای ورود های بعدی.البته باید اطلاعاتو به صورت کد شده رو گوشی ذخیره کنی تا از گزند خصم مصون بماند D: (12 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .