Git Product home page Git Product logo

poorsnap's People

Contributors

frondeus avatar kchojnecki avatar klaudiagl avatar magicandrzej avatar semirafista avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

poorsnap's Issues

Research: Xamarin

https://www.xamarin.com

Proszę zainstalować Xamarin.
Głównie zależy nam na SDK Androida (będzie w zestawie).

U mnie całość zajęła ok 4GB. Tzn. wersja z:

  • Mono (niezbędne)
  • Android SDK (niezbędne)
  • iOS SDK
  • macOS SDK.
  • Xamarin Studio (niezbędne)

Okazuje się że Xamarin może też służyć do robienia apek na PC/macOS.

Póki co zaznajomcie się z tematem - zróbcie jakąś prostą apkę z paroma przyciskami itd.
Poklikajcie i pobawcie się.

Wyniki waszych testów proszę nie umieszczać na repo

Proszę także aby każdy z was uwagi i progres opisywał tu w komentarzu, aby było widać co kto robi.

[ERROR] FATAL UNHANDLED EXCEPTION: Java.IO.IOException

Witam, ktoś miał problemy z instalacją wersji PoorSnap Android powyżej 4,4?

Testowałem na Androidzie 7.1 i daje mi następujący błąd w CreateRfcommSocketToServiceRecord:

[ERROR] FATAL UNHANDLED EXCEPTION: Java.IO.IOException: read failed, socket might closed or timeout, read ret: -1

Core: BluetoothPacketPacker

Jako Architekt, chciałbym aby wiadomości które wysyłamy były paczkowane.

W tym celu potrzebne jest narzędzie które będzie działać w dwie strony:

  1. Input: Wiadomość
    Output: Lista pakietów
  2. Input: pakiet który wpadnie w kolejkę priorytetową
    Output: Wiadomość.

Ma to być prosta klasa która nie będzie korzystała z żadnych zewnętrznych zasobów i nie trzeba będzie jej mockować.

Klasa ta powinna znajdować się w projekcie wspólnym dla obu platform.

Zakres pracy

Proszę opisać w czytelnej formie na projektowej wiki zakres obowiązków.

Można wzorować się na moim i Rafała.

ConnectionHandler

Chciałbym aby istniał moduł odpowiedzialny za:

  • Wyszukiwanie użytkowników dostępnych w pobliżu, to jest wyświetlania takiej listy użytkowników w czytelnej formie na ekranie.
  • Łączenie się z danym użytkownikiem i reagowanie na nawiązane połączenie. Po połączeniu aplikacja powinna przełączać się w widok odbioru i wysyłania wiadomości tekstowych.
  • Rozłączanie się z użytkownikiem - reagowanie w postaci wiadomości tekstowej że użytkownik został rozłączony

Architektura: Interfejs BluetoothManagera

Potrzeba stworzyć wspólny interface IBluetoothManager.
Powinien on umożliwiać:

Wysyłanie i odbieranie pojedynczych pakietów na zasadzie broadcast.

W tym celu należy stworzyć model BluetoothPacket

BluetoothManager dla Droida

Chciałbym aby istniał moduł odpowiedzialny za najniższą warstwę zależną od systemu.

  • Moduł ten powinien odpowiadać za połączenia Bluetooth, parowanie, nawiązywanie kanału wymiany wiadomości.
  • Moduł ten powinien umożliwiać wysyłanie wiadomości, to znaczy zamianę jej na ciąg zer i jedynek, przesłanie przez sieć i odebranie po drugiej stronie.
  • Moduł odebrane wiadomości powinien przekazać dalej do odpowiedniego IMessageHandler.

MessageHandler

Chciałbym aby wiadomości odbierane przez moduł bluetooth były procesowane przez MessageHandler. Moduł ten ma:

  • Odbierać Models.Message. Wiadomość ta zawiera użytkownika oraz zawartość.
  • Wiadomość ta powinna być przekazywana do kontrolera i wyświetlana w czytelnej formie w widoku czatu.

Research: Testy Jednostkowe

  • Sprawdź biblioteki - NUnit, FluentAssertions, NSubstitute, AutoFixture.
  • Sprawdź również czy te biblioteki będą współpracować z Mono - a dokładniej z Xamarin.
  • Poczytaj o dobrych trikach i wzorcach - np. podziale testu na 3 części - Prepare, Act, Assert

Przydatne linki znajdują się na https://pz2016.slack.com/messages/materialy/

Wszystkie oprócz NSubstitute powinny śmigać. Do mockowania znalazlam dedykowane xamarinowi True.Fakes- ale nie wiem jak tam z licencją. Raz pisze, że darmowy, raz że 14-days trial.. :thinking_face: Jeśli nie to, to trzeba bedzie probować Moq-iem albo manualnie xD
http://truefakes.net/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.