【问题标题】:update the image according to the change of date in android project根据android项目中日期的变化更新图像
【发布时间】:2020-09-02 16:27:15
【问题描述】:

我使用 sharedpreferences 来存储下一次比较的值,但它崩溃了。我应该为“日期更改时图像部分每天更改”的主题创建代码,这是我的逻辑。但我无法使其在 android studio 中编码实用。


Calendar calendar = Calendar.getInstance();
        String currentDate= DateFormat.getDateInstance(DateFormat.DATE_FIELD).format(calendar.getTime());

       SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
       SharedPreferences.Editor editor = sharedPreferences.edit();
        if(string1 == null){
            string1=currentDate;
        }
       string1 = savedInstanceState.getString("store_data");
        if(currentDate != string1) 
{
            string1 = currentDate;
           editor.putString("store_date", string1);
           editor.apply();
            Log.d("jomson","hello"+string1);
            maxided = savedInstanceState.getInt("store_number");
            
  refer=FirebaseDatabase.getInstance().getReference().child("daily").child(String.valueOf(maxided));
            refer.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                    String mypic = snapshot.child("pic").getValue().toString();
                    Picasso.get().load(mypic).into(image1);
                    editor.putString("store_number", String.valueOf(maxided+1));
                }

                @Override
                public void onCancelled(@NonNull DatabaseError error) {

                }
            });

        }else{
            
        

        }
   
 }




【问题讨论】:

  • 在崩溃时添加日志。
  • 我试过了,先生,正确吗?
  • 如果应用程序崩溃,会有一个堆栈跟踪。请在 logcat 上查找,并将其添加到您的问题中。

标签: java android firebase firebase-realtime-database sharedpreferences


【解决方案1】:

尝试像这样初始化它

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);

【讨论】:

    【解决方案2】:

    就这样解决了……

               String currentDate= DateFormat.getDateInstance(DateFormat.DATE_FIELD).format(calendar.getTime());
    
    
               SharedPreferences mydate = this.getSharedPreferences("mydata", Context.MODE_PRIVATE);
               string1 = mydate.getString("stored", String.valueOf(DEFAULT_KEYS_DISABLE));
               maxided = mydate.getInt("number", DEFAULT_KEYS_DISABLE);
    
    
              
           if(!currentDate.equals(string1) || maxided == 0) {
               string1 = currentDate;
    
    
               mydate = getSharedPreferences("mydata", Context.MODE_PRIVATE);
               SharedPreferences.Editor editor = mydate.edit();
               editor.putString("stored", string1);
               maxided=+1;
               editor.putInt("number",maxided);
               editor.apply();
           }else{
               Toast.makeText(this, "SharedPreference worked", Toast.LENGTH_SHORT).show();
    
           }
    
    
            
               
               refer= FirebaseDatabase.getInstance().getReference().child("daily").child(String.valueOf(maxided));
               refer.addValueEventListener(new ValueEventListener() {
                   @Override
                   public void onDataChange(@NonNull DataSnapshot snapshot) {
                       String mypic = snapshot.child("pic").getValue().toString();
                       Picasso.get().load(mypic).into(image1);
                    
                   }
    
                   @Override
                   public void onCancelled(@NonNull DatabaseError error) {
    
                   }
               });    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多