Hirdetés
Új hozzászólás Aktív témák
-
#39560925
törölt tag
Elnézést az ízléses UI mockupért, de ilyen UI-t hogy tudok a legegyszerűbben csinálni? A, B, X és Y gombok lennének, és még annyi kéne, hogy a kijelző felvillantható lehessen fehér fénnyel. Csinálnám szívesen OpenGL-lel is, de szerintem az indokolatlanul low-level API erre a célra.
szerk: és akkor itt a mockup is.

-
#39560925
törölt tag
-
#39560925
törölt tag
válasz
WonderCSabo
#3624
üzenetére
Megnéztem alaposabban a forrást, emiatt a fájl miatt gondoltam elsőre, hogy Java 8, de streameket meg nem találtam, ami rossz előjel.
-
#39560925
törölt tag
Android N-be jön a Java 8 támogatás. [link]
-
#39560925
törölt tag
gcm értesítések nem jönnek meg az appomhoz android 6.0-án.
nem tudom miért. azért meg nem tudom miért kell egy kört szenvedni, hogy play services legyen az emulátoron. -
#39560925
törölt tag
válasz
Norbi095HUN
#3432
üzenetére
Fiatal vagy, tanulj meg angolul. Anélkül sokra úgysem viszed majd.
-
#39560925
törölt tag
Átküldtem egy haveromnak az appot, akinek a telefonján egy ponton elszáll. Arra gyanakszom, hogy egy location objektum null, ezért átírtam a location-ért felelős osztályt. Annyi a változtatás, hogy most feliratkoztam folyamatos pozíció frissítésekre. Azóta debug módban elég durván akadozós lett a UI. Ez miért lehet? Ha nem debug módban futtatom, akkor nem néz ki akadozósnak, de nem tudom, hogy esett-e az FPS szám.
-
#39560925
törölt tag
válasz
WonderCSabo
#3418
üzenetére
próbáltam. leszedtem a 2.7-es gradlét is a bundled 2.4 helyett, az se segített.
-
#39560925
törölt tag
válasz
WonderCSabo
#3418
üzenetére
az jó, végülis csak azért frissítettem az Android Studiot, mert az új Kotlin verzió miatt nem tudtam buildelni. Frissíteni akartam az extensiont, de a Jetbrains Plugin Repository timeoutolt az IDE-ben. Kézzel letöltve és telepítve a Kotlin errorok megszűntek, most simán a Gradle szar.

-
#39560925
törölt tag
1.3.1-ről 1.3.2-re frissítettem az Android Studio-t clean installal, és most nem tudja buildelni az appom.
Ezt mondja:
Error:Execution failed for task ':app:shrinkDebugMultiDexComponents'.
> String index out of range: 37Itt van a 2 gradle fájlom.
Exceptional/build.gradle Exceptional/app/build.gradle -
#39560925
törölt tag
equals sem lehet felüldefiniálva a Realm modell osztályokban... eddig nem jön túlzottan be
-
#39560925
törölt tag
Realmben BigInteger nem lehet primary key, én viszont eddig azt használtam mindenhol ID-nak. Mi legyen a modell osztályaimmal? Vegyek fel egy String mezőt, amit constructorban mindig beállítok BigInteger.toString()-gel, vagy fogadjam el a sorsom, és írhatom át String-esre az egészet a kliensalkalmazásban?
-
#39560925
törölt tag
4. lépésben az Injector # initializeApplicationComponent metódusában a Builder appContextModule metódusában az appContextModule paraméter honnan jön? Nem látom sehol deklarálva a scope-ban, és természetesen fordítási hibát okoz nálam.
Az meg tök OOP ellenes, hogy publikussá kell tenni a fieldeket, hogy tudjon injektálni a Dagger... rendben van ez az egész koncepció egyáltalán?
-
#39560925
törölt tag
Dagger 2-ről tudna valaki mutatni egy olyan példát, ahol egy Fragmentbe injektálnak be valamit?
Végignéztem minden tutorialt a neten, és mindenhol tök máshogy használják a Dagger 2-t. És sehol sem injektálnak Fragmentekbe. A gond az, hogy a Fragmenteknek tudtommal nem ajánlott constructort írni, mindig a default constructort kell használni, de példákban amiket találta, mindenféle constructorokat írnak a dependáló osztályoknak.
Kezdésnek annyit szeretnék, hogy van egy osztályom, amit singletonként szeretnék használni, és aminek szüksége van az ApplicationContext-re. Ezt az osztályt szeretném Dagger 2-vel injektálni egy Fragmentbe.
-
#39560925
törölt tag
válasz
automATIc
#3397
üzenetére
ezt olvasd el a többnyelvűség támogatásáról. semmi ilyesmi nem kell a kódba.
-
#39560925
törölt tag
válasz
#39560925
#3385
üzenetére
Fogtam és konvertáltam az appomban minden Java fájlt Kotlin fájlra Android Studioval, és működik minden faszán. Most olvasgatom miket tud a nyelv, és eléggé bejön. Ha tippmixelnék, megtenném többszáz forintban, hogy 1-2 év múlva ez lesz a hivatalos nyelv az Androidhoz.

