有没有其他方法从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();
}
}
}
答案 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。
您还可能需要声明使用您尝试使用它的方法。