اذهب إلى المحتوى

احمد صوالحة

الأعضاء
  • المساهمات

    29
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو احمد صوالحة

  1. بما أن إطار العمل Flutter ينشئ تطبيقات native ويتعامل مع الـandroid والـIOS كل على حدة. إذاً كيف يمكنني أن أنفذ كود بلغة java على الـandroid فقط ؟
  2. لدي تطبيق بسيط جداً يحتوي على Column يضم عنصرين Text يحملان قيمة عشوائية من 0 لـ 100 ويوجد أيضاً Button عند الضغط عليها من المفترض تبديل أماكن العناصر في القائمة. لا يوجد أي أخطاء أو تحذيرات ! لكن عند الضغط على الButton لا يتم تبديل العناصر كما يجب أن يحدث. هذا هو الكود الخاص بالتطبيق: import 'dart:math'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; void main() => runApp(new MaterialApp(home: HomePage())); class HomePage extends StatefulWidget { @override State<StatefulWidget> createState() => HomePageState(); } class HomePageState extends State<HomePage> { List<Widget> tiles = [ MyRandomWidget(), MyRandomWidget(), ]; @override Widget build(BuildContext context) { return Scaffold( body: Center(child: Column( mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: tiles )), floatingActionButton: FloatingActionButton( child: Icon(Icons.sentiment_very_satisfied), onPressed: swap), ); } swap() { setState(() { tiles.insert(1, tiles.removeAt(0)); }); } } class MyRandomWidget extends StatefulWidget { @override ColorfulTileState createState() => ColorfulTileState(); } class ColorfulTileState extends State<MyRandomWidget> { int myNo; @override void initState() { super.initState(); myNo = Random().nextInt(100); } @override Widget build(BuildContext context) { return Text(myNo.toString()); } }
  3. على أي أساس يتم إستخدام stateful أو stateless ؟ وما هو الفرق بينهما ؟
  4. اقوم بتعلم تطوير التطبيقات بواسطة flutter منذ شهر، حيث أقوم بتنفيذ تطبيقات تدريبية لممارسة ما أتعلمه. أحاول جلب 500 تعليق كـJSON من الرابط التالي: https://jsonplaceholder.typicode.com/comments ومن ثم عرضها في ListView. لاحظت بطئ وعدم إستجابة مؤقتة في عناصر واجهة المستخدم للتطبيق عند جلب عدد كبير من البيانات من الانترنت بواسطة الاضافة http حيث أن ProgressIndicator تتوقف عن الدوران وتصبح بطيئة. هذا هو الكود : import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( theme: ThemeData( primarySwatch: Colors.blue, visualDensity: VisualDensity.adaptivePlatformDensity, ), home: MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Hello'), ), body:FutureBuilder( future: getData(), builder: (context,AsyncSnapshot<List> snapshot){ if(snapshot.hasData){ return ListView.builder( itemCount: snapshot.data.length, itemBuilder: (context,i){ return ListTile(title: Text('comment:${snapshot.data[i]['email']}')); }); } else{ return Center(child: CircularProgressIndicator()); } } ), ); } Future<List> getData() async{ var response = await http.get('https://jsonplaceholder.typicode.com/comments'); return jsonDecode(response.body); } } شكرا لكم.
×
×
  • أضف...