amirmamed
شنبه 07 دی 1392, 20:42 عصر
سلام
من میخوام وقتی روی آیتم ستاره کلیک میکنم،تصویرش عوض بشه و وقتی برنامه رو دوباره اجرا می کنم این تغییرات اعمال بشه.ولی اعمال نمیشن
این کد جاوا هستش:
import java.io.ByteArrayOutputStream;
import android.app.Activity;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Base64;
import android.view.Menu;
public class m extends Activity {
@Override
public boolean onCreateOptionsMenu(Menu menu ) {
getMenuInflater().inflate(R.menu.act, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onMenuItemSelected(final int featureId, final android.view.MenuItem item) {
switch (item.getItemId()) {
case R.id.bq: // آیدی آیتم ستاره
SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this );
String img = app_preferences.getString("key", "star");
byte[] decodedString = Base64.decode(img, Base64.DEFAULT);
Bitmap de = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
Drawable j = new BitmapDrawable(getResources(),de);
item.setIcon(j);
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.m);
Bitmap immagex=BitmapFactory.decodeResource(getResources( ) , R.drawable.ic_action_star_d);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
immagex.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] v = baos.toByteArray();
String star = Base64.encodeToString(v,Base64.DEFAULT);
SharedPreferences app_preferences =
PreferenceManager.getDefaultSharedPreferences(this );
SharedPreferences.Editor editor = app_preferences.edit();
editor.putString("key", star);
editor.commit();
}
}
اینم از ویدئو:
http://www.aparat.com/v/cd0yK
لطفا راهنماییم کنید
من میخوام وقتی روی آیتم ستاره کلیک میکنم،تصویرش عوض بشه و وقتی برنامه رو دوباره اجرا می کنم این تغییرات اعمال بشه.ولی اعمال نمیشن
این کد جاوا هستش:
import java.io.ByteArrayOutputStream;
import android.app.Activity;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Base64;
import android.view.Menu;
public class m extends Activity {
@Override
public boolean onCreateOptionsMenu(Menu menu ) {
getMenuInflater().inflate(R.menu.act, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onMenuItemSelected(final int featureId, final android.view.MenuItem item) {
switch (item.getItemId()) {
case R.id.bq: // آیدی آیتم ستاره
SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this );
String img = app_preferences.getString("key", "star");
byte[] decodedString = Base64.decode(img, Base64.DEFAULT);
Bitmap de = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
Drawable j = new BitmapDrawable(getResources(),de);
item.setIcon(j);
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.m);
Bitmap immagex=BitmapFactory.decodeResource(getResources( ) , R.drawable.ic_action_star_d);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
immagex.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] v = baos.toByteArray();
String star = Base64.encodeToString(v,Base64.DEFAULT);
SharedPreferences app_preferences =
PreferenceManager.getDefaultSharedPreferences(this );
SharedPreferences.Editor editor = app_preferences.edit();
editor.putString("key", star);
editor.commit();
}
}
اینم از ویدئو:
http://www.aparat.com/v/cd0yK
لطفا راهنماییم کنید