-
#39560925
törölt tag
Kotlinban nyomja valaki a fejlesztést?
-
#39560925
törölt tag
Karma, nem sikerült ám csak úgy belőni a streamsupportot az Android Studioban.

Itt van a build.gradlém. Nem tudok rájönni mi hiányzik belőle, neten alig találni valamit.Az annimon:stream-et tudom használni, de az ilyen gagyin néz ki:

-
#39560925
törölt tag
Rossz helyről hívtam meg a refreshFriends metódust, és a megfelelő dolgok együttállásával előfordulhatott, hogy valid accessToken nélkül indítottam a Facebook felé GraphRequestet. Az accessToken kezeléséhez a Facebook SDK abstract AccessTokenTracker osztályából származtam le, és az App elindulásakor még nincs accessTokenem, mindig csak pártíz - párszáz miliszekundummal később, mert ez valahogy jön a szerverről (el van előlem rejtve a működése). refreshFriends-et csak akkor szabad meghívni, ha már van accessToken.
debug módban annyival lassabb lehetett az alkalmazás, hogy megjött a Facebooktól az accessToken, mielőtt a GraphRequest kérés megtörtént volna. Legalábbis ez a tippem.
Megoldás az volt, hogy az App indulásakor megnézem, hogy az accessToken null-e, és ha igen, akkor nem hívom meg a refreshFriends-et. Ehelyett meghívom a tokenTrackerben, ha érkezik egy új token, ami nem null.
Ezt régen is hasonlóan csináltam, de azóta refaktkráltam a kódot, mert kurva zajos volt, és ekkor mászott bele a bug.
-
#39560925
törölt tag
mitől lehet az, hogyha debugban léptetem végig a kódot, akkor meghívódik egy metódus, és végigmegy a kitalált logika, viszont ha nem teszek breakpointot a programba, és hagyom futni, akkor nem hívódik meg az a metódus?
Egész konkrétan erről van szó. Ha itt van breakpoint, akkor meghívódik a metódus, és látom az eredményét a képernyőn, ha a metódusnak akár csak az első sorába teszem a breakpointot, akkor nem fut rá a program, és nem is látni az eredményt a képernyőn. Természetesen olyan sorra rakom, ahol meg tud állni a debugger.
-
#39560925
törölt tag
ART-ban már compacting GC van? Gyors keresgélés során csak Lollipop előtti cikkeket találtam arról, hogy egy compacting GC fejlesztés alatt áll, és majd jön az ART-ba. Itt azt írják az van, de nem tudom higgyek-e neki.
-
#39560925
törölt tag
-
#39560925
törölt tag
Sajnos nincs sok időm foglalkozni az appal, de innen letölthető egy kezdetleges változata. A szerver DigitalOceanon fut egyénként. A forráskód itt van, hogy lássátok, nem csinál semmi rosszat.

-
#39560925
törölt tag
Mi a legolcsóbb megoldás a Spring Boot-ot és MySQL-t használó backendem felhőben, vagy szerveren futtatásához?
-
#39560925
törölt tag
SwipeRefreshLayout-nak a spinnere nálam üres. Hogyan tudnám elérni, hogy pörögjön benne a cuccos?
Kód:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_exceptions, null);
swipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_container);
swipeRefreshLayout.setOnRefreshListener(this);
swipeRefreshLayout.setSize(SwipeRefreshLayout.LARGE);
swipeRefreshLayout.setColorSchemeColors(
android.R.color.holo_blue_light,
android.R.color.holo_purple,
android.R.color.holo_green_light,
android.R.color.holo_red_light
);
return view;
}@Override
public void onRefresh() {
swipeRefreshLayout.setRefreshing(true);
BackendConnector.getInstance().refreshExceptions(this);
}
@Override
public void onExceptionRefreshFinished() {
swipeRefreshLayout.setRefreshing(false);
} -
#39560925
törölt tag
Ok, ezt nem értem.
public static void testEventBus(final Set<ExceptionChangeListener> exceptionChangeListeners) {
GraphRequest request = GraphRequest.newMyFriendsRequest(accessToken, new GraphRequest.GraphJSONArrayCallback() {
@Override
public void onCompleted(JSONArray jsonArray, GraphResponse graphResponse) {
// request successfully returned
if (graphResponse.getError() == null) {
Log.d("response length: ", Integer.toString(jsonArray.length()));
Set<Friend> friends = new TreeSet<>(new Friend.NameComparator());
for (ExceptionChangeListener listener : exceptionChangeListeners) {
listener.onExceptionsChanged();
}
if (firstStart) {
friendListListener.onFirstAppStart(friends);
} else {
friendListListener.onAppStart(friends);
}
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,picture");
request.setParameters(parameters);
request.executeAsync();
}Facebook doksiból:
executeAsync():
Executes the request asynchronously. This function will return immediately, and the request will be processed on a separate thread. In order to process result of a request, or determine whether a request succeeded or failed, a callback must be specified (see the setCallback.setCallback(Callback) method).This should only be called from the UI thread.
Gombnyomásra meghívom az executeAsync()-et, meghívódik az onCompleted(), abban meghívom notifyDataSetChanged()-et, és nem áll le kivétellel az alkalmazás. Ez a callback a main szálon fut, vagy micsoda? Hogy lehet az?
-
#39560925
törölt tag
válasz
WonderCSabo
#3241
üzenetére
-
#39560925
törölt tag
Most, hogy elkezdtem beépíteni mindenféle aszinkron hívásokat az alkalmazásba, felmerült a gondolat, hogyha történik egy aszinkon callback, és abból a callbackból értesíteni akarok különböző lista adaptereket az adataik megváltozásáról (notifyDataSetChanged), akkor azt hogyan tehetem meg ebben a szálban. Elvileg notifyDataSetChanged csak UI szálból hívható meg. Például itt ez a Facebook Graph Request. Ennek az onCompleted callback-je nem a főszálon fut. A benne meghívott onFirstAppStart metódusból szeretnék értesíteni egy adaptert. Ez Otto-val megoldható? Úgy látom ehhez az SO kérdéshez hasonló a problémám, de erre nem érkezett sok válasz.
-
#39560925
törölt tag
-
#39560925
törölt tag
válasz
WonderCSabo
#3223
üzenetére
Köszi! Ez a dolog egyelőre el van odázva, de ha megcsinálom a settings menüt, akkor még visszaolvasom ezt a hsz-t.
-
#39560925
törölt tag
Kicsit más: Custom View-t szeretnék használni ezzel a jó kis API-val, de nem tudom hogyan tudnék a Layoutban lévő TextView-eknek beállítani az értékét. Egy gomb eseménykezelőjében akarok feldobni egy material design-jú dialog albakot, saját layout-tal.
-
#39560925
törölt tag
Huh, köszi ismét a részletes segítséget.
Egyébként azt akarom majd megvalósítani, hogy a legutolsó 30 exceptiont tárolom az eszköz SharedPreferences-ében, és ha lejjebb görget a felhasználó, akkor elkezdi fetchelni a többit a szeverről. Ha van neki 1000 exception-je tárolva a szerveren, és elkezd lefelé görgetni, mint állat, akkor mennyit cellát érdemes egyszerre a memóriában tartani?A fentiek ismeretében melyik megoldást javaslod?
-
#39560925
törölt tag
Ha megváltoznak az adatok, hogyan tudom elérni a fragmentet, amiben a lista van? Jelenleg így épül fel az UI:
MainActivity így néz ki:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.attilapalf.exceptional.ui.main.MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTabStrip
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</android.support.v4.view.ViewPager>
</RelativeLayout>Tehát ez egy lapozható felület, 3 oldala van. Itt van a MainPagerAdapter kódja:
public class MainPagerAdapter extends FragmentPagerAdapter {
public MainPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new MainFragment();
case 1:
return new ExceptionsFragment();
case 2:
return new FriendsFragment();
default:
return new MainFragment();
}
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Main";
case 1:
return "My Exceptions";
case 2:
return "My Friends";
default:
return "unknown";
}
}
}Az ExceptionsFragment kódja pedig itt van. A notifyDatasetChanged() metódusát szeretném valahogy meghívni a MainActivity throwMeExcClicked(View) metódusban:
private static String makeFragmentName(int viewPagerId, int index) {
return "android:switcher:" + viewPagerId + ":" + index;
}
public void throwMeExcClicked(View view) {
Exception e = Exception.getRandomException();
synchronized (this) {
if (mLocation == null) {
setLocationExceptions.add(e);
} else {
e.setLocation(mLocation);
exceptionPreferences.addException(e);
}
}
String fragmentTag = makeFragmentName(R.id.pager, 1);
FragmentManager fragmentManager = getFragmentManager();
Fragment eFrag = fragmentManager.findFragmentByTag(fragmentTag);
// jó volna valahogy elérni az ExceptionsFragmentet!!!
} -
#39560925
törölt tag
válasz
WonderCSabo
#3213
üzenetére
-
#39560925
törölt tag
válasz
WonderCSabo
#3208
üzenetére
Akkor hová való az a gomb?
-
#39560925
törölt tag
Mi annak az oka, hogy a PreferencesActivity layoutja nem a layout mappában van megadva, hanem az xml-ben? Épp beállítások menüt csinálok, és egyelőre csak egy Facebook logout button-t akarok rátenni, de azt PreferenceScreen xml-be nem lehet betenni. Ezért írok egy normális Activity-t a beállításoknak, bár sejtem, hogy nem ez a konvencionális megoldás. De miért nem?
-
#39560925
törölt tag
Sziasztok!
Írni akarok egy primitív android appot. Alapötlet az, hogy facebook-kal beloginelsz, és exception-öket lehet a barátaidnak küldeni. Pl jelez az app, hogy "Nagy Béla sent you a ConstraintViolationException". Amire válaszolsz mondjuk egy OutOfMemoryExceptiont. Tennék bele olyat is, hogyha a felhasználó egy megadott földrajzi hely közelébe kerül, akkor kapjon egy exception-t az apptól. Így pl minden reggel a munkában indulhatna egy NullPointerException-nel.
Ide ezt azért írom, mert kellenének még ötletek, hogy minél több API-t használjak fel.
Új hozzászólás Aktív témák
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- ATEN Cat 5 KVM over IP Switch Altusen KH1508AI - Új ára 284.000Ft
- AirPort Extreme 802.11n (3rd Generation) Model A1301 -
- HIBÁTLAN iPhone 15 Pro Max 512GB E-SIM Blue Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4262, 95% Ak
- GYÖNYÖRŰ iPhone SE 2020 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3584
- Ventilátorok 120/140mm és tápkábel modding kitűnő árakon!
- Apple iPhone 16 Pro Max Natural Titanium Titán dizájn, Pro kamera,100% akku,2026. 02. 11
- 5G Lenovo ThinkPad P14s Gen 3 Intel Core i7-1280P Nvidia T550 32GB 1000GB 1 év teljeskörű garancia
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
![;]](http://cdn.rios.hu/dl/s/v1.gif)

nem tudom miért. azért meg nem tudom miért kell egy kört szenvedni, hogy play services legyen az emulátoron.



Egyébként azt akarom majd megvalósítani, hogy a legutolsó 30 exceptiont tárolom az eszköz SharedPreferences-ében, és ha lejjebb görget a felhasználó, akkor elkezdi fetchelni a többit a szeverről. Ha van neki 1000 exception-je tárolva a szerveren, és elkezd lefelé görgetni, mint állat, akkor mennyit cellát érdemes egyszerre a memóriában tartani?


