微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用共享首选项保存数据?

如何解决如何使用共享首选项保存数据?

| 我是android应用程序的新开发人员。我使用共享首选项概念将数据从一个活动共享到另一个活动。我实现了以下代码 Main.java
public class Main extends Activity 
{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TableLayout table=(TableLayout)findViewById(R.id.tableLayout1);
         table.removeAllViews();
        String sName = null;
        for(int i=0;i<10;i++)
        {
            TableRow row=new TableRow(Main.this);
            row.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
            TextView  name=new TextView(Main.this);

            name.setText(\" HAI PRASAD\"+i);

          sName=name.getText().toString();

            Log.v(\"sName 1111111\",\"-->\"+sName);

             getSharedPreferences(\"Values\",0).edit().putString(\"NAMES\",sName).commit();


            name.setGravity(Gravity.LEFT);
            name.setTypeface(Typeface.MONOSPACE);

              row.addView(name);

              table.addView(row);  
        }

        ((Button)findViewById(R.id.button1)).setonClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                Intent it=new Intent(Main.this,Main2.class);
                startActivity(it);
            }
        });


}
在这里,我要打印十次名称,并保存为共享首选项
TextView  name=new TextView(Main.this);

            name.setText(\" HAI PRASAD\"+i);

          sName=name.getText().toString();

            Log.v(\"sName 1111111\",sName).commit();
在这里我想在Main2.class.main2.java中获得相同的数据,如下所示
public class Main2 extends Activity 
{


@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

    setContentView(R.layout.main2);

    String name=getSharedPreferences(\"Values\",0).getString(\"NAMES\",\"\");

    ((TextView)findViewById(R.id.textView1)).setText(name);
}
在这里我只得到一个名字,叫HAI PRASAD9 我怎样才能一一得到   HAI PRASAD0 HAI PRASAD1 HAI PRASAD2   HAI PRASAD3 HAI PRASAD4 ......等等? 请任何人可以帮助 提前致谢     

解决方法

您需要具有多个键才能存储多个项目。像这样:
for (int i = 0; i < 10; i++) {
        getSharedPreferences(\"Values\" + i,0).edit().putString(\"Key\" + i,\"STring\" + i);
    }
    for (int i = 0; i < 10; i++) {
        getSharedPreferences(\"Values\" + i,0).getString(\"Key\" + i,\"\");
    }
希望这可以帮助。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。