从Android上的资产中读取随机文件

时间:2014-11-22 16:06:57

标签: android arrays image assets

您好我在Eclipse,Android编程上阅读随机文件时遇到问题... 在资产文件夹中,我有一个名为" fytyra"的文件夹。还有jpg图片,如1.jpg 2.jpg ......

我尝试调试应用程序,列表始终为null ??? ???

//获取0到431之间的随机数,..我认为是!

private int nasiqim (){
        int i = 0;
        Random nasiqimi = new Random();
        i=nasiqimi.nextInt(431);
        return i;
    }

//这需要用整数填充列表,不要重复相同的数字......

private void listaEFotove(){
        int nse=-1,i=0,numriRandom;


        while (nse<0){
            numriRandom = nasiqim();
            nse = Arrays.binarySearch(numrat, numriRandom);
            if (nse <0 ){
                numrat[i] = numriRandom;
                i++;
            }
            if (i == 11)break;
        }
        }

这是用照片填充imageView ......

private void merrFytyrat(){
int fotoNr=0;
    String emri;
    listaEFotove();

        for (int i=0; i<11;i++){
        fotoNr=numrat[i];

        if (i==0){
            try 
        {
            emri = Integer.toString(fotoNr);
            // get input stream
            InputStream ims = getAssets().open( "fytyra/" + emri +".jpg");
            // load image as Drawable
            Drawable d = Drawable.createFromStream(ims, null);
            // set image to ImageView
            i11.setImageDrawable(d);
        }
        catch(IOException ex) 
        {
            return;
        };
        }
        else if (i==1){ ... Continues until 12...

1 个答案:

答案 0 :(得分:0)

我得到了答案,谢谢greenapps,试图帮助我...... 我的错误在于声明数组...所以我的新代码是这样的:

int[] numrat = new int[12];

就是这样:

int[] numrat = null;

另一个错误是在getAssets上,就像greenapps告诉我的那样

getAssets().open( "/fytyra/" + emri +".jpg");

现在感谢他,我将该代码更改为:

getAssets().open( "fytyra/" + emri +".jpg");

没有一切都很完美,。, 这个网站是最好的,谢谢...