2012-03-07 2 views
0

ребята, я работаю над android 2.2.I есть ситуация, когда пользователь входит в приложение, ему разрешено использовать предоставленный по умолчанию аудиофайл.Зарегистрированные пользователи должны быть аутентифицированы только один раз

Теперь есть кнопка, когда он нажимает на нее, она войдет в страницу входа. Если он не является зарегистрированным пользователем, он может зарегистрироваться и снова войти с именем пользователя и паролем. Как только он войдет в систему со своим именем пользователя и паролем, он будет разрешено загружать на сервер n количество аудиофайлов.

Так что я хочу, чтобы пользователь стал зарегистрированным пользователем и вступил в систему и покинул приложение, но снова, если зарегистрированный пользователь хочет загрузить еще несколько файлов, ему не следует запрашивать имя пользователя и пароль, так как он зарегистрирован пользователь.

Как добиться этого?

код для входа зарегистрированного пользователя:

ArrayList<NameValuePair> nvp = new ArrayList<NameValuePair>(); 

      nvp.add(new BasicNameValuePair("userid", userid.getText().toString())); 
      nvp.add(new BasicNameValuePair("password", password.getText().toString())); 
      String un = userid.getText().toString(); 
      String pass = password.getText().toString(); 

      System.out.println("user name is " + un); 
      System.out.println("password is " +pass); 
//   Log.e(""+sid.getText().toString(),"0"); 
//   Log.e(""+sname.getText().toString(),"0"); 
       try { 
       HttpClient httpclient = new DefaultHttpClient(); 
       HttpPost httppost = new HttpPost("http://mywebsite.com/login.php"); 
       httppost.setEntity(new UrlEncodedFormEntity(nvp)); 
       HttpResponse response = httpclient.execute(httppost); 
       HttpEntity entity = response.getEntity(); 
       is = entity.getContent(); 
       } catch(Exception e){ 
        Log.e("log_tag", "Error in http connection"+e.toString()); 
       } 
       try { 
        BufferedReader bf = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 
        sb = new StringBuilder(); 
        sb.append(bf.readLine()+ "\n"); 
        String line="0"; 
         while ((line = bf.readLine()) != null) { 
             sb.append(line + "\n"); 
         } 
         is.close(); 
         result=sb.toString(); 
        System.out.println("value of result " +result); 

        if(result.contains(auth)){ 

         System.out.println("username and password is correct"); 

         Intent authorised = new Intent(Login.this,BrowseFiles.class); 
         startActivity(authorised); 
        }else{ 

         System.out.println("incorrect wrong wrong wrong"); 
         error.setText("Incorrect username and password"); 
        } 


       }catch(Exception e){ 
         Log.e("log_tag", "Error converting result "+e.toString()); 
       } 

ответ

1

Вы можете использовать SharedPreference для вашего приложения и проверить его, когда начинает загрузку .if это выставиться, то вы можете продолжить иначе открытую страницу Логин/registartion все, что вам хочу

EDIT:
только пользователь успешно войти в

SharedPreferences share_pref=PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
     SharedPreferences.Editor editor = share_pref.edit(); 
     editor.putBoolean("Login", true); 

     // Commit the edits! 
     editor.commit(); 

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

+0

Мне нужно сохранить имя пользователя и пароль? пожалуйста, дайте мне пример на том, что – Goofy

+0

ссылается на ссылку, на которой будет показан пример, также использовать sharedPreference и показать, как редактировать тоже. –

+0

Вам просто нужно отредактировать, когда пользователь аутентифицирован, и проверьте его перед загрузкой содержимого на кнопку нажмите. .. –

Смежные вопросы