在android java中导入.class文件

时间:2011-08-09 18:00:50

标签: java android eclipse

有没有其他方法从android中的同一个包导入另一个Java类?

我正在尝试将store.class导入SMSreceiver.class 在SMSreceiver.class中,我输入此代码,存储storesKey = new store();

但仍无法调用store.class中的方法

这将是我的store.class编码。

public class store extends Activity{
    public store(){

    }

     public void saveToFile(String filename, String sms) throws NoSuchAlgorithmException, InvalidKeySpecException, IOException{
            OutputStreamWriter out = new OutputStreamWriter(openFileOutput(filename, Context.MODE_APPEND));
            out.write(sms);
            out.close();            
    }

我的编码有问题吗?

任何帮助?

罗布,这是我的另一个班级

public class storePubKey extends BroadcastReceiver
{
    Activity ac = new Activity();
    store sk = new store();
    public void onReceive(Context context, Intent intent)
{
    //---get the SMS message passed in---
    Bundle bundle = intent.getExtras();        
    SmsMessage[] msgs = null;
    String str = "";            
    if (bundle != null)
    {
        try{
        //---retrieve the SMS message received---
        Object[] pdus = (Object[]) bundle.get("pdus");
        msgs = new SmsMessage[pdus.length];            
        for (int i=0; i<msgs.length; i++){
            msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                
            str = msgs[i].getMessageBody().toString();
            Toast.makeText(context, "f", Toast.LENGTH_SHORT).show();
            sk.saveToFile("public.key", str);
            Toast.makeText(context,("public.keyasd"), Toast.LENGTH_SHORT).show();

        }
        }catch(Exception e){}

        }
        //---display the new SMS message---
        try {
            //Toast.makeText(context,str, Toast.LENGTH_SHORT).show();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
}   

}

1 个答案:

答案 0 :(得分:0)

编辑:试试这个

要在另一个类中调用非静态方法,您需要对该类的引用。

store storeRef = new store(); // create new instance and set reference
storeRef.saveToFile(); // call the method

如果您已经有对该类的引用,则无需创建它。引用可以在方法调用中传递:

public void calledMethod(store storeRef) {
storeRef.saveToFile();

更新

更改 storeKey sk = new storeKey();  至 存储sk =新商店();

由于store是您的原始类名,而不是storeKey。

您还可能需要声明使用您尝试使用它的方法。