I am getting this warning in my run console. Baically, my chatRoomTile is not been showed on the screen. It just shows blank screen, even after i have had chat with 10 persons.
It is just showing the main screen, and the red container for 2 seconds, as in conditional statement.
This is the output in run -
Performing hot restart...
Syncing files to device sdk gphone x86...
Restarted application in 1,522ms.
W/eyansh.whatsap( 6057): Accessing hidden method Ldalvik/system/CloseGuard;->close()V (greylist,core-platform-api, linking, allowed)
W/DynamiteModule( 6057): Local module descriptor class for providerinstaller not found.
I/DynamiteModule( 6057): Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller( 6057): Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
Lost connection to device.
Here is my code -
import 'package:flutter/material.dart';
import 'package:whatsapp/helper/authenticate.dart';
import 'package:whatsapp/helper/constants.dart';
import 'package:whatsapp/helper/helperFunctions.dart';
import 'package:whatsapp/screens/search.dart';
import 'package:whatsapp/services/auth.dart';
import 'package:whatsapp/services/database.dart';
class ChatRoom extends StatefulWidget {
@override
_ChatRoomState createState() => _ChatRoomState();
}
class _ChatRoomState extends State<ChatRoom> {
AuthMethods authMethods = new AuthMethods();
DatabaseMethods databaseMethods = new DatabaseMethods();
Stream chatRoomStream;
Widget chatRoomList(){
return StreamBuilder(
stream: chatRoomStream,
builder: (context, snapshot) {
return snapshot.hasData ? ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) {
return ChatRoomTile(
snapshot.data.documents[index]["chatRoomId"],
);
}) : Container(color: Colors.red,);
},
);
}
@override
void initState() {
getUserInfo();
super.initState();
}
getUserInfo() async{
Constants.myName = await HelperFunctions.getUserNameSharedPreference();
databaseMethods.getChatRooms(Constants.myName).then((val){
setState(() {
chatRoomStream = val;
});
});
setState(() {
});
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
appBar: AppBar(
backgroundColor: Color(0xff161517),
title: Text(
'WhatsApp',
style: TextStyle(
color: Colors.white54,
fontSize: 20.0,
),
),
actions: [
Container(
height: 25.0,
width: 25.0,
child: FloatingActionButton(
heroTag: "btn1",
backgroundColor: Color(0xff161517),
child: Icon(Icons.search, color: Colors.white54,),
onPressed: (){
},
),
),
GestureDetector(
onTap: (){
authMethods.signOut();
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Authenticate()));
},
child: Container(
padding: EdgeInsets.symmetric(horizontal: 15.0),
child: Icon(
Icons.exit_to_app,
color: Colors.white54,
),
),
),
GestureDetector(
onTap: (){
},
child: Container(
padding: EdgeInsets.symmetric(horizontal: 1.0),
child: Icon(
Icons.more_vert,
color: Colors.white54,
),
),
),
],
),
body: chatRoomList(),
floatingActionButton: FloatingActionButton(
heroTag: "btn2",
backgroundColor: Colors.green[700],
onPressed: (){
Navigator.push(context, MaterialPageRoute(builder: (context) => SearchScreen()));
},
child: Icon(
Icons.message,
color: Colors.white,
),
),
),
);
}
}
class ChatRoomTile extends StatelessWidget {
final String userName;
ChatRoomTile(this.userName);
@override
Widget build(BuildContext context) {
return Container(
child: Row(
children: [
Container(
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: AssetImage("assets/images/DefaultPhoto.png"),
fit: BoxFit.fill,
),
borderRadius: BorderRadius.circular(40.0),
),
),
SizedBox(width: 8.0,),
Text(
userName,
style: TextStyle(
color: Colors.white,
),
),
],
),
);
}
}
If anyone wants details for any widget, you can ask me.
在<application>
启动之前,将以下权限添加到android/app/src/main/AndroidManifest.xml
:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
I had the same error. I looked through my code and found that I had given the wrong collection name while I was calling firebasefirestore. Please do check that you are providing the right reference names to collections and docs.
I see this error when wireless is active but the connection to Firestore fails. For example, when debugging I connect to the local emulators, if I forget to start the emulator I get this message, but the app still works from cache.
just make sure you are calling the right instance name from firestore for me i was calling medicinal product in the instace and i had defined MedicineProductData int the firebase database so correcting it to the MedicineProductData solved my issue
code: QuerySnapshot value = await FirebaseFirestore.instance.collection("MedicineProductData").get();
Yes, I solve this. I have also face this probelem.
Why it comes? It's because your emulator doesn't have internet connection. Though it is showing wifi connection.
Solution:
Hope insa allah it work for you also.
Also don't forget to add below code to Manifest
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
beofore <android>
module.exports = {
parser: "vue-eslint-parser",
parserOptions: {
ecmaVersion: 2022,
sourceType: "module",
},
root: true,
env: {
es6: true,
node: true,
},
extends: [
"eslint:recommended",
"google",
],
rules: {
quotes: ["error", "double"],
},
};
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.