Merhaba

Kullanıcı bilgilerini saklamak için bir class yarattım ve bu klasa bir fragment içinden erişmek istiyorum. Kodların çoğu için tutorial kullandım bu yüzden sıkıntılı bi miktar.

Sıkıntı burda sanırım ;

 userLocalStore = new UserLocalStore(this);

Bu benim tüm userprofile dosyam ;

    public class userprofile extends android.support.v4.app.Fragment implements View.OnClickListener{
    View rootview;
    Button logoutbutton;
    EditText regusername, regpassword, regemail, regphonenumber, regbloodtype, regbirthday, regaddress;
    UserLocalStore userLocalStore;
    Context context;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        rootview = inflater.inflate(R.layout.userprofile_layout,container,false);
        regusername = (EditText)rootview.findViewById(R.id.regusername);
        regpassword = (EditText)rootview.findViewById(R.id.regpassword);
        regemail = (EditText)rootview.findViewById(R.id.regemail);
        regphonenumber = (EditText)rootview.findViewById(R.id.regphonenumber);
        regbloodtype = (EditText)rootview.findViewById(R.id.regbloodtype);
        regbirthday = (EditText)rootview.findViewById(R.id.regbirthday);
        regaddress = (EditText)rootview.findViewById(R.id.regaddress);

        logoutbutton = (Button)rootview.findViewById(R.id.regbutton);
        logoutbutton.setOnClickListener(this);

        userLocalStore = new UserLocalStore(this);
        return rootview;
    }

    @Override
    public void onStart() {
        super.onStart();
        if (authenticate()== true)
        {
            displayUserDetails();
        }
        else{
            Intent intent = new Intent(getActivity(),loginscreen.class);
            startActivity(intent);
        }
    }
    private void displayUserDetails()
    {
        User user = userLocalStore.getLoggedInUser();
        regusername.setText(user.username);
        regemail.setText(user.email);
        regphonenumber.setText(user.phonenumber);
        regbloodtype.setText(user.bloodtype);
        regaddress.setText(user.address);
    }

    private boolean authenticate()
    {
        return userLocalStore.getuserloogedin();
    }
    @Override
    public void onClick(View v) {
        switch (v.getId())
        {
            case R.id.logoutbutton:
                userLocalStore.clearUserData();
                userLocalStore.setUserLoggedIn(false);

                break;
        }
    }
}

Burda da ulaşmaya çalıştığım UserLocalStore sınıfım;

    public class UserLocalStore
{
    public static final String SP_NAME = "userdetails";
    SharedPreferences userLocalDatabase;

    public UserLocalStore(loginscreen context)
    {
        userLocalDatabase = context.getSharedPreferences(SP_NAME,0);
    }
    public void storeUserData(User user)
    {
        SharedPreferences.Editor spEditor = userLocalDatabase.edit();
        spEditor.putString("username",user.username);
        spEditor.putString("password",user.password);
        spEditor.putString("email",user.email);
        spEditor.putString("phonenumber",user.phonenumber);
        spEditor.putString("bloodtype",user.bloodtype);
        spEditor.putString("birthday",user.birthday);
        spEditor.putString("address",user.address);
        spEditor.commit();
    }

    public User getLoggedInUser()
    {
        String username = userLocalDatabase.getString("username","");
        String password = userLocalDatabase.getString("password","");
        String email = userLocalDatabase.getString("email","");
        String phonenumber = userLocalDatabase.getString("phonenumber","");
        String bloodtype = userLocalDatabase.getString("bloodtype","");
        String birthday = userLocalDatabase.getString("birthday","");
        String address = userLocalDatabase.getString("address","");

        User storeduser = new User(username,password,email,phonenumber,bloodtype,birthday,address);
        return storeduser;
    }

    public void setUserLoggedIn(boolean loggedIn)
    {
        SharedPreferences.Editor spEditor = userLocalDatabase.edit();
        spEditor.putBoolean("LoggedIn",loggedIn);
        spEditor.commit();
    }

    public boolean getuserloogedin()
    {
        if (userLocalDatabase.getBoolean("LoggedIn",false)== true)
        {
            return true;
        }
        else
        {
            return false;
        }

    }

    public void clearUserData()
    {
        SharedPreferences.Editor spEditor = userLocalDatabase.edit();
        spEditor.clear();
        spEditor.commit();

    }
}

soruldu: 29 Nis '15, 04:32

Ashtaroth's gravatar image

Ashtaroth
10333
cevap kabul oranı: 0%


Ne tarz bir sorunla karşılaştınız açabilir misiniz biraz....

permanent link

cevaplandı: 02 May '15, 07:47

frknkntr's gravatar image

frknkntr
62681122
cevap kabul oranı: 26%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×819
×16

Soruldu: 29 Nis '15, 04:32

Görüntüleme: 391 kez

Son güncelleme: 02 May '15, 07:47

powered by BitNami OSQA