Java 如何使用SharedReference存储int?
我尝试使用SharedReference来存储int,int根据用户选择的内容更改其id,我不知道如何存储用户选择的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
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);
}