Post recenti

Pagine: [1] 2 3 ... 10
1
Grafica 2D/3D con OpenGL ES / Sviluppare candy crush
« Ultimo post da Ottavio il Ieri alle 23:14 »
Ciao a tutti,
Come si sviluppa un gioco a matrici come candy crush? Unity?

Grazie mille
2
Richiesta Tutorial / Re:App per lancio widget
« Ultimo post da arturob il Ieri alle 22:10 »
Ho risolto con l'ausilio di Tasker ed il relativo plugin AutoVoice.
Un particolare ringraziamento ad Ohmnibus per l'interessamento.
ciao Arturo
3
Activity, Fragment e Intent / Re:FindViewById dalla FragmentActivity
« Ultimo post da iClaude il Ieri alle 17:09 »
Anche i Singleton sono legati alla vita del componente che lo crea; per questo è meglio istanziarli con Application. Cosa intendi che resiste ai cambi di configurazione?

Es. rotazione display.
In realtà la funzione del ViewModel non sarebbe esattamente questa, ma è molto comodo per far comunicare tra loro vari Fragment senza dover utilizzare delle complicate interfacce (infatti l'esempio che ho linkato è tratto dalla documentazione ufficiale di Android).
4
Proprio nessuno che mi possa dare una mano?
5
Activity, Fragment e Intent / Re:FindViewById dalla FragmentActivity
« Ultimo post da wlf il Ieri alle 13:49 »
Anche i Singleton sono legati alla vita del componente che lo crea; per questo è meglio istanziarli con Application. Cosa intendi che resiste ai cambi di configurazione?
6
Activity, Fragment e Intent / Re:FindViewById dalla FragmentActivity
« Ultimo post da iClaude il Ieri alle 12:41 »
ViewModel, se non ho capito male, è quindi una sorta di Singleton?

E' legato alla vita del componente che lo crea (nel tuo caso l'Activity), inoltre resiste ai cambi di configurazione.
7
Activity, Fragment e Intent / Re:FindViewById dalla FragmentActivity
« Ultimo post da wlf il Ieri alle 11:03 »
ViewModel, se non ho capito male, è quindi una sorta di Singleton?
8
Animation, Menu, Dialog, Notification e Toast / animazioni con codice java
« Ultimo post da Paolo Favaretto il 24 Aprile 2018, 13:20:51 CEST »
Ciao a tutti, vorrei gestire le animazioni invece che dai file xml da una classe Java, inserire ad esempio 3 animazioni è richiamarle all'occorrenza dall'activity che mi serve, qualcuno gentilmente sa spiegarmi come  si fa magari con un semplice esempio
 ?Grazie in anticipo
9
Grazie mille!
Funziona alla perfezione!


Il numero di righe corrisponde al numero di elementi di .second per cui puoi fare ubn semplice comparator:

Codice (Java): [Seleziona]
public class MioComparator implements Comparator<Pair<String, List<String>>> {
    @Override
    public int compare(Pair<String, List<String>> o1, Pair<String, List<String>> 02) {
        //Da fare: Controllo dei null
        return o1.second.size() - o2.second.size();
    }
    @Override
    public boolean equals() {
        //Da fare: Controllo dei null
        return o1.second.size() = o2.second.size();
    }
}

Inoltre ti consiglio vivamente di usare una struttura dati ad-hoc al posto di Pair<String, List<String>>:

Codice (Java): [Seleziona]
public class ElementoLista {
    public String nomeApp;
    public List<String> permessi;
}

in modo da poter accedere semplicemente a tutti gli attributi di un elemento, senza considerare che puoi aggiungere nuovi attributi in ogni istante (es. immagine dell'app):

Codice (Java): [Seleziona]
public class ElementoLista {
    public String nomeApp;
    public List<String> permessi;
    public int imageResId; //Nuovo attributo
}
10
Mappe e Geolocalizzazione / Geolocalizazzione e Posizione Real time
« Ultimo post da mufasaonline il 23 Aprile 2018, 16:00:47 CEST »
Ciao, sto prendendo confidenza con le API di google per le mappe e dopo essere riuscito ad implementare una mappa in un app, eccomi ad avere i primi problemi, in pratica vorrei che all'apertura della mappa, senza dover premere nessun bottone si aprisse la posizione corrente con uno zoom sulla propria posizione.

Al momento quello che sono riuscito a fare, è consigliare all'utente di attivare il GPS all'apertura dell app, ma appena provo ad estrapolare le coorinate ecco che l app mi va in errore.

MainActivity.java

Codice (Java): [Seleziona]
package com.example.mufas.eventome;

import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.provider.Settings;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

import es.dmoral.toasty.Toasty;

public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

        LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
        boolean enabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);


        if (!enabled) {

            Toasty.error(getApplication(), "ATTIVA IL GPS", Toast.LENGTH_LONG, true).show();

            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(intent);

        } else {
            Toasty.success(getApplication(), "GPS Attivo", Toast.LENGTH_LONG, true).show();
        }


    }


    @Override
    public void onMapReady(GoogleMap map) {

        LocationManager locationManager;
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
        onLocationChanged(location);

        }


        public void onLocationChanged(Location location) {

        double latitudine = location.getLatitude();
        double longitudine = location.getLongitude();
        }

}

