Similar to TensorFlow I will not translate, because those are only outdated notes from a code I can’t access anymore, but different from TensorFlow I want to return my studies with Flutter
Para algo que vai ser apenas usado naquele cara. Exemplo a baixo eu apenas posso usar o widget privado dentro da lib. (ou seja, no outro widget) e as variáveis privadas apenas posso usar dentro do widget/funcão que foi declarada:
import 'package:flutter/material.dart';
import './question.dart';
import 'answers.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _MyAppState();
}
}
class _MyAppState extends State<MyApp> {
var _questionIndex = 0;
void _answerQuestion() {
setState(() {
_questionIndex = _questionIndex + 1;
});
print(_questionIndex);
}
@override
Widget build(BuildContext context) {
var questions = [
{
'questionText': 'What\\'s your favorite color?',
'answers': ['Black', 'Red', 'Green', 'White'],
},
{
'questionText': 'What\\'s your favorite animal?',
'answers': ['Rabbit', 'Snake', 'Elephant', 'Lion'],
},
{
'questionText': 'Who\\'s your favorite instructor?',
'answers': ['Max', 'Max', 'Max', 'Max'],
},
];
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My First App'),
),
body: Column(
children: [
Question(
questions[_questionIndex]['questionText'],
),
...(questions[_questionIndex]['answers'] as List<String>)
.map((answer) {
return Answer(_answerQuestion, answer);
}).toList()
],
),
),
);
}
}
class Question extends StatelessWidget {
final String questionText;
Question(this.questionText);
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
margin: EdgeInsets.all(10),
child: Text(
questionText,
style: TextStyle(fontSize: 28),
textAlign: TextAlign.center,
));
}
}
Para um parâmetro ser obrigatório em uma Widget, precisa do required
class Question extends StatelessWidget {
final String questionText;
Question(@required this.questionText);
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
margin: EdgeInsets.all(10),
child: Text(
questionText,
style: TextStyle(fontSize: 28),
textAlign: TextAlign.center,
));
}
}
Usado para retornar variaveis com valores dínamico
String get resultPhase {
if(true) {
return 'Frase 01'
}
return 'Frase 00'
}
Nele tem algumas coisas tunadas, como mostrar cada fatia do aplicativo e performance dele.
https://flutter.dev/docs/development/tools/devtools/overview
https://flutter.dev/docs/testing/debugging
Adaptativo é quando tu faz para iOS e Android. Tem que se adaptar com a plataforma.