Skip to content

Instantly share code, notes, and snippets.

View kauemurakami's full-sized avatar
馃幆
Concentrando

Kau锚 Murakami kauemurakami

馃幆
Concentrando
View GitHub Profile
part of './app_pages.dart';
abstract class Routes{
static const INITIAL = '/';
static const DETAILS = '/details';
}
import 'package:flutter/material.dart';
final ThemeData appThemeData = ThemeData(
primaryColor: Colors.blueAccent,
accentColor: Colors.blue,
);
@kauemurakami
kauemurakami / home_page.dart
Last active July 16, 2020 18:30
home page example getx_pattern
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:getx_pattern/app/controller/home/controller.dart';
import 'package:getx_pattern/app/data/provider/api.dart';
import 'package:getx_pattern/app/data/repository/posts_repository.dart';
import 'package:http/http.dart' as http;
class HomePage extends GetView<HomeController> {
//repository and controller injection bindings
@kauemurakami
kauemurakami / controller.dart
Last active June 26, 2020 18:11
Controlador
import 'package:get/get.dart';
import 'package:getx_pattern/app/data/model/model.dart';
import 'package:getx_pattern/app/data/repository/posts_repository.dart';
import 'package:meta/meta.dart';
class MyController extends GetxController {
//repository required
final MyRepository repository;
MyController({@required this.repository}) : assert(repository != null);
@kauemurakami
kauemurakami / posts_repository.dart
Last active June 26, 2020 17:31
Reposit贸rio da entidade posts
import 'package:getx_pattern/app/data/provider/api.dart';
import 'package:meta/meta.dart';
//Reposit贸rio respons谩vel pela entidade post !!
//lembrando que cada entidade que persiste de alguma forma com o banco de dados, seja ela uma api ou sqlite
//deve possuir um reposit贸rio excluisivo
class MyRepository {
final MyApiClient apiClient;
MyRepository({@required this.apiClient}) : assert(apiClient != null);
@kauemurakami
kauemurakami / model.dart
Created June 22, 2020 17:30
Classe modelo
class MyModel {
int id;
String title;
String body;
MyModel({ id, title, body});
MyModel.fromJson(Map<String, dynamic> json){
this.id = json['id'];
@kauemurakami
kauemurakami / api.dart
Last active June 26, 2020 17:31
Provedor de dados
import 'dart:convert';
import 'package:getx_pattern/app/data/model/model.dart';
import 'package:http/http.dart' as http;
import 'package:meta/meta.dart';
//nossa url base
const baseUrl = 'https://jsonplaceholder.typicode.com/posts/';
//nossa classe respons谩vel por encapsular os m茅todos http
class MyApiClient {
@kauemurakami
kauemurakami / MyApp.dart
Last active July 7, 2020 05:32
MyApp class counter example
class MyApp extends GetWidget {
final MyController controller = Get.put(MyController());
@override
Widget build(BuildContext context) {
return GetMaterialApp(
home: Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
@kauemurakami
kauemurakami / my_controller_counter.dart
Last active July 7, 2020 05:12
controller counter example
class MyController extends GetxController {
final _num = 0.obs;
get num => this._num.value;
set num(value) => this._num.value = value;
increment() {
this.num++;
}
decrement() {
this.num--;
@kauemurakami
kauemurakami / main.dart
Last active June 17, 2020 18:06
arquivo principal main
import 'package:flutter/material.dart';
import 'package:get/get.dart';
void main() {
runApp(MyApp());
}
....