Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用SharedReference存储int?_Java_Android_Eclipse_Sharedpreferences - Fatal编程技术网

Java 如何使用SharedReference存储int?

Java 如何使用SharedReference存储int?,java,android,eclipse,sharedpreferences,Java,Android,Eclipse,Sharedpreferences,我尝试使用SharedReference来存储int,int根据用户选择的内容更改其id,我不知道如何存储用户选择的int以及如何读取它,我现在主要关心的是如何存储,我稍后会考虑如何读取它,但请有人告诉我如何解决此问题 以下是我的主要活动: public class MainActivity extends Activity implements OnClickListener { static int tophone; ImageView display; @Override pro

我尝试使用SharedReference来存储int,int根据用户选择的内容更改其id,我不知道如何存储用户选择的int以及如何读取它,我现在主要关心的是如何存储,我稍后会考虑如何读取它,但请有人告诉我如何解决此问题

以下是我的主要活动:

  public class MainActivity extends Activity implements OnClickListener {

static int tophone;
ImageView display;


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

    tophone = R.drawable.iv1;
    display = (ImageView) findViewById(R.id.IView);
    ImageView image1 = (ImageView) findViewById(R.id.iv1);
    ImageView image2 = (ImageView) findViewById(R.id.iv2);
    ImageView image3 = (ImageView) findViewById(R.id.iv3);
    ImageView image4 = (ImageView) findViewById(R.id.iv4);
    Button setWp = (Button) findViewById(R.id.setWp);

    image1.setOnClickListener(this);
    image2.setOnClickListener(this);
    image3.setOnClickListener(this);
    image4.setOnClickListener(this);
    setWp.setOnClickListener(this);

}


@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()){
    case R.id.iv1:
        display.setImageResource(R.drawable.iv1);
        tophone = R.drawable.iv1;
        break;
    case R.id.iv2:
        display.setImageResource(R.drawable.iv2);
        tophone = R.drawable.iv2;
        break;
    case R.id.iv3:
        display.setImageResource(R.drawable.iv3);
        tophone = R.drawable.iv3;
        break;
    case R.id.iv4:
        display.setImageResource(R.drawable.iv4);
        tophone = R.drawable.iv4;
        break;
    case R.id.setWp:
        Toast WpSet = Toast.makeText(MainActivity.this,"Wallpaper Set", Toast.LENGTH_SHORT);

        DisplayMetrics metrics = new DisplayMetrics(); 
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        int height = metrics.heightPixels; 
        int width = metrics.widthPixels;
        Bitmap tempbitMap = BitmapFactory.decodeResource(getResources(), tophone);
        Bitmap bitmap = Bitmap.createScaledBitmap(tempbitMap,width,height, true);
        WallpaperManager wallpaperManager = WallpaperManager.getInstance(MainActivity.this); 
        wallpaperManager.setWallpaperOffsetSteps(1, 1);
        wallpaperManager.suggestDesiredDimensions(width, height);
        try {
          wallpaperManager.setBitmap(bitmap);
          } catch (IOException e) {
          e.printStackTrace();
        }
        WpSet.show();
        break;
如您所见,我想存储图像的id,即“tophone”。 我想存储id,以便在广播接收器中引用它。 提前感谢

给您举个小例子:

设置:

获取:

要从
BroadReceiver
中的
SharedPrefs
获取int值:

您可以从
BroadReceiver
onReceive(上下文上下文,意图arg1)
使用上下文

@Override
 public void onReceive(Context context, Intent arg1)
 {
     SharedPreferences sp = context.getSharedPreferences("myPrefs",Context.MODE_PRIVATE);                                                  
 } 
给你举个小例子:

设置:

获取:

要从
BroadReceiver
中的
SharedPrefs
获取int值:

您可以从
BroadReceiver
onReceive(上下文上下文,意图arg1)
使用上下文

@Override
 public void onReceive(Context context, Intent arg1)
 {
     SharedPreferences sp = context.getSharedPreferences("myPrefs",Context.MODE_PRIVATE);                                                  
 } 

您用于尝试将其存储在SharedPrefs中的代码在哪里?“int-tophone”@code-magicb但您说您已经尝试使用SharedPrefs,但您没有显示任何代码,这将允许我们告诉您您做错了什么。如果你只是想要一个例子,那么互联网和文档上有很多。我建议你使用适当的缩进。这使你的代码更容易阅读。它是一个混乱,所以我删除了所有的sharedprefs代码@CodeMagicw这里是你用来尝试并存储在sharedprefs中的代码?“int-tophone”@CodeMagicb但你说你已经尝试使用sharedprefs,但你没有显示任何代码,这将允许我们告诉你你做错了什么。如果你只是想要一个例子,那么互联网和文档上有很多。我建议你使用适当的缩进。它使你的代码更容易阅读。这是一个混乱,所以我删除了所有sharedprefs代码@codeMagicJust name,例如“金额”,“大小”它说sp的本地值在广播接收器中未使用请编辑你的代码,并显示你如何尝试从首选项获取数据。只需命名例如“金额”,“大小”它说sp的本地值未在广播接收器中使用。请编辑您的代码,并显示如何尝试从首选项获取dat。
@Override
 public void onReceive(Context context, Intent arg1)
 {
     SharedPreferences sp = context.getSharedPreferences("myPrefs",Context.MODE_PRIVATE);                                                  
 }