如何保存由2个字符串组成的首选项并显示它们?

时间:2016-04-09 12:26:08

标签: android sharedpreferences android-preferences

我目前正在创建一个Android应用程序。此应用程序应允许用户输入RSS提要URL并将其另存为首选项。我知道如何使用键/值属性保存基本首选项(字符串,布尔值......)。我的问题是我希望将RSS源的URL和网站名称保存为一个首选项(例如http://rss.cnn.com/rss/edition.rss - > CNN热门新闻)。 所以在这种情况下,单个首选项由2个字符串组成,我不知道该怎么做。

我找到了一个JSON模块,可以将对象保存为首选项,但我想避免使用此应用程序的任何模块。

是否有可能在没有外部模块的情况下做我想做的事情,如果是的话,你可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我觉得你在思考这个问题。相反,请考虑这种方法:

#include <stdio.h>
#include <stdlib.h>
#define empty_space 0
int m,n,i,j,z,y;

void print_matrix(int matrix[3][3])
{
    for ( m=0; m<3; m++){
    for (n=0; n<3; n++)
        {
            printf("%d\t",matrix[m][n]);
        } printf("\n");
    }
    printf("\n");
}


void swap(int *i, int *j) {
   int t = *i;
   *i = *j;
   *j = t;
}
 void slide(int a[3][3] , int t)
{
    for ( i=0; i<3; i++){
    for ( j=0; j<3; j++)
        {
            if (a[i][j]==t)
        {
           if (a[i+1][j]==empty_space && i+1<=2)
                {
                    swap(&a[i+1][j],&a[i][j]);break;
                }
           if (a[i-1][j]==empty_space && i-1>=0)
                {
                    swap(&a[i][j],&a[i-1][j]);break;
                    }
           if (a[i][j+1]==empty_space && j+1<=2)
                {
                    swap(&a[i][j],&a[i][j+1]);break;
                    }
           if (a[i][j-1]==empty_space && j-1>=0)
                {
                    swap(&a[i][j],&a[i][j-1]);break;
                }
        }

        }
}
}
int goal_test (int a[3][3],int b[3][3])
{
    int flag=0;
    for ( z=0; z<3; z++){
         for ( y=0; y<3; y++){
            if(a[z][y]==b[z][y])
                flag++;
         }
    }
    if (flag==9)
        return 1;
    else return 0;


}


int main()
{
    static int  mat[3][3]={{1,2,3},{6,0,4},{7,5,8}};
    int goal[3][3]={{1,0,3},{6,5,4},{7,8,2}};

    print_matrix(mat);
    int x;

    while(goal_test(mat,goal)==0)
    {

        printf("enter tile to slide:\t");
        scanf("%d",&x);

        slide(mat, x);
        print_matrix(mat);


    }



    return 0;
}

我希望这会有所帮助;

或者,您可以将两个值存储在表格中!