2015-03-26 4 views
1

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

SharedPreferences myPrefo = this.getSharedPreferences("myPrefo", MODE_PRIVATE); 
    ostt = myPrefo.getString(Sharedprefse.KEY_FSHD, null); 

    if(ostt!= null && !ostt.equals("")) 
    { 
     Toast.makeText(context,"f"+ ostt,    Toast.LENGTH_SHORT).show(); 

    } 
    else{ 
     Toast.makeText(context, ostt+"n", 
       Toast.LENGTH_SHORT).show(); 

    } 

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

Это правильный процесс или мне нужно попробовать другой способ?

Если sharedpreference пусто, то я извлечения строки с удаленного сервера и хранить его в общей предпочтительности

вот мой код

if(ostt == null || ostt.matches("") || ostt.isEmpty()) { 
       try { 
        HttpClient httpclient = new DefaultHttpClient(); 
        HttpPost httppost = new HttpPost("Remote Address"); 
        HttpResponse response = httpclient.execute(httppost); 
        str = EntityUtils.toString(response.getEntity()); 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
       finally { 
        if(!(str==null) || !(str.matches("")) || !(str.isEmpty())) { 
         session.createFS(str); 
        } 
       } 

это мой createFS() функция

public void createFS(String str){ 

    editor.putString(KEY_FSHD, str); 


    editor.commit(); 
    } 
+0

Откуда вы знаете, что это не пусто? Возможно, что-то не так, как вы задали строку в настройках? – Bobby

+0

Как сохранить значение для общих настроек? – npace

+1

опубликовать код сохранения для общих привилегий – Keshav1234

ответ

1

Сделайте это в вашем коде:

Чтобы сохранить в общий доступ фс:

public void createFS(String str){ 

SharedPreferences sharedPreferences = getSharedPreferences("myPrefo", Context.Mode_Private); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 

    editor.putString("KEY_FSHD", str); 


    editor.commit(); 
    } 

при получении

SharedPreferences myPrefo = this.getSharedPreferences("myPrefo", MODE_PRIVATE); 
    ostt = myPrefo.getString("KEY_FSHD", null); 

вы получите требуемое значение.

+0

это сила закрывает приложение – user3225075

+0

действительно? сообщение об ошибке? – Keshav1234

+0

Возможно, вы получаете исключение нулевого указателя, проверьте значение str? – Keshav1234

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