Function 如何在flatter中从另一个文件调用函数?

Function 如何在flatter中从另一个文件调用函数?,function,flutter,Function,Flutter,我是dart新手,正在尝试从我的登录页面中的auth.dart文件调用函数我尝试了许多解决方案,但都没有成功,所以有什么新想法吗? 这是我的身份验证文件: abstract class BaseAuth{ Future<FirebaseUser> currentUser(); Future<String> signIn(String email, String password); Future<String> createUser(String

我是dart新手,正在尝试从我的登录页面中的auth.dart文件调用函数我尝试了许多解决方案,但都没有成功,所以有什么新想法吗? 这是我的身份验证文件:

abstract class BaseAuth{
  Future<FirebaseUser> currentUser();
  Future<String> signIn(String email, String password);
  Future<String> createUser(String email, String password);
  Future<void> signOut();
  Future<String> getEmail();
  Future<bool> isEmailVerified();
  Future<void> resetPassword(String email);
  Future<void> sendEmailVerification();
}
class Auth implements BaseAuth{
  final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
  Future<String> signIn(String email, String password) async {
    FirebaseUser user = (await _firebaseAuth.signInWithEmailAndPassword(email: email, password: password)) as FirebaseUser;
    return user.uid;
  }
  Future<String> createUser(String email, String password) async {
    FirebaseUser user = (await _firebaseAuth.createUserWithEmailAndPassword(email: email, password: password)) as FirebaseUser;
    return user.uid;
  }
  Future<FirebaseUser> currentUser() async {
    FirebaseUser user = await _firebaseAuth.currentUser();
    print("uid ${user.uid}");
    return user;
  }
  Future<String> getEmail() async{
    FirebaseUser user = await _firebaseAuth.currentUser();
    return user.email;
  }
  Future<void> signOut() async {
    return _firebaseAuth.signOut();
  }
  Future<bool> isEmailVerified() async{
    FirebaseUser user = await _firebaseAuth.currentUser();
    return user.isEmailVerified;
  }
  Future<void> resetPassword(String email) async{
    return _firebaseAuth.sendPasswordResetEmail(email: email);
  }
  Future<void> sendEmailVerification() async{
    FirebaseUser user = await _firebaseAuth.currentUser();
    return user.sendEmailVerification();
  }
}
抽象类BaseAuth{
Future currentUser();
未来登录(字符串电子邮件、字符串密码);
未来的createUser(字符串电子邮件、字符串密码);
未来签出();
未来的getEmail();
未来已验证();
未来重置密码(字符串电子邮件);
未来发送电子邮件验证();
}
类Auth实现BaseAuth{
final FirebaseAuth _FirebaseAuth=FirebaseAuth.instance;
未来登录(字符串电子邮件、字符串密码)异步{
FirebaseUser=(等待firebaseAuth.signInWithEmailAndPassword(电子邮件:电子邮件,密码:密码))作为FirebaseUser;
返回user.uid;
}
未来createUser(字符串电子邮件、字符串密码)异步{
FirebaseUser=(等待\u firebaseAuth.createUserWithEmailAndPassword(电子邮件:电子邮件,密码:密码))作为FirebaseUser;
返回user.uid;
}
Future currentUser()异步{
FirebaseUser=等待_firebaseAuth.currentUser();
打印(“uid${user.uid}”);
返回用户;
}
Future getEmail()异步{
FirebaseUser=等待_firebaseAuth.currentUser();
返回user.email;
}
Future signOut()异步{
返回_firebaseAuth.signOut();
}
未来isEmailVerified()异步{
FirebaseUser=等待_firebaseAuth.currentUser();
返回user.isEmailVerified;
}
未来重置密码(字符串电子邮件)异步{
返回_firebaseAuth.sendPasswordResetEmail(email:email);
}
将来的sendEmailVerification()异步{
FirebaseUser=等待_firebaseAuth.currentUser();
返回user.sendEmailVerification();
}
}

首先需要导入文件。在文件的最顶端执行此操作。您需要提供从当前文件位置到文件的路径。因此,如果当前文件位于/lib中,而新文件位于/lib/widgets中,则路径为“widgets/new.dart”。你可以像这样打开文件夹“./new.dart”

然后实例化类的一个对象并使用该对象调用函数

New x = New();
x.getFromOtherFile();

在本例中,“New”是我的类名。

使用提供程序包。“New”是什么?New是我的类名。在您的情况下,它将是“Auth”,但在您的导入中不是。这里使用的是实际的文件名。谢谢,但我还有一个问题,你能帮我吗?@OmarYacop当然,是什么
New x = New();
x.getFromOtherFile();