Logat

Codice (Java): [Seleziona]
-23 15:50:16.795 12952-12952/com.example.mufas.eventome I/zzbz: Making Creator dynamically
04-23 15:50:16.805 12952-12952/com.example.mufas.eventome I/DynamiteModule: Considering local module com.google.android.gms.maps_dynamite:0 and remote module com.google.android.gms.maps_dynamite:219
    Selected remote version of com.google.android.gms.maps_dynamite, version >= 219
04-23 15:50:16.904 12952-12952/com.example.mufas.eventome I/Google Maps Android API: Google Play services client version: 12451000
04-23 15:50:16.915 12952-12952/com.example.mufas.eventome I/Google Maps Android API: Google Play services package version: 12529024
04-23 15:50:17.564 12952-12998/com.example.mufas.eventome D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
04-23 15:50:17.569 12952-12952/com.example.mufas.eventome W/linker: /system/vendor/lib/hw/gralloc.clovertrail.so: unused DT entry: type 0xf arg 0x62a
    /system/vendor/lib/hw/gralloc.clovertrail.so: is missing DT_SONAME will use basename as a replacement: "gralloc.clovertrail.so"
04-23 15:50:17.570 12952-12952/com.example.mufas.eventome W/linker: /system/vendor/lib/libpvr2d.so: unused DT entry: type 0xf arg 0x79b
    /system/vendor/lib/libpvr2d.so: is missing DT_SONAME will use basename as a replacement: "libpvr2d.so"
04-23 15:50:17.571 12952-12952/com.example.mufas.eventome W/linker: /system/vendor/lib/hw/gralloc.clovertrail.so has text relocations. This is wasting memory and prevents security hardening. Please fix.
04-23 15:50:17.572 12952-12952/com.example.mufas.eventome W/linker: /system/vendor/lib/libpvr2d.so has text relocations. This is wasting memory and prevents security hardening. Please fix.
04-23 15:50:17.573 12952-12952/com.example.mufas.eventome E/IMGSRV: :0: PVRDRMOpen: TP3, ret = 53
04-23 15:50:17.574 12952-12952/com.example.mufas.eventome E/IMGSRV: :0: PVRDRMOpen: TP3, ret = 54
    :0: PVRDRMOpen: TP3, ret = 54
    :0: PVRDRMOpen: TP3, ret = 54
04-23 15:50:17.598 12952-12952/com.example.mufas.eventome D/AndroidRuntime: Shutting down VM
04-23 15:50:17.606 12952-12952/com.example.mufas.eventome E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.mufas.eventome, PID: 12952
    java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference
        at com.example.mufas.eventome.MainActivity.onLocationChanged(MainActivity.java:73)
        at com.example.mufas.eventome.MainActivity.onMapReady(MainActivity.java:66)
        at com.google.android.gms.maps.zzak.zza(Unknown Source)
        at com.google.android.gms.maps.internal.zzaq.dispatchTransaction(Unknown Source)
        at com.google.android.gms.internal.maps.zzb.onTransact(Unknown Source)
        at android.os.Binder.transact(Binder.java:387)
        at fh.b(:com.google.android.gms.dynamite_dynamitemodulesb@12529024@12.5.29 (040700-192802242):20)
        at com.google.android.gms.maps.internal.bg.a(:com.google.android.gms.dynamite_dynamitemodulesb@12529024@12.5.29 (040700-192802242):5)
        at com.google.maps.api.android.lib6.impl.be.run(:com.google.android.gms.dynamite_dynamitemodulesb@12529024@12.5.29 (040700-192802242):5)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5417)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
04-23 15:50:19.538 12952-12996/com.example.mufas.eventome W/DynamiteModule: Local module descriptor class for com.google.android.gms.googlecertificates not found.
04-23 15:50:19.547 12952-12996/com.example.mufas.eventome I/DynamiteModule: Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:4
    Selected remote version of com.google.android.gms.googlecertificates, version >= 4
04-23 15:50:19.551 12952-12996/com.example.mufas.eventome W/System: ClassLoader referenced unknown path: /data/data/com.google.android.gms/app_chimera/m/00000011/n/x86
04-23 15:50:19.605 12952-12996/com.example.mufas.eventome W/PhenotypeFlag: Bypass reading Phenotype values for flag: LogSampling__MAPS_API
04-23 15:50:19.610 12952-12996/com.example.mufas.eventome W/PhenotypeFlag: Bypass reading Phenotype values for flag: LogSampling__MAPS_API
04-23 15:50:20.092 12952-12952/com.example.mufas.eventome I/Process: Sending signal. PID: 12952 SIG: 9

Manifest.xml

Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.mufas.eventome">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

    <activity

            android:name=".MainActivity">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="...................................................." />

    </application>

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/>

</manifest>

Dove sbaglio? Ripeto che vorrei mostrare la posizione aggiornata e attuale senza dover premere nulla, all apertura dell'app.... Mi potete consigliare un metodo o un esempio? Come al solito faccio grande fatica ad inerpretare le documentazioni varie.

Grazie e un saluto al forum.
Pagine: [1] 2 3 ... 10