杀死应用程序或重新启动设备后,从 xml 中删除了 SharedPreferences

时间:2021-03-09 21:27:02

标签: java android retrofit sharedpreferences

我有一个问题,我的问题是:当我杀死应用程序或关闭设备时,所有信息都被删除了,我可以找到它,首先,我首先想做的是:我想检查这是否是用户第一次使用此应用程序,如果这是第一次,则将他选择的内容保存在 sharedPreference xml 中,如果不是,则选择检索并显示它,抱歉我的不好英语,这不是我的母语

这是主要活动

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_quran);

        readers= (CardView)findViewById(R.id.readers);




        readers_name=(TextView)findViewById(R.id.readers_name);
        rewaya=(TextView)findViewById(R.id.rewaya);
        count=(TextView)findViewById(R.id.count);

        Intent i = getIntent();
        String txtData = i.getStringExtra("reciters_name");
        String txtData1 = i.getStringExtra("reciters_rewaya");
        String txtData2 = i.getStringExtra("reciters_count");


         shareRef=getSharedPreferences("myPref", MODE_PRIVATE);
         SharedPreferences.Editor myedit = shareRef.edit();

       boolean firstRun = shareRef.getBoolean("firstRun", true);

       if(firstRun) {
          myedit.clear();
           myedit.putString("reciters", txtData);
           myedit.putBoolean("firstRun", false);
           myedit.putString("rewaya", txtData1);
           myedit.putString("count", txtData2);
           myedit.commit();

           readers_name.setText(txtData);
           rewaya.setText(txtData1);
           count.setText(txtData2);
       }else {
           readers_name.setText(shareRef.getString("reciters", ""));

           rewaya.setText(shareRef.getString("rewaya", ""));
           count.setText(shareRef.getString("count", ""));


       }

        fav_suras=(RecyclerView)findViewById(R.id.fav_suras);




        fav_suras.setLayoutManager(new LinearLayoutManager(this));



        suras=(RecyclerView)findViewById(R.id.suras);
        suras.setHasFixedSize(true);

        suras.setLayoutManager(new LinearLayoutManager(this));

       suras.setAdapter(Mquraan_adapter);
        //mSuras_api = new ArrayList<>();



        getRetrofit();










        readers.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent (quran.this, Readers.class);
                startActivity(intent);

            }
        });
    }

  

    public void getRetrofit() {

 RequestInterface requestInterface = PostClient.getApiClient().create(RequestInterface.class);

        Call<FomCombine> call = requestInterface.getPosts();

        call.enqueue(new Callback <FomCombine>() {
            @Override
            public void onResponse(Call<FomCombine> call, retrofit2.Response <FomCombine> response) {
                Toast.makeText(quran.this, "success", Toast.LENGTH_SHORT).show();
                mSuras_api = response.body().getfom_combine();
                Mquraan_adapter= new quran_adapter(quran.this, (ArrayList<suras_api>) mSuras_api);
               suras.setAdapter(Mquraan_adapter);
                Mquraan_adapter.notifyDataSetChanged();


            }

            @Override
            public void onFailure(Call<FomCombine> call, Throwable t) {
                Log.d("Tag", t.getMessage());

            }
        });





    }} 

这是适配器

    private Context mContext ;

    private ArrayList<Reciters_api> mReciters_api;

    public Reciters_adapter(Context context, ArrayList<Reciters_api> mmReciters_api) {
        mContext=context;
        mReciters_api=mmReciters_api;
    }

    @NonNull
    @Override
    public Reciters_adapter.ReadersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {


        View v = LayoutInflater.from(mContext).inflate(R.layout.single_row,parent,false);
        return new ReadersViewHolder(v);
    }

    @Override
    public void onBindViewHolder(@NonNull ReadersViewHolder holder, int position) {

        Reciters_api reciters = mReciters_api.get(position);


        String ID_number = reciters.getId1();
        String Name =reciters.getName1();


        String Rewaya = reciters.getRewaya();
        String count =reciters.getCount();

        holder.readers_names.setText(Name);
        holder.countt.setText(count);
        holder.rewayya.setText(Rewaya);


        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                Context context = v.getContext();

                Intent Reciters = new Intent(context, quran.class);

                Reciters.putExtra("reciters_name", Name);
                Reciters.putExtra("reciters_rewaya", Rewaya);
                Reciters.putExtra("reciters_count", count);


                context.startActivity(Reciters);


            }
        });
    }

    @Override
    public int getItemCount() {
        return mReciters_api.size();
    }
    public class ReadersViewHolder extends RecyclerView.ViewHolder{

        public TextView readers_names ,rewayya ,countt;




        public ReadersViewHolder(@NonNull View itemView) {
            super(itemView);
            readers_names=itemView.findViewById(R.id.readers_names);
            rewayya=itemView.findViewById(R.id.rewayya);
            countt=itemView.findViewById(R.id.countt);


        }
    }

} 

0 个答案:

没有答案