Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
Autor | Správa |
---|
Registrovaný: 14.04.09 Prihlásený: 10.08.21 Príspevky: 97 Témy: 15 | 15 |
Zdravím, potreboval by som trošku poradiť s jednou časťou appky, na ktorej pracujem. Je to moja prvá appka takže som fakt len začiatočník. Ide o toto: appka zatiaľ funguje tak, že sa na začiatku treba lognúť, login údaje sa overia na servery a ak sedia užívateľa to posune na main aktivitu, kde sa mu zobrazujú nejaké údaje z db, to asi ale nieje také podstatné. Potreboval by som spraviť nejaký background service niečo, čo by sa spustilo po logine a bežalo v pozadí aj ak by bola appka minimalizovaná. Tá background činnosť by mala robiť nasledovné: skontrolovať či je má telefón prístup k netu a ak áno každých x minút pustiť nejaký php script, ktorý bude uložení na servery, ak nie tak sa ten background proces zastaví. Je možné také niečo spraviť? Za každú radu vďaka
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 | 148 Bydlisko: Bratislava |
Preco chces pustat php script aj ked je appka minimalizovana? Nebolo by lepsie pozriet sa na funkcie onResume() a onPause(), v ktorych by si startoval a vypinal to checkovanie? Toto pouzivam ja na checkovanie pripojenia. Mam na to celu triedu, lebo v nej mam este nejake ine veci ale tebe staci tato funkcia Kód: public class ConnectionDetector { private Context mContext; private ConnectivityManager connectivity; public ConnectionDetector(Context context) { mContext = context; }
public boolean isInternetAvailable() { connectivity = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) { NetworkInfo[] info = connectivity.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) return true; } } } return false; } } Si si isty, ze to prihlasenie je bezpecne? Odosielas sifrovane udaje a nie plain heslo? Edit: pytam sa preto, ze robit zbytocne service, ktory bude stale zobudzat mobil nie je dobry napad. Vydrz baterky padne o XY%. Ja ked som robil prvy widget, este pre android 2.2, tak som tiez zbytocne pouzil serivice a divil som sa, ze mobil nic nevydrzal. Skoro vzdy je aj lepsie riesenie a service treba pouzit len vtedy, ak aplikacia ma notifikovat uzivatela o niecom aj ked je mobil idle.
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
Registrovaný: 05.04.11 Príspevky: 1693 Témy: 50 | 50 Bydlisko: Žilina, Pop... |
Riešiť to Servicom fakt nevidím potrebné a ako bolo spomenuté zbytočne by ti to zožralo batériu. Ale pre info by si potreboval urobiť triedu, ktorá bude extend na Service, tam potom preťažiť onStartCommand metódu kde napíšeš vlákno ktoré bude vykonávať čo chceš a budeš ho uspávať. Ďalej treba nastaviť intent filter a potom nejaký receiver, aby si mal kde tie tvoje hodnoty počúvať. Ktomu kódu ešte do manifestu : Kód: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
_________________ rMBP 13 2015 iPhone 7
|
|
Registrovaný: 14.04.09 Prihlásený: 10.08.21 Príspevky: 97 Témy: 15 | 15 |
okej, ak service nieje ideálne riešenie, aký je teda najlepší spôsob ako by sa to dalo spraviť? Kamahl: áno, heslo je šifrované a vďaka za ten kód
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 | 148 Bydlisko: Bratislava |
Ako som uz hovoril, ak nepotrebujes aby telefon zacal notifikovat uzivatela aj ked je idle, urob to tak, ze v onResume() zapni checkovanie dat a v onPause() ho zas vypni
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
Registrovaný: 14.04.09 Prihlásený: 10.08.21 Príspevky: 97 Témy: 15 | 15 |
nepotrebujem, žeby užívateľ dostával notifikácie, dôležité je, žeby to bežalo v backgrounde každých x min aj, keď bude appka minimalizovaná ak je to možné spraviť cez onResume() a onPause() tak super, a ospravedlňujem sa za také otázky ale fakt s tým len začínam a radšej si chcem byť istý, že to je takto možné spraviť, než aby som sa s tým babral neviem ako dlho a potom zistil, že sa to tak nedá
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 | 148 Bydlisko: Bratislava |
Ale preco by to malo bezat aj ked je appka minimalizovana? Aky to ma zmysel? Prave na to je service a prave ten ti vymlati bateriu. Taku appku nikto nechce
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
Registrovaný: 14.04.09 Prihlásený: 10.08.21 Príspevky: 97 Témy: 15 | 15 |
pretože je dôležité, aby to po spustení appky pripočítavalo užívateľovi povedzme nejaké kredity každých x min pod podmienkou, že bude online, takže jediný spôsob ako to urobiť je cez service? btw. cez alarm - receiver by to nešlo, alarm by volal každých x min receiver, ktorý by púšťal ten script
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 | 148 Bydlisko: Bratislava |
Stale nerozumiem preco by to malo bezat aj ked je mobil idle. Ked otvoris appku, posli request, zisti kolko casu ubehlo od posledneho requestu a vypocitaj pocet kreditov, ktore ma dostat. Poriadne nad tym popremyslaj, vzdy je aj jendoduchsi sposob ako nieco naprogramovat.
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
Registrovaný: 14.04.09 Prihlásený: 10.08.21 Príspevky: 97 Témy: 15 | 15 |
pretože to má prirátavať iba ak je užívateľ online a ak dobre chápem tvoj príklad tak tam by to fungovalo tak, že užívateľ zapne appku zapíše sa čas, a keď užívateľ zapne appku zas vypočíta sa koľko kreditov by mal dostať za časový interval od kedy zapol appku prvý krát do druhého zapnutia, chápem to správne? rozmýšľam nad tým už dlhšie ale zatiaľ som neprišiel na iný spôsob ako by to bolo možné spraviť
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 | 148 Bydlisko: Bratislava |
co znamena ze je online? ze ma zapnutu appku? alebo ze je appka vypnuta ale mobil je pripojeny na net?
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
Registrovaný: 14.04.09 Prihlásený: 10.08.21 Príspevky: 97 Témy: 15 | 15 |
mobil je pripojený k netu
|
|
Registrovaný: 05.04.11 Príspevky: 1693 Témy: 50 | 50 Bydlisko: Žilina, Pop... |
Nechcem ti kaziť ideály, ale takáto appka bude pre užívateľov asi nepríťažlivá. Ale ako som povedal hore, potrebuješ service a potom budeš potrebovať jeden BroadcastReceiver ten urobíš tak isto , teda tvoja trieda bude dediť zo servicu, preťažíš onStartCommand a onDestroy metódy. príklad niečo ako toto : http://stackoverflow.com/questions/3141 ... nnectivity alebo ak tak môj, čo sme robili v škole : Kód: public class RecievingService extends Service { public static String messageLabel = "moj.super.receiver"; private int _count = 0; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; }
private BroadcastReceiver _reciever; @Override public int onStartCommand(Intent intent, int flags, int startId) { Toast.makeText(getApplicationContext(), "Recieving starts", Toast.LENGTH_SHORT).show();
// create reciever _reciever = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //do something on recieved intent Toast.makeText(getApplicationContext(), "Recieved: " + _count, Toast.LENGTH_SHORT).show(); _count++; } }; registerReceiver(_reciever, new IntentFilter(RecievingService.messageLabel)); return super.onStartCommand(intent, flags, startId); }
@Override public void onDestroy() { unregisterReceiver(_reciever); Toast.makeText(getApplicationContext(), "Recieving ends", Toast.LENGTH_SHORT).show(); super.onDestroy(); } }
_________________ rMBP 13 2015 iPhone 7
|
|
Registrovaný: 14.04.09 Prihlásený: 10.08.21 Príspevky: 97 Témy: 15 | 15 |
vďaka za odpoveď, ja sa ešte pokúsim porozmýšľať nad alternatívou
|
|
Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v PHP, ASP | 4 | 1482 | 07.05.2010 14:02 DeiForm | | v PHP, ASP | 5 | 566 | 08.08.2008 9:02 Tominator | | v PHP, ASP | 7 | 708 | 14.06.2011 0:56 walther | | v PHP, ASP | 4 | 759 | 20.10.2008 11:50 TommyHot | | [ Choď na stránku: 1, 2 ] v PHP, ASP | 39 | 2664 | 21.03.2010 1:22 JanoF | | v HTML, XHTML, XML, CSS | 12 | 853 | 22.09.2008 11:17 don jebot | | v Webdesign | 3 | 904 | 02.12.2010 22:17 Flety | | v Redakčné systémy | 8 | 633 | 11.08.2015 11:35 chrono | | v Audio programy | 3 | 456 | 30.07.2012 22:57 p4tooo | | v Audio programy | 1 | 2206 | 03.06.2007 20:59 fuco | | v Kultúra, umenie, filmy, hudba, história, média | 0 | 354 | 24.11.2019 9:11 fixa | | v Assembler, C, C++, Pascal, Java | 4 | 380 | 06.12.2014 19:57 chrono | | v Assembler, C, C++, Pascal, Java | 12 | 1198 | 22.10.2011 15:43 nBXXL | | v PHP, ASP | 2 | 492 | 13.02.2009 13:50 beginner | | v JavaScript, VBScript, Ajax | 3 | 437 | 20.05.2013 0:05 shaggy | | v JavaScript, VBScript, Ajax | 2 | 675 | 31.01.2009 15:27 Flety |
|