我一直在构建一个演示应用程序来练习Flutter,该应用程序在模拟器中运行得非常好,在连接时在真实的设备上也是如此。但现在,我一直试图在我的移动的上运行APK文件,它似乎不工作.我可以登录到应用程序,这意味着互联网权限正在工作。但是当涉及到从服务器提取数据的主屏幕时,该应用程序不起作用。也许在相关的代码中有什么错误,但我似乎无法修复它。
我已经附加了主屏幕的代码,以及,供应商的一部分是有问题的事情。而且数据库中的数据意味着列表根本不是空的
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import './new_enquiry_screen.dart';
import '../providers/enquiries_provider.dart';
import '../screens/new_enquiry_screen.dart';
import '../widgets/drawer_widget.dart';
import '../widgets/follow_up_list_tile_widget.dart';
class EnquiryScreen extends StatelessWidget {
const EnquiryScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 3,
child: Scaffold(
drawer: DrawerWidget(),
appBar: AppBar(
bottom: const TabBar(
tabs: [
Tab(text: 'Follow Ups'),
Tab(text: 'Leads'),
Tab(text: 'Past'),
],
),
title: Text(
'Enquiries',
),
backgroundColor: Theme.of(context).primaryColor,
),
body: TabBarView(
children: [
ChangeNotifierProvider<EnquiriesProvider>.value(
value: EnquiriesProvider(),
child: Consumer<EnquiriesProvider>(
builder: (_, provider, child) {
int length = provider.enquiries.length;
return length == 0
? Center(
child: CircularProgressIndicator(),
)
: ListView.builder(
itemCount: length,
itemBuilder: (_, index) {
return FollowUpListTileWidget(
provider.enquiries.elementAt(index),
);
},
);
},
),
),
const Center(
child: Text('Leads Up'),
),
const Center(
child: Text('Past Up'),
),
],
),
floatingActionButton: FloatingActionButton(
backgroundColor: Theme.of(context).primaryColor,
onPressed: () {
Navigator.of(context).pushNamed(NewEnquiryScreen.routeName);
},
child: Icon(
Icons.add,
color: Theme.of(context).accentColor,
size: 30,
),
),
),
);
}
}
import 'package:flutter/material.dart';
import '../models/enquiry.dart';
class FollowUpListTileWidget extends StatelessWidget {
const FollowUpListTileWidget(this._enquiry, {Key? key}) : super(key: key);
final Enquiry _enquiry;
@override
Widget build(BuildContext context) {
return Card(
elevation: 10,
margin: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 5.0),
child: ListTile(
leading: CircleAvatar(
child: Text(
_enquiry.name.characters.first.toUpperCase(),
style: TextStyle(
color: Theme.of(context).accentColor,
),
),
backgroundColor: Theme.of(context).primaryColor,
),
title: Text(_enquiry.name),
subtitle: FittedBox(child: Text(_enquiry.email)),
trailing: Row(
mainAxisSize: MainAxisSize.min,
children: [
IconButton(
color: Theme.of(context).primaryColor,
onPressed: () {},
icon: const Icon(
Icons.phone,
),
),
IconButton(
color: Theme.of(context).primaryColor,
onPressed: () {},
icon: const Icon(Icons.whatsapp),
),
IconButton(
color: Theme.of(context).primaryColor,
onPressed: () {},
icon: const Icon(Icons.edit),
),
],
),
),
);
}
}
2条答案
按热度按时间1l5u6lss1#
尝试在真实的设备中的调试模式下运行应用程序,如果它正在工作,则检查清单文件,您已在调试模式下默认在
android/app/main/AndroidManifest.xml
内部给予互联网权限或不在互联网权限已经退出,最重要的是,请从您的问题标题中删除所有大写字母,因为它很难阅读。g6baxovj2#
\android\app\src\main\AndroidManifest.xml文件,用于在网络中添加权限使用
Example image