2010-06-21 51 views
7

Tôi có một ứng dụng Android cần tên người dùng và mật khẩu để đăng nhập. Tôi cần phải lưu tên người dùng và mật khẩu tại địa phương trong điện thoại hoặc nơi nào đó để sử dụng chúng khi người dùng mở ứng dụng lần sau và đăng nhập vào ứng dụng tự động mà không hiển thị màn hình đăng nhậpcách lưu chi tiết đăng nhập của ứng dụng android?

EditText input1 = (EditText) findViewById(R.id.usertext); 
    EditText input2 = (EditText) findViewById(R.id.Passtext); 
    String username = input1.getText().toString(); 
    String password = input2.getText().toString(); 

Nếu đăng nhập thành công, nó sẽ gọi cho hoạt động thông qua ý định.

Trả lời

13

Nếu bạn đang sử dụng ApiLevel> = 5 đọc về AccountManager.

+0

Nice, không biết nó tồn tại :) – RvdK

+2

Theo tài liệu Android "Điều quan trọng là phải hiểu rằng lý Tài khoản không phải là một dịch vụ mã hóa hoặc một keychain. ** Nó lưu trữ các thông tin tài khoản giống như bạn truyền chúng, trong văn bản thuần túy. ** Trên hầu hết các thiết bị, đây không phải là một mối quan tâm đặc biệt, bởi vì nó lưu trữ chúng trong một cơ sở dữ liệu chỉ có thể truy cập root. thông tin đăng nhập sẽ có thể đọc được bởi bất kỳ ai có quyền truy cập adb vào thiết bị " Nó tương đương với việc lưu trữ mật khẩu trong văn bản thuần túy trong pri vate SharedPreference, tôi wld đề nghị sử dụng bất kỳ chìa khóa để tạo ra md5 và sau đó lưu trữ nó trong SharedPreference tư nhân hoặc AccountManager. –

0

Bạn có thể sử dụng tùy chọn hoặc tệp nếu bạn không thực sự quan tâm đến bảo mật. Bạn nên mã hóa mật khẩu nếu bạn dự trữ chúng. Xem here để có mô tả tốt hơn về các tùy chọn.

3

Tôi khuyên bạn nên sử dụng một cái gì đó như MD5 hoặc SHA1 để băm mật khẩu của bạn trước khi lưu trữ.

Một nơi tốt để lưu trữ có thể hoặc là "sở thích" hoặc DB SQLite (hữu ích không như vậy đối với chỉ có một bộ dữ liệu duy nhất)

2

Để lưu tên & mật khẩu trong sharepref thử

SharedPreferences.Editor editor=mPreferences.edit(); 
private SharedPreferences mPreferences; 
mPreferences = getSharedPreferences("CurrentUser", MODE_PRIVATE); 
editor.putString("UserName", username); 
editor.putString("PassWord", password); 
editor.commit(); 
+4

Eek, vui lòng lưu mật khẩu và không phải mật khẩu ... – RvdK

+1

Đây là một ý tưởng rất tồi vì có thể truy cập vào bất kỳ ai có đặc quyền root (khá dễ dàng để có được ngày nay). –

Các vấn đề liên quan