Skocz do zawartości

Znajdź zawartość

Wyświetlanie wyników dla tagów 'android studio' .



Więcej opcji wyszukiwania

  • Wyszukaj za pomocą tagów

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukaj przy użyciu nazwy użytkownika

Typ zawartości


Forum

  • Społeczność android.com.pl
    • Regulaminy Forum
    • Przywitaj się!
    • Android.com.pl
    • Konkursy
    • OFF-Topic
  • Android
    • Nowości i plotki
    • FAQ Android
    • Android 10
    • Android 9.0 Pie
    • Android 8.0 Oreo
    • Android 7.0 Nougat
    • Android 6.0 Marshmallow
    • Android 5.0 Lollipop
    • Android 4.4 KitKat
    • Archiwum Android
    • Software PC
  • Gry i Aplikacje
    • Aplikacje Android
    • Gry Android
    • Poszukiwania gier i aplikacji
    • Porównania gier i aplikacji
    • Android Wear - Smartwatch
    • Modyfikacje Wizualne
    • Download
    • Multimedia
  • Co i gdzie kupić?
  • Programowanie
  • Modyfikacje Android OS
  • Elektronika
  • Honor
  • Google
  • HTC
  • LG
  • Samsung
  • Sony
  • Motorola
  • Huawei
  • Xiaomi / MIUI
  • OnePlus
  • Lenovo
  • Asus
  • myPhone
  • Pozostałe marki

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Od tej daty

    Do tej daty


Ostatnia aktualizacja

  • Od tej daty

    Do tej daty


Filtruj po ilości...

Znaleziono 49 wyników

  1. Witam. Nie potrafię wskazać natywnych bibliotek w Android Studio 4.0.1 APK uruchamia się poprawnie na emulatorze. Ale nie mogę debugować, do czasu wskazania symboli bibliotek Jest SDK, NDK. O jakie jeszcze biblioteki chodzi ?
  2. Cześć, jestem początkującym programistą Androida, wcześniej napisałem kilka małych aplikacji mobilnych w javie w pracy, jednak teraz chciałbym podszkolić się w Kotlinie. Założyłem sobie, że w ramach nauki napiszę aplikację typu lista zakupów. Zakładam jeden temat, w którym będę opisywał problemy z jakimi się napotkałem licząc na pomoc w ich rozwiązaniu oraz pytania jakie się pojawią w trakcie pisania tej apki. Po pierwsze, chciałbym od początku zacząć pisać aplikację wykorzystując jakiś wzorzec. Trochę o nich kiedyś czytałem i wybrałem MVP, który dla mnie jest chyba najbardziej intuicyjny a ponadto wykorzystałem go do tych aplikacji, które pisałem w pracy. Tutaj chciałbym jednak przedstawić swoją interpretację MVP i od razu prosić was o wskazanie błędów, które popełniałem. Będę miał oczywiście o ten wzorzec sporo pytań w miarę pisania aplikacji. I tutaj pojawia się pierwsze pytanie – nie do końca związane bezpośrednio z tą aplikacją. Na jakiej podstawie powinienem wybierać wzorzec (lub jego brak), który wykorzystam w aplikacji? A teraz przechodząc już do MVP. W poprzednich aplikacjach struktura wyglądała następująco: - model - presenter - view - contract - helper O pakietach model, presenter i view nie będę się rozpisywał bo wiadomo co w nich przechowywałem, w pakiecie contract tworzyłem interfejsy opisujące view i presenter. Do każdego zestawu (np. MainView i MainPresenter lub LoginView i LoginPresenter) tworzyłem osobny kontrakt, w którym były dwa interfejsy, jeden dla view, drugi dla presentera. W helperze trzymałem wszystko inne :D. Zastanawiając się nad tą aplikacją, zauważyłem, że u niektórych osób, te kontrakty obejmują również modele. Moje pytanie brzmi, które metody powinienem zawierać w interfejsach? W mojej opinii będą to tylko te metody, które są wywoływane z innych klas. To znaczy metody prezentera wywoływane w view lub metody view i modelu wywoływane w prezenterze. W tej aplikacji chciałbym wykorzystać zarówno bazę SQLite jak i bazę MariaDB postawioną na moim serwerze. Do obsługi SQLite użyję biblioteki Room. Moja interpretacja MVP wyglądała do tej pory tak jak opisałem poniżej. W view obsługiwałem interakcję z użytkownikiem, to znaczy wywoływałem odpowiednie metody z presentera w zależności od tego co użytkownik zrobił, oraz odświeżałem widok (zmiana tekstu textview, ukrywanie przycisków, zmiana kolorów etc.). W presenterze tworzyłem async taski w których wywoływałem funkcje z modelu i dokonywałem bardziej zasobożernych obliczeń oraz wywoływałem funkcję z view, które odpowiednio odświeżały aktywności i fragmenty. Model to był w mniejszym lub większym stopniu odpowiednik tabeli z bazy danych. Np. dla tabeli ‘naglowki_dokumentow’ model miał pola tj. id, numer, seria oraz rok (które występowały w tabeli w bazie) ale miał również dodatkowe jak np dokument, który składał sie z wartości pól numer, seria i rok oddzielonych ukośnikiem (np. 1401\S\2020). W modelu implementowałem również metody, które służyły do komunikacji z api. Np. getHeaders(), która pobierała z bazy nagłówki dokumentów i zwracała je jako JSONObject. Zwrócony JSONObject odbierałem w async tasku w presenterze i przerabiałem na listę nagłówków. Jak już mówiłem, w tej aplikacji oprócz wykorzystania bazy na serwerze, chcę wykorzystać bazę SQLite. Głównie chodzi o to, żeby listę zakupów utworzyć lokalnie w aplikacji i zapisać do SQLite a w momencie jak urzadzenie nawiąże połączenie z siecią, to wysłać ją do bazy na serwerze. W jaki sposób to rozwiązać? Z tego co wiem, to wykorzystując Room’a, tworzy się klasę (encję), która jest opisem tabeli w bazie. Czy w tym przypadku muszę tworzyć dwa modele, jeden dla SQLite a drugi dla bazy zewnętrznej? Jeśli chodzi o logikę biznesową w MVP, to powinna ona być umieszczona w Modelu czy Presenterze? Bo spotkałem się z kilkoma artykułami, które sobie przeczyły. Chyba, że to również jest kwestia interpretacji? Liczę na odpowiedzi i podpowiedzi bardziej doświadczonych programistów.
  3. Witam serdecznie moi drodzy mam taki problem posiadam aplikacje którą napisał mi developer lecz nie otrzymałem od niego kodu źródłowego ani nie mam z nim kontaktu a potrzebuje dokonać modyfikacji w aplikacji . W tym celu wczytałem plik APK do Android Studio i pojawia mi się błąd jak na screen czy jestem w stanie ją rozkodować dokonać zmiany i zakodować ponownie do pliku APK ?
  4. Witam. Mam problem na który ciężko znaleźć mi odpowiedź. A mianowicie w mojej aplikacji posiadam dwa przyciski na 1 aktywności na 2 posiadam trzeci przycisk "dalej" i chciałbym żeby w 3 aktywności za pomocą funkcji switch case rozpoznawało który przycisk został wcisnięty. Próbowałem robić tak jak kod ponizej ale wykrwya tak jakby tylko jednego case'a. Troche to zagmatwałem ale mam nadzieje że bedzie wiadomo o co chodzi.
  5. Cześć, Jestem początkującym jeżeli chodzi o Javę oraz AS. Stąd też kieruję do was prośbę, gdyż tworząc swoją pierwszą apkę dla funnu napotkałem mały problem. Potrzebuję kodu, który umożliwi mi lokalne przechowywanie danych z "formularza - w php tak to się nazywało, nie wiem czy tutaj też tak jest". Szukałem na wielu forach ale żaden kod nie pasuje do mojej aplikacji, albo działa niepoprawnie albo nie reaguje na klikanie itd itd. Mówiąc dokładnie... Mam kod w którym mam do wyboru 5 pól. 1. Imię [input tekst - wpisujemy co chcemy] 2. Płeć [spinner - wybór między 2 płciami] 3. Dzień, 4. Miesiąc, 5. Rok - [3x spinner - pobieram tutaj datę narodzin] I to co potrzebuję, to aby po uzupełnieniu tych okienek wciskając przycisk Akceptuję - pobierało i zapisywało te dane. Nie na chwilę, a na stałe [restart programu nie usuwa danych], możemy to natomiast zrobić ręcznie wchodząc w odpowiednią zakładkę i usuwając dane wybranej osoby, wybierając ją z listy. Dane te będą jedynie na telefonie użytkownika, bez łączenia się z jakąkolwiek chmurą. Dodatkowo mam stworzony kafelek na ekranie startowym w którym po "Rejestracji" chciałbym aby pojawiało się imię z wcześniej uzupełnionego formularza ale sądzę, że z tym byłbym w stanie sobie poradzić gdybym takowe dane umiał pobrać i zapisać. Metoda dla mnie nie ma większego znaczenia... Te dane nie będą jakieś mega istotne, prawdopodobnie apka ta nigdy nie wyjdzie z mojego pc ale jednak bardzo mocno chcę spróbować dalszej zabawy nad nią, a przez brak umiejętności nie jestem w stanie pchnąć jej dalej bez rozwiązania ww. problemu. Kiedyś bawiłem się trochę pythonem i C... więc próbowałem nawet zapisywać te dane w tablicach ale tego też nie jestem w stanie ogarnąć w android studio. Jedyne co jest mi potrzebne do szczęścia to zapisanie 2 stringów (1 pole tekstowe, 1 spinner) oraz 3 intów (3 spinnery z datą), oraz możliwość ich wyświetlenia w odpowiednim miejscu. Nie potrzebuję możliwości edycji, funkcja usuwania też byłaby mile widziana ale no cóż... bez tego i tak pchnę pracę dalej ale bez funkcji zapisu i odczytu niestety nie. Najlepiej by było jakbyście mi podesłali coś w stylu: 1. Utwórz java class o nazwie xyz i wklej tam "xyz" 2. Do swojego pliku xml dodaj "xyz", ustaw id inputa na "xxx" itd itd Linkami do rozwiązań też nie pogardzę ale potrzebuję żeby to było łopatologicznie wytłumaczone, żebym nie musiał czytać całych podręczników. Tak wiem... wymagający jestem ale serio po 2 dniach przekopywania internetu mam już lekko dość, także jesteście moją jedyną nadzieją.
  6. Zrobiłem wyskakujące okno activity na drugie. I teraz moje pytanie brzmi czy da się zaokrąglić jego rogi? Albo zrobić tak żeby nałożony background miał przezroczyste elementy? Dodałem teksturę z przezroczystym tłem ale rogi są białe a nie przezroczyste. <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/tlo_ustawien"> </RelativeLayout>
  7. marcino936

    android studio Crash aplikacji - Dyskusja Ogólna

    Napisałem kod wyskakującego okna sugerując się tutorialem z yt zrobiłem wszystko tak samo i po kliknięciu przycisku, aplikacja się wyłącza. Cały kod i błąd jest na dole posta. Sugerowałem się tym tutorialem: https://www.youtube.com/watch?v=fn5OlqQuOCk Co jest nie tak i jak to naprawaić? Główne okno: @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getSupportActionBar().hide(); goToUstawienia = findViewById(R.id.ustawienia); goToUstawienia.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, OknoUstawien.class); startActivity(intent); } }); } Okno po otwarciu: package com.example.strikeclicker; import android.app.Activity; import android.os.Bundle; import android.util.DisplayMetrics; import androidx.annotation.Nullable; class OknoUstawien extends Activity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ustawienia_activity); DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int width = dm.widthPixels; int height = dm.heightPixels; getWindow().setLayout ((int) (width*.8),(int) (height*.6)); } } Android Manifest <activity android:name="com.example.strikeclicker.OknoUstawien" android:theme="@style/AppTheme.CustomTheme"/> Style xml <style name="AppTheme.CustomTheme" > <item name="android:windowIsTranslucent">true</item> <item name="android:windowCloseOnTouchOutside">true</item> </style> Wyskakujący błąd: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.strikeclicker, PID: 9777 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.strikeclicker/com.example.strikeclicker.OknoUstawien}: java.lang.IllegalAccessException: java.lang.Class<com.example.strikeclicker.OknoUstawien> is not accessible from java.lang.Class<android.app.AppComponentFactory> at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2876) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6810) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) Caused by: java.lang.IllegalAccessException: java.lang.Class<com.example.strikeclicker.OknoUstawien> is not accessible from java.lang.Class<android.app.AppComponentFactory> at java.lang.Class.newInstance(Native Method) at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69) at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:43) at android.app.Instrumentation.newActivity(Instrumentation.java:1216) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2864) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6810) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
  8. Witam. Tworzę aplikację mobilną w programie Android Studio. Chciałbym, aby aplikacja wyświetlała dane odczytane z mikrokontrolera (Arduino). W tym przypadku chodzi mi o temperaturę łazienki odczytaną przez mikrokontroler połączony już z telefonem. Chciałbym, aby wyświetlała się ona w miejscu Edittext temperaturaaktualna. Poniżej wklejam cały kod z Activity. W wyszczególnionym miejscu zacząłem coś "kombinować", jednak bez skutku. Jak należy pobrać dane z urządzenia Bluetooth? package com.dawid.smarthome; import androidx.appcompat.app.AppCompatActivity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothSocket; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.io.IOException; import java.io.InputStream; import java.util.UUID; public class lazienka extends AppCompatActivity { BluetoothSocket btsocket = null; String address = null; BluetoothAdapter mojBT = null; private boolean polaczenieBT = false; static final UUID mojeUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); EditText temperaturaaktualna; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_lazienka); Intent newint = getIntent(); address = newint.getStringExtra(MainActivity.EXTRA_ADDRESS); new ConnectBT().execute(); temperaturaaktualna = findViewById(R.id.temperaturalazienki); ___________________________________________________________________________________________________________________________ try { btsocket.getInputStream() } catch (IOException e) { msg("Błąd"); } ___________________________________________________________________________________________________________________________ } private void msg(String s) { Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); return super.onOptionsItemSelected(item); } private class ConnectBT extends AsyncTask<Void, Void, Void> { private boolean ConnectSuccess = true; @Override protected Void doInBackground(Void... devices) { try { if (btsocket == null || !polaczenieBT) { mojBT = BluetoothAdapter.getDefaultAdapter(); BluetoothDevice nieudane = mojBT.getRemoteDevice(address); btsocket = nieudane.createInsecureRfcommSocketToServiceRecord(mojeUUID); BluetoothAdapter.getDefaultAdapter().cancelDiscovery(); btsocket.connect(); } } catch (IOException e) { ConnectSuccess = false; } return null; } } }
  9. Mam kod show toast i co któreś kliknięcie pojawia się na mili sekundę, wydaje mi się że jest zbyt krótki czas ustawiony. Co muszę zmienić żeby nie znikało tak szybko żeby utrzymywało się przez ok. 3 sekundy. Próbowałem zmieniać wartości w CountDownTimer(500, 1000) ale nie wiem za co odpowiada ta pierwsza liczba a za co ta druga (na to też prosiłbym odpowiedz) Kod wygląda tak: private void showToast(int stringID) { final Toast toast = new Toast(this); toast.setGravity(Gravity.CENTER|Gravity.LEFT, random.nextInt(600)+100 ,random.nextInt(600)-300); toast.setDuration(Toast.LENGTH_SHORT); TextView textView = new TextView(this); textView.setText(stringID); textView.setTextSize(40f); textView.setTextColor(Color.RED); textView.setTypeface(jmb); toast.setView(textView); CountDownTimer toastCountDown; toastCountDown = new CountDownTimer(500, 1000) { @Override public void onTick(long millisUntilFinished) { toast.show(); } @Override public void onFinish() { toast.cancel(); } }; toast.show(); toastCountDown.start(); }
  10. Mam problem z GridView ponieważ w activity grid jest ustawiony żeby było od dołu ( tak jak na zdjęciu) a w aplikacji jest od samej góry i zasłania inne elementy (tak jak na filmiku) Jak to ustawić żeby zaczynało się od tej strzałki?
  11. marcino936

    Crash aplikacji - Dyskusja Ogólna

    Witam, napisałem prosty kod aplikacji i przy próbie odpalenia jej w emulatorze wyskakuje mi błąd. I mam 2 pytania. 1. Jak to naprawić? (zdjęcia poniżej) 2. Jak wyszukiwać te błędy w necie. (co mam wpisywać)
  12. Witam, w aplikacji stworzyłam parę activity i potrzebuję pomocy bo nie wiem jak zrobić żeby one się zmieniały między sobą a nie tworzyły za każdym razem nowe (wyjaśnienie jest na nagraniu o co mi chodzi, patrz na punkty) Aktivity Home: //okno sklepu public void openShop(View view) { Intent intent = new Intent(this, shop.class); startActivity(intent); } //okno upgrade public void openUpgrade(View view) { Intent intent = new Intent(this, upgrade.class); startActivity(intent); } //okno game public void openGame(View view) { Intent intent = new Intent(this, game.class); startActivity(intent); } W każdym innym: //okno sklepu public void openShop(View view) { Intent intent = new Intent(this, shop.class); startActivity(intent); } //okno home public void openHome(View view) { Intent intent = new Intent(this, MainActivity.class); startActivity(intent); } //okno game public void openGame(View view) { Intent intent = new Intent(this, game.class); startActivity(intent); } Link do filmu:
  13. Zainstalowałem najnowsze środowisko Java. Dodałem lokalizację do zmiennej PATH „...;C:\Program Files\Java\jdk-13.0.1\bin“. Utworzyłem również zmienną JDK_HOME ze ścieżką „C:\Program Files\Java\jdk-13.0.1“. Zainstalowałem Android Studio. Utworzyłem pierwszy projekt. Z tego co mi wiadomo, to jest tworzony przykładowy program wypisujący na ekranie „Hello World“. Niestety podczas uruchomienia wyświetla się monit pokazany na dołączonej grafice. Nie mam też żadnych emulatorów w oknie AVD Manager, pomimo tego że dodawałem emulatory przy pomocy SDK Manager. Dodam jeszcze że wersja mojego Android Studio to 3.5.2
  14. marcino936

    Crash aplikacji - Dyskusja Ogólna

    Witam, ostatnio zainstalowałem swoją aplikację na mój telefon, wszystko działało po czym odinstalowałem i chciałem zainstalować jeszcze raz i od tamtej pory wyskakuje mi taki błąd jak poniżej, na emalutorze działa bez zarzutów. Wie ktoś jak to naprawić? 11/17 22:38:58: Launching 'app' on Xiaomi Redmi Note 7. $ adb shell am start -n "com.example.myapplication/com.example.myapplication.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D Error while executing: am start -n "com.example.myapplication/com.example.myapplication.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.myapplication/.MainActivity } Error type 3 Error: Activity class {com.example.myapplication/com.example.myapplication.MainActivity} does not exist. Error while Launching activity
  15. Witam, Mam następujące pytanie. Czy da radę radę przypisać do klawisza na klawiaturze (napisanej przeze mnie) funkcje typu np.: włączenie aparatu, odtworzenia prostego dźwięku? Jestem świeży w programowaniu na androida także proszę o wyrozumiałość. Z góry dziękuję za każdą pomoc. Pozdrawiam.
  16. Witam, prosto z mostu: Robię aplikację dla siebie i mam sytuację gdzie będę miał dużą liczbę postaci, a każda z postaci będzie miała swoje Activity + do tego w tym Activity będzie można po kliknięciu przycisku przejść do innego widoku. Nie wiem do końca jaki sposób będzie najlepszy na rozwiązanie tego. Czy dobrze kombinuje, że dla każdej postaci inne Activity i oddzielne layout, czy da się to jakoś inaczej zrobić? Chce, aby po prostu po wejściu w daną postać pokazał się Layout 1 i na górze mamy przyciski, które przekierują nas do Layout 2, i tak samo z Layout 2 mamy te same przyciski, którymi można wrócić do Layout 1. Tak jak jest to zrobione teraz nie działa. Z góry dziękuje chociaż za naprowadzenie jakim sposobem to rozwiązać Kod dla Activity: public class ZyraActivity extends MenuActivity { Button buildBtn, storyBtn; ConstraintLayout zyra_build_lay, zyra_story_lay; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_zyra_build); getSupportActionBar().setDisplayHomeAsUpEnabled(true); buildBtn = findViewById(R.id.buttonShowHideBuild); storyBtn = findViewById(R.id.buttonShowHideStory); zyra_build_lay = findViewById(R.id.zyra_build_layout); zyra_story_lay = findViewById(R.id.zyra_story_layout); buildBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { zyra_story_lay.setVisibility(view.GONE); zyra_build_lay.setVisibility(view.VISIBLE); } }); storyBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { zyra_story_lay.setVisibility(view.VISIBLE); zyra_build_lay.setVisibility(view.GONE); } }); } } Kod dla Layout 1: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout android:id="@+id/zyra_build_layout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/gradient_darkpurple_lightpurple" tools:context=".Champions_Package.ZyraActivity" tools:layout_editor_absoluteY="81dp"> <ImageView android:id="@+id/champBuild" android:layout_width="0dp" android:layout_height="93dp" android:layout_marginTop="196dp" android:foregroundGravity="center" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@drawable/zyrabuild" /> <ImageView android:id="@+id/champSpells" android:layout_width="137dp" android:layout_height="78dp" android:layout_marginBottom="12dp" app:layout_constraintBottom_toTopOf="@+id/champBuild" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:srcCompat="@drawable/ahri_spells" /> <TextView android:id="@+id/champName" style="@style/ChampionName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="38dp" android:layout_marginLeft="38dp" android:layout_marginTop="29dp" android:text="Zyra" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/buttonShowHideCounters" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="10dp" android:layout_marginRight="10dp" android:background="@null" android:drawableTop="@drawable/ic_arrow_drop_down_circle_black_24dp" android:text="Counters" android:textColor="@color/white" app:layout_constraintBaseline_toBaselineOf="@+id/buttonShowHideStory" app:layout_constraintEnd_toStartOf="@+id/buttonShowHideStory" /> <Button android:id="@+id/buttonShowHideStory" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:background="@null" android:drawableTop="@drawable/ic_arrow_drop_down_circle_black_24dp" android:text="Story" android:textColor="@color/white" app:layout_constraintEnd_toStartOf="@+id/buttonShowHideBuild" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/buttonShowHideBuild" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="9dp" android:layout_marginRight="9dp" android:background="@null" android:drawableTop="@drawable/ic_arrow_drop_down_circle_black_24dp" android:text="Build" android:textColor="@color/white" app:layout_constraintBaseline_toBaselineOf="@+id/buttonShowHideStory" app:layout_constraintEnd_toEndOf="parent" /> <android.support.constraint.Barrier android:id="@+id/barrier3" android:layout_width="wrap_content" android:layout_height="wrap_content" app:barrierDirection="bottom" app:constraint_referenced_ids="buttonShowHideCounters,champName,buttonShowHideStory,buttonShowHideBuild" tools:layout_editor_absoluteY="70dp" /> </android.support.constraint.ConstraintLayout> Kod dla Layout 2: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout android:id="@+id/zyra_story_layout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/gradient_darkpurple_lightpurple" tools:context=".Champions_Package.ZyraActivity" tools:layout_editor_absoluteY="81dp"> <TextView android:id="@+id/champStory" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginBottom="176dp" android:text="@string/DetailsZyra" android:textColor="@color/white" android:visibility="visible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/buttonShowHideCounters" app:layout_constraintVertical_bias="0.163" /> <TextView android:id="@+id/champName" style="@style/ChampionName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="38dp" android:layout_marginLeft="38dp" android:layout_marginTop="29dp" android:text="Zyra" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/buttonShowHideCounters" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="10dp" android:layout_marginRight="10dp" android:background="@null" android:drawableTop="@drawable/ic_arrow_drop_down_circle_black_24dp" android:text="Counters" android:textColor="@color/white" app:layout_constraintBaseline_toBaselineOf="@+id/buttonShowHideStory" app:layout_constraintEnd_toStartOf="@+id/buttonShowHideStory" /> <Button android:id="@+id/buttonShowHideStory" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:background="@null" android:drawableTop="@drawable/ic_arrow_drop_down_circle_black_24dp" android:text="Story" android:textColor="@color/white" app:layout_constraintEnd_toStartOf="@+id/buttonShowHideBuild" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/buttonShowHideBuild" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="9dp" android:layout_marginRight="9dp" android:background="@null" android:drawableTop="@drawable/ic_arrow_drop_down_circle_black_24dp" android:text="Build" android:textColor="@color/white" app:layout_constraintBaseline_toBaselineOf="@+id/buttonShowHideStory" app:layout_constraintEnd_toEndOf="parent" /> <android.support.constraint.Barrier android:id="@+id/barrier3" android:layout_width="wrap_content" android:layout_height="wrap_content" app:barrierDirection="bottom" app:constraint_referenced_ids="buttonShowHideCounters,champName,buttonShowHideStory,buttonShowHideBuild" tools:layout_editor_absoluteY="731dp" /> </android.support.constraint.ConstraintLayout> W załącznikach dodałem wygląd layoutów.
  17. Hej, Chcę zadawać pytania użytkownikowi aplikacji i po ich skończeniu podsumować je w ostatniej activity lub na tej samej activity w zależności od tego jak mi bedzie pasować. Problem w tym , że w samym kotlinie potrafię to zrobić a jedyne co znam w Androidzie to textWatcher. Czy jest jakis odpowiednik readLine() w Kotlinie dla androida? Chicałbym aby wyglądało to tak: fun main(args: Array<String>) { var Math_mark: Int = 0 var Biology_mark: Int = 0 var school_subject: String = "" println("Choose school subject: math or biology") school_subject = readLine()!!.toString().toUpperCase() if (school_subject == "MATH") { println("Choose your last exam mark: ") Math_mark = readLine()!!.toInt() } if (school_subject == "BIOLOGY"){ println("Choose your last exam mark: ") Biology_mark = readLine()!!.toInt() } println("Your results:") if (Math_mark > 2) { println("Good boi") } else{ println("Bad boi") } if (Biology_mark > 2){ println("Good boi") } else{ println("Bad boi") } } Natomiast w android studio wstawiłbym do onTextChanged textView.setText(editText.getText().toString()) editTextSample.addTextChangedListener(object : TextWatcher { override fun afterTextChanged(s: Editable) {} override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) { } override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { textView.setText(editText.getText().toString()) // text który bedzie sie wyswietlał } } Czy tylko takie rozwiązanie wydaje się być poprawne czy można łatwiej? jeśli pytań będzie 30 to musze 30 razy wklejać ten fragment kodu? Niby to tylko wprowadzenie zmiennych w innym miejscu w activity.. myślałem, żeby po prostu w podsumowaniu podać id editText, żeby to co wprowadziłem w pytaniu wyswietliło sięw podsumowaniu na końcu kodu ale to nie przechodzi Chciałbym również aby user wprowadzający stringa w editText dostawał odpowiedz (jako activity podsumuwujące) string typu: tu juz chyba textWacher nie da rady.. var pytanie: String ="" println("co chcesz dziś robić?") pytanie = readLine()!!.toString().toUpperCase() // podsumowanie if(pytanie == "grać na komputerze") { println("Musisz najpierw odrobić zadanie") } Pozdrawiam
  18. Hej, Dłubie sobie przy swoim projekcie w Android Studio i chciałbym aby to co wpisze użytkownik w editText pokazało się w podsumowaniu w textView. Czego użyć? Wpadłem na TextWatcher ale nie specjalnie umiem go użyć w praktyce. Czy ktoś potrafi mi to wytłumaczyć? Pozdrawiam
  19. Cześć! Pytanie początkującego - chciałbym aby dodane elementy w Android Studio 3.4.1 po uruchomieniu były w tych samych miejscach na różnych emulatorach (różnych wielkościach ekranów). Domyślny mam ConstraintLayout - czy to zależy od layouta? Jak sobie z tym poradzić?
  20. adyoi

    Android Webview Starter (Kotlin)

    Android Webview Starter Android Webview Starter v 1.0 Permission to copy source code is only permitted for Education Features : Splash Screen Javascript Interface Function Callback Back Press Confirmation sourcecode: https://github.com/adyoi/Android-Webview-Starter
  21. Witam Jestem początkujący w Android Studio, razem z kolegą zamierzamy zrobić Radio Online które będzie grało w tle. (jeśli masz zamiar krytykować nie komentuj) Zrobiliśmy Radio Online ale nie gra ono w tle Jakieś wskazówki ? Najlepiej jakby ktoś wysłał kod Kod MainActivity package com.example.cmp3eu; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.WindowManager; import android.widget.Button; import java.io.IOException; public class MainActivity extends AppCompatActivity { Button b_play; MediaPlayer mediaPlayer; boolean prepared = false; boolean started = false; String stream= "https://www.rmfon.pl/play,5"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); b_play = (Button) findViewById(R.id.b_play); b_play.setEnabled(false); b_play.setText(""); mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); new PlayerTask().execute(stream); b_play.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (started) { started = false; mediaPlayer.pause(); b_play.setText(""); b_play.setBackgroundResource(R.drawable.playa); } else { started = true; mediaPlayer.start(); b_play.setText(""); b_play.setBackgroundResource(R.drawable.pausea); } } }); } class PlayerTask extends AsyncTask<String, Void, Boolean> { @Override protected Boolean doInBackground(String... strings) { try { mediaPlayer.setDataSource(strings[0]); mediaPlayer.prepare(); prepared = true; } catch (IOException e) { e.printStackTrace(); } return prepared; } @Override protected void onPostExecute(Boolean aBoolean) { super.onPostExecute(aBoolean); b_play.setEnabled(true); b_play.setText(""); } } @Override protected void onPause() { super.onPause(); if(started){ mediaPlayer.pause(); } } @Override protected void onResume() { super.onResume(); if(started){ mediaPlayer.start(); } } @Override protected void onDestroy() { super.onDestroy(); if(prepared){ mediaPlayer.release(); } } } AndroidManifest <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.example.cmp3eu"> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WAKE_LOCK" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="Cmp3.eu" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:keepScreenOn="true" android:theme="@style/AppTheme" tools:ignore="GoogleAppIndexingWarning"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> Z góry dziękuje Będę wdzięczny za każdą pomoc
  22. Coders Lab

    Konwersja java na kotlin i kotlin na java

    Czasami, tworząc aplikację używając języka kotlin, znajdujemy rozwiązanie naszego problemu napisane w javie. Nie musimy wtedy ręcznie przepisywać tego kodu do kotlina. Android Studio pomaga nam ten proces zautomatyzować. Wystarczy skopiować fragment kodu w javie i wkleić go do klasy/pliku z rozszerzeniem .kt IDE zapyta się wtedy czy automatycznie przekonwertować wklejany fragment kodu: Zaznaczając check boxa w tym oknie dialogowym i klikając Yes, skopiowany kod zawsze będzie konwertowany do kotlina już bez wyświetlania komunikatu. Możemy również przekonwertować od razu całą klasę napisaną javie. W tym celu otwieramy klasę którą chcemy poddać konwersji. Następnie wymieramy z Menu -> Code -> Convert Java File to Kotlin File. Albo używamy skrótu klawiszowego Ctrl+Alt+Shift+K Niestety często zdarza się tak, że konwersje nie są idealne. Trzeba często coś w nich poprawiać (szczególnie gdy konwertujemy całą klasę). Podobnie sprawa wygląda z konwersją do javy. W tym przypadku wybieramy Menu -> Tools -> Show Kotlin Bytecode a następnie klikamy Decompile. Na wyjściu dostaniemy plik z kodem w javie, który też należy sprawdzić. Tutaj narzędzie nie radzi sobie np. z typami zmiennych: // Kotlin val mCountDownTimer = object : CountDownTimer(millisInFuture, countDownInterval) // Java <undefinedtype> mCountDownTimer = new CountDownTimer(millisInFuture, this.countDownInterval) Konwersja na dzień dzisiejszy nie działa jeszcze idealnie. Jednak jest to ciekawe narzędzie, które może nam trochę pomóc nauce składni, a nawet w naszej pracy.
  23. Witam, Szukam osoby która wyśle folder ze zawartością do programu android studio na temat Navigation Drawer w załączniku wyślę obraz o co mi chodzi.
  24. Mam problem ,podczas tworzenie projektu ciagle wyskauje mi 6 takich beldow prosze o pomoc
  25. Stanowisko: Android Developer Miejsce pracy: Katowice Firma: Netizens Digital Innovation House Netizens to software house, który jest dostawcą rozwiązań technologicznych dla klientów, którzy stawiają na innowacje w marketingu. Projekty realizowane przez Netizens dotyczą m.in. stron WWW, aplikacji mobilnych, dedykowanych rozwiązań IT czy projektowania interaktywnych instalacji. Oferujemy: pracę dla renomowanych marek umowę o pracę/umowę - zlecenie stały rozwój, szkolenia współpracę z najlepszymi specjalistami pracę w młodym zespole, miłą atmosferę motywacyjny system wynagrodzeń Wymagania: doświadczenie w tworzeniu aplikacji natywnych na urządzenia z systemami Android co najmniej 2 aplikacje opublikowane na Google Play bardzo dobra znajomość Javy dobra znajomość środowiska Android Studio doświadczenie w pracy z bazami danych umiejętność debugowania aplikacji umiejętność wykorzystania komponentów/bibliotek zewnętrznych znajomość programowania zorientowanego obiektowo oraz wzorców projektowych terminowość, umiejętność pracy pod kontrolą harmonogramów umiejętność pracy w zespole znajomość języka angielskiego Mile widziane: doświadczenie w pracy z systemami kontroli wersji (GIT lub Subversion) podstawowa umiejętność korzystania z programów graficznych Gimp/Photoshop Zgłoszenia zawierające CV i list motywacyjny oraz listę własnych realizacji prosimy przesyłać na adres: [email protected] Informujemy, że będziemy się kontaktować tylko z wybranymi kandydatami. W aplikacji prosimy zawrzeć klauzulę: Prosimy o dopisanie następującej klauzuli: "Wyrażam zgodę na przetwarzanie moich danych osobowych zawartych w mojej aplikacji dla potrzeb niezbędnych do realizacji procesów rekrutacji (zgodnie z Ustawą z dnia 29 sierpnia 1997 r. o ochronie danych osobowych tj. Dz. U. z 2002 r., Nr 101, poz. 926, ze zm.), prowadzonych przez Netizens Sp. z o. o. z siedzibą w Katowicach."
x