Aktywne Wpisy
mirko_anonim +23
✨️ Obserwuj #mirkoanonim
Jakim cudem każdy z moich "znajomych" kogoś sobie znalazł a ja nie?!
Każdy sobie ogarnął jakąś panne i są w związkach po kilka lat a przecież ci goście nigdy nie byli (i nie są) wybitni z wyglądu, nie są wysocy, nie posiadają żadnych szczególnych cech ani nie są bogaci. Nawet z obserwacji kilkuletniej (szkoły, studia, praca) nigdy nie byli duszami towarzystwa a jednak każdy potrafił sobie kogoś ogarnąć do
Jakim cudem każdy z moich "znajomych" kogoś sobie znalazł a ja nie?!
Każdy sobie ogarnął jakąś panne i są w związkach po kilka lat a przecież ci goście nigdy nie byli (i nie są) wybitni z wyglądu, nie są wysocy, nie posiadają żadnych szczególnych cech ani nie są bogaci. Nawet z obserwacji kilkuletniej (szkoły, studia, praca) nigdy nie byli duszami towarzystwa a jednak każdy potrafił sobie kogoś ogarnąć do
judasz99 0
Interesują mnie zalety i pozytywne cechy konononwicza. Czy posiada on jakieś? Negatywnych nie wypisujcie bo braknie czasu.
#kononowicz
#kononowicz
Aktywne Znaleziska
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
tl;dr: przerobiłem 2 wykłady z matematyki dyskretnej (przypomnienie podstaw typu aksjomaty, implikacje itd. Dowody wprost i nie wprost + indukcja matematyczna).
Rozbudowałem swoją ćwiczeniową apkę (dodanie tłumaczenia przy zmianie języka
systemu, korzystanie z innych aplikacji za pomocą mojej poprzez klasę Intent). Skończyłem tworzenie apki ćwiczeniowej do zamawiania deserów, teraz zaczynam kolejny, już bardziej rozbudowany projekt, o którym poniżej.
Na wstępie chciałbym wyjaśnić pewną kwestię. Wiele osób mi zarzuca, że będę ślepo przeklepywał kod z kursów i nie robił żadnego własnego projektu.
Postaram się do każdego kursu zrobić własny projekt. Dodaję jeszcze link do konta na Githubie, żeby wszystko było transparentne, możecie tam zobaczyć kody źródłowe: https://github.com/Mdominik
Z góry zaznaczam, że ten zbiór przemyśleń to tak naprawdę potok świadomości podczas moich zmagań z zadaniami czy z kodem :D A, no i kolejne wpisy raczej nie będą takie długie.
Notatnik mam otwarty prawie cały czas i gdy uczę się czegoś nowego lub napotykam/pokonuję jakiś problem to po prostu o tym piszę, żeby po mojej nauce zostawał jakiś ślad.
Jeśli ktoś szuka tutaj składnego, pięknego opowiadania to tego raczej nie znajdzie (no chyba, że w dwóch zdaniach tl;dr :D). A, no i posty będą się pojawiały systematycznie w niedziele i środy wieczorem :)
1. wykład z matematyki dyskretnej.
Było to raczej przypomnienie materiału. Między innymi definicja dowodu, aksjomatu, implikacji. Do tego tablice prawdy. Ciekawe było pokazanie,
że podstawianie wyrażenie które jest częścią tezy może być prawdziwe dla zmiennej = 1,2,3,4,...,50,...,1500, ale już dla 1600 już jest fałszywe
(podano konkretny przykład). Zadanie domowe to 6 zadań na dwa wykłady, 3 pierwsze są zrobione i sprawdzone, pykło :D
Wczoraj zacząłem indukcję (sposób nauczania na przykład tego zagadnienia na MIT różni się diametralnie od polskiej politechniki. Miałem indukcję na początku algebry i analizy, ale zazwyczaj chodziło o udowodnienie równości jakiegoś szeregu i wyrażenia. Na MIT z tego co widzę bardziej kładą nacisk na rozwiązywanie zadań wziętych "z życia")
2. Android
Dowiedziałem się, że
- podczas uruchamiania aplikacji, funkcja setContentView powoduje, że layout podany do tej funkcji (który składa się z widoków)
zamienia widoki na obiekty javowe, co można pokazać na drzewie hierarchii.
- podczas przywoływania metody findViewById(int id) Klasy AppCompactActivity (która jest superklasą dla MainActivity, czyli klasy, która jest klasą, w której się poruszamy
w aplikacji) zostaje zwrócony obiekt klasy View.
- klasa TextView dziedziczy po View, dlatego stosujemy rzutowanie:
private void displayMessage(String message) {
TextView orderSummaryTextView = (TextView) findViewById(R.id.order_summary_text_view);
orderSummaryTextView.setText(message);
}
- ogarnąłem gettery i settery
- jak pisać proste logi (komunikaty służące do śledzenia bugów)
- dodałem checkBoxa, zależnie od którego pojawia się różna wiadomość po kliknięciu w zamówienie
- jak przechodzić z własnej apki do innej, np. gmaila, google maps, czy aparatu, korzystając z "Intentów" (nie wiem jakie jest polskie tłumaczenie).
- przed apostrofem w "strings.xml" trzeba wstawiać backslasha
Cały czas mnie zastanawiało po co są w np. XMLu oznaczenia typu "@string/text" zamiast zwykłego tekstu. Okazuje się to być bardzo pomocne np. w tłumaczeniu
całej aplikacji na język obcy. Zamiast surowego tekstu w dane pole wpisuję nazwę jednego z zasobów, w który mogę wpisać jakiś ten tekst. Dzięki temu wszystkie teksty (a konkretniej
"stringi") są w jednym miejscu w programie i ich modyfikacja jest bardzo łatwa.
- pobawiłem się stylami, zmieniłem "colorPrimary", "colorPrimaryDark" i "colorAccent" na jeden zestaw polecany przez google w Material Design
- zabawne, że tłumaczenie stringów na angielski zadziałało dopiero po 5. albo 6. restarcie aplikacji xD
- co do Githuba to pracuję na dodatkowej gałęzi "zabawa".
- chcąc odpalić apkę po przeróbkach wylazł błąd "Error:(386, 21) No resource found that matches the given name: attr 'normalText'." :/ Szukam błędu i znaleźć nie mogę :/
Dobra, jestem głupi, bo wstawiłem ten atrybut do domyślnego stylu AppTheme, a Android widocznie tego nie lubi :D
- szukałem metody która pozwoliłaby zmienić czarne podkreślenie widoku EditText na białe, ale nie znalazłem :(
Problemy:
- używając @string z folderu /res zamiast zwykłych, sztywnych stringów, miałem problem ze spacją na końcu danego stringa. Dla przykładu, mając:
Nazywasz się: , podczas działania aplikacji tej spacji za dwukropkiem w ogóle nie ma. Dlatego w metodach wyświetlających wiadomość między poszczególnymi stringami dałem + " " +.
Wiem, że pewnie byłbym za to zabiczowany :D
- jak sprawić, żeby program nie resetował się przy obrocie smartfona?
Po złożeniu zamówienia aplikacja przenosi nas do aplikacji Gmaila, z której możemy wysłać email: http://i68.tinypic.com/5lzcra.jpg
Dodatkowo na zakończenie drugiego kursu Androida muszę zrobić 2 apki. Pierwsza z nich:
W opisie piszą o prostej aplikacji, która śledziłaby wynik meczu piłkarskiego (Dwie kolumny obok siebie, u góry wynik. Gdy pada bramka dla Teamu A, klikamy w klawisz po stronie Teamu A i wynik aktualizuje się do 1:0 itd).
Chcę zrobić dużo bardziej skomplikowaną wersję takiego projektu. Mianowicie:
1. na początek będę mógł ustawić długość trwania połowy (czyli np. zamiast sztywno wbijać 45min/połowa, można pograć 25min/połowa). Po zakończeniu pierwszej połowy pojawia się button, po którego kliknięciu rozpoczyna się druga połowa
2. będzie można nadawać nazwy drużynom
3. klawisz START zacznie odliczanie zegara
4. gdy padnie gol (na przykład dla Teamu B), to wtedy klikam w klawisz po stronie Teamu B i wyświetla mi się pole, w które muszę wpisać nazwisko strzelca.
5. Gdzies ok. 85. minuty może wyskoczyć pytanie typu "ile minut doliczył sędzia" - będziemy mieli wtedy możliwość wyboru o ile minut chcemy przedłużyć mecz
6. Po zakończeniu meczu wyskoczy nam raport mówiący o tym, między jakimi zespołami toczył się mecz, kiedy i o której godzinie, kto strzelił bramki i w których minutach, (może dodam jeszcze button "czerwona kartka").
Będziemy mogli ten raport zaimportować do PDFa, wysłać na e-maila lub zapostować na grupie na facebooku.
W czym może być problem? Ano w tym, że apka będzie tylko na jednej stronie, ale gdy już ogarnę wieloekranowe aplikacje to na pewno przerobię ją na takową. Dzięki temu będę mógł dodać dużo więcej elementów, jak na przykład miejsce odbywania
meczu korzystając z map google, pobierania informacji o pogodzie, zachowywania wyników spotkań itp.
Obiecuję, że kolejne posty będą krótsze :D
Do zobaczenia w niedzielę :)
#studiacs #naukaprogramowania
Komentarz usunięty przez autora
Treść została ukryta...
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/video-lectures/
Komentarz usunięty przez autora