1

我将 jfuzzylogic 应用程序用于我的论文项目。当我尝试在 Android 平台上运行 jfuzzylogic 应用程序时,我遇到了一个问题。我在下面运行此代码后,无法加载 fcl 文件。我猜Android平台无法检测或识别fcl文件。但是,当我在普通计算机上运行相同的 jfuzzylogic 代码块时,fcl 文件加载正常。有人对这个问题有什么建议吗?是否可以在 Android 平板电脑上运行 jfuzzylogic 应用程序?这是代码:

 import net.sourceforge.jFuzzyLogic.FIS;

 import android.widget.TextView;


public class Mixing implements Runnable {


public Interfacekit mixkit,sonarkit;
public TextView[] Rfidviews; 

int count;  


public Mixing(Interfacekit sonarkit,Interfacekit dishkit,Interfacekit mixkit,Rfid mrfid1,Rfid mrfid2, Rfid mrfid3,Rfid mrfid4,Rfid dishrfid,Rfid sinkrfid,Rfid stoverfid,Temperature eggtemp,Temperature stovetemp,final TextView[] Rfidviews)
{
    this.sonarkit=sonarkit;
    this.Rfidviews = Rfidviews;

    new Thread(this).start();
}



public void run()   

{
    while(count==1){


                 //////////////////////////initial states

        if(mixkit.getattach()==true||sonarkit.getattach()==true ) 


        {


                    Rfidviews[20].post(new Runnable() {
                        public void run() {
                            {




                                // Vassiliki


                                // Load from 'FCL' file

                                String vassiliki_fileName1= "vassiliki_examinable.fcl";

                                // Vassiliki Examinable     

                                /* I FACED PROBLEM IN THIS LINE. THIS FCL FILE WASN'T LOADED SINCE I GUESS ANDROID TABLET CAN'T DETECT
                                 * OR RECOGNIZE FCL FILE.
                                 */
                                FIS vassiliki_examinable_obj1 = FIS.load(vassiliki_fileName1,true);

                                // Error while loading?
                                if( vassiliki_examinable_obj1 == null ) { 
                                    System.err.println("Can't load file: '" 
                                                           + vassiliki_fileName1 + "'");
                                    return;
                                }


                                int sonar1 = sonarkit.getsonar(2);
                                if (sonar1 != 0){


                                vassiliki_examinable_obj1.setVariable("proximity", sonar1);
                                vassiliki_examinable_obj1.setVariable("obj_orient_perception", 1);
                                vassiliki_examinable_obj1.setVariable("obj_size", 40);

                                vassiliki_examinable_obj1.evaluate();

                                double ex_toaster=vassiliki_examinable_obj1.getVariable("examinable").getValue();

                                if(ex_toaster>10){

                                     Rfidviews[20].setText("Toaster");

                                }


                                }

                                else
                                    Rfidviews[20].setText(" ");








                            }
                        }
                    });









        }           



    }

}

}

4

1 回答 1

0

请改用 jfuzzylite。它是免费和开源的。它不需要第三方库,包含比jfuzzylogic更多的功能(参数优化除外),二进制大小小于300KB,在Android上完美运行。访问 www.fuzzylite.com。

于 2014-01-21T05:43:55.693 回答