انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ساخت Array list در یک SharedPreference و فراخوانی آن در یک اکتیویتی

ساخت Array list در یک SharedPreference و فراخوانی آن در یک اکتیویتی

#1
سلام ادمین جان! 
توی یه کلاس sharedPreference تعداد 30 تا string دارم که این استرینگ ها توشون یه سری عدد اعشار دار هست.
می خوام همه این استرینگ ها رو توی یه Array List وارد کنم. (توی همون کلاس)
کدهای  sharedPreference به صورت زیر هست که از stackoverflow کمک گرفتم:
کد پی‌اچ‌پی:
public class Prefs extends PreferenceActivity {
    
    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
            
super.onCreate(savedInstanceState);
            
SharedPreferences prefs PreferenceManager.getDefaultSharedPreferences(this);
            
            [
color=#FF0000]//about 30 Strings[/color]
            
String w1 prefs.getString("w1""");
            
String w2 prefs.getString("w2""");
            
String w3 prefs.getString("w3""");
            
String w4 prefs.getString("w4""");
            
String w5 prefs.getString("w5""");
            
String w6 prefs.getString("w6""");
            
           
            
            [
color=#FF0000]//Set up an Array list containing all these numbers[/color]
            
ArrayList<Doubleweights = new ArrayList<Double>();
            for (
int i 1<= 30i++) {
                
weights.add(Double.parseDouble(prefs.getString("w" i"0")));
            }                    
            
            }
    


حالا می خوام این array list رو، توی یه اکتیویتی که بخشی از اون در زیر اومده فراخوان کنم و جای Array list به نام "entries" معرفی بشه! لطفا راهنمایی کنید.
کد پی‌اچ‌پی:
private LineData generateLineData() {
        
        [
color=#FF0000]//Call SharedPreferences here[/color]
        
SharedPreferences shared getSharedPreferences("Prefs"MODE_PRIVATE);
        
SharedPreferences.Editor editor shared.edit();
            [
color=#FF0000]انیجا نمی دونم چطوری فراخوانش کنم[/color]

        
LineData d = new LineData();
        
        
//Replace or introduce our Array list instead of "entries"[color=#FF0000] اینجا هم می خوام به جای لیست زیر معرفیش کنم[/color]
        
ArrayList<Entryentries = new ArrayList<Entry>();

        for (
int index =index itemcountindex++)
            
entries.add(new Entry(getRandom(1510), index));

        
LineDataSet set = new LineDataSet(entries"First data series"); 



 
پاسخ

ساخت Array list در یک SharedPreference و فراخوانی آن در یک اکتیویتی

#2
من دقیق سوالتون متوجه نشدم..
اگر قصدتون فراخوانی هست پس چرا برای shereadPrefernced ادیتور تعریف کردید؟(اونجایی که در کدتون نوشتید میخوام اینجا فراخوانی کنم).ادیتور برای وارد کردن در shereadPrefernced هست نه فراخوانی.
شما میخواید توی یک اکتیوتی 30 تا رشته رو بریزید داخل یک ArrayList ،بعدش حالا میخواید این شی پاس بدید به یک اکتیویتی دیگه؟ منظورتون اینه؟
من دقیق نمیدونم چرا میخواید اینکار کنید..
ولی میتونید این 30 تا رشته رو بریزید از همون اول بریزید داخل یک آرایه .بعد این آرایه رو بفرستید به اکتیویتی دیگه..حالا میتونید داخل اون اکتیوتی این آرایه رو تبدیل کنید به  ArrayList.
مثلا
کد پی‌اچ‌پی:
Double [ ] number;

for(
int i=0;i<30;i++)
{
 
number[i]=Double.parseDouble(prefs.getString("w"+i,"0")));

حالا این مقدار با اینتت بفرستید به اکتیویتی دیگه.
کد پی‌اچ‌پی:
Intent x=new Intent(firstActivity.this,SecoundActivity.class);
x.putExtra("number",number);
StartActivity(x); 
حالا توی اکتیوتی دوم این آرایه رو بگیرید
کد پی‌اچ‌پی:
Intent x=getIntent();
Double [ ] number=x.getDoubleArrayExtra("number"); 
حالا با یه حلقه  میتونید این مقادیر این آرایه رو داخل ArrayList بریزید.
کد پی‌اچ‌پی:
    ArrayList<Doublemy_array=new ArrayList<Double>();
for(
int i=0;i<number.length;i++)
        {
            
my_array.add(number[i]);
            
        } 
منظورتون این بود؟


 
پاسخ
 سپاس شده توسط civiato ، admin

ساخت Array list در یک SharedPreference و فراخوانی آن در یک اکتیویتی

#3
سلام،
خیلی ممنون از توضیحاتتون.
توی اکتیویتی دوم، Array List باید با فرمت Entry باشه. شما می دونید چطوری میشه Double رو به Entry تبدیل کرد؟
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان