[Tutorial] Geräteinformationen auslesen und als TextView anzeigen

SM-T110 UND GT-I9300

SM-T110 UND GT-I9300

Fortgeschrittenes Mitglied
Threadstarter
Ich habe noch kein Theme zu diesem Tutorial gefunden deshalb möchte Ich es hier erläutern

Mit diesem Code könnt Ihr in einem Android Studio App Projekt
Geräteinformationen wie Hersteller, Modell und Android Version auslesen.

1. In der Build.gradle diesen Code hinzufügen:
Code:
	compile 'com.jaredrummler:android-device-names:1.0.9'
2.In einem layout (activity_main.xml) einen TextView mit einer beliebigen Id (z.B deviceInfo) erstellen.

3.In der MainActivity.java import hinzufügen:
Code:
import com.jaredrummler.android.device.*;

4.In der onCreate Methode 4 Strings erstellen:

Hersteller
Code:
String manufacteur = android.os.Build.MANUFACTEUR;
Geräte Modell bzw. Name
bsp: "Galaxy S5 Neo"
Code:
String modelname = DeviceName.getDeviceName();
Android Version
Code:
String osVersion = android.os.Build.VERSION.RELEASE;
Leerzeichen*
Code:
String gap = " ";
*Einen String für ei Leerzeichen ist nicht umbedingt notwendig da ihr später in der settext methode aucg einfach z.B
Code:
osVersion+"**Leerzeichen** "+"Marshmallow");
schreiben könnt. Der Effekt:
Zwischen der Android Version und dem Code Name (Marshmallow) ist ein leerzeichen um sie auseinander zu halten.


5.TextView text programmatically setzen
Code:
TextView info = (TextView)findViewById(R.id.deviceInfo)
info.setText("Hersteller: "+manufacteur+
"\nModell: "+modelname+
"\nAndroid Version: "+osVersion);

Ergebnis:
[IMG]https://tt.android-hilfe.de/20170311/46fa6c588f77cdd3c50dec6e3f5e5439.jpg[/IMG]

Wer will, dass bei der Android Version hintendran noch der codename steht (z.B Marshmallow) muss setText in einer if-Abfrage schreiben. Also:

[CODE]TextView info = (TextView)findViewById(R.id.deviceInfo)
if(android.os.Build.VERSION.SDK_INT==23) {
info.setText("Hersteller: "+manufacteur+
"\nModell: "+modelname+
"\nAndroid Version: "+osVersion+" Masrhmallow");

Ergebnis:
[IMG]https://tt.android-hilfe.de/20170311/89a0703e9147602fa69178afc32bcdcc.jpg[/IMG]


Wenn jemand Android 7.0 hat, muss er einfach
[CODE]TextView info = (TextView)findViewById(R.id.deviceInfo)
if(android.os.Build.VERSION.SDK_INT==24){
info.setText("Hersteller: "+manufacteur+
"\nModell: "+modelname+
"\nAndroid Version: "+osVersion+" Nougat")

Wer android 7.1 hat, einfach wie bei dem code für Nougat einfach den SDK_INT auf ==25 setzen.

Für Lollipop erklärt sich es ja von selbst (SDK_INT==21 ist hierbei Lollipop 5.0.X und SDK_INT==22 ist Lollipop 5.1.X)

Hoffe es ist deutlich und verständlich erklärt.


#HAPPYCODING!
 
SM-T110 UND GT-I9300

SM-T110 UND GT-I9300

Fortgeschrittenes Mitglied
Threadstarter
Wer fragmentView benutzt.

z.b bei NavDrawer

einfach die java des entsprechenden views so bearbeiten:

anstatt
Code:
(TextView)findViewById(...);
eifach den teil mit der If abfrage usw in den fragment inflater rein packen und dann den name des inflaters so benutzen:

Code:
(TextView)rootView.findViewById(..);
Danach am ende return rootView nicht vergessen!!


rootView=könmt auch anderen Namen verwenden
 
Oben Unten