2月4日

Posted dg1137

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2月4日相关的知识,希望对你有一定的参考价值。

今天主要研究了安卓系统关于如何保持后台运行的相关方面。

 

package com.eb.myapplicationsd;

import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.SavedStateViewModelFactory;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelProviders;
import android.os.Bundle;
import com.eb.myapplicationsd.databinding.ActivityMainBinding;
 
public class MainActivity extends AppCompatActivity {
        MyViewModel myViewModel;
        ActivityMainBinding binding;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        binding=DataBindingUtil.setContentView(this,R.layout.activity_main);
         myViewModel = ViewModelProviders.of(thisnew SavedStateViewModelFactory(getApplication(),this)).get(MyViewModel.class);
         binding.setData(myViewModel);
         binding.setLifecycleOwner(this);}
 
    @Override
    protected void onPause() {
        super.onPause();
        myViewModel.save();}}
 
 
package com.eb.myapplicationsd;
 
import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.SavedStateHandle;
import androidx.lifecycle.ViewModel;
 
public class MyViewModel extends AndroidViewModel {
    SavedStateHandle savedStateHandle;
    String key=getApplication().getResources().getString(R.string.data_key);
    String shpname=getApplication().getResources().getString(R.string.shp_name);
    public MyViewModel(@NonNull Application application,SavedStateHandle savedStateHandle) {
        super(application);
        this.savedStateHandle=savedStateHandle;
        if(!savedStateHandle.contains(key))
        {}}
  public  LiveData<Integer>getNumber(){
        return savedStateHandle.getLiveData(key);}
    public void load(){
        SharedPreferences sharedPreferences=getApplication().getSharedPreferences(shpname, Context.MODE_PRIVATE);
        int x=sharedPreferences.getInt(key,0);
        savedStateHandle.set(key,x);}
    public void save(){
        SharedPreferences sharedPreferences=getApplication().getSharedPreferences(shpname,Context.MODE_PRIVATE);
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putInt(key,getNumber().getValue());
        editor.apply();}
    public void add(int x){
        savedStateHandle.set(key,getNumber().getValue()+x);}}

以上是关于2月4日的主要内容,如果未能解决你的问题,请参考以下文章

2月4日-寒假进度04

2018年4月2日推荐——PyTorch

4月6日 编码问题

text 芝加哥代码2018年4月4日更新

源代码管理工具——github介绍

Coding.net 4月1日凌晨将对 Git 服务进行维护