Android Development mit C# Xamarin
Dieser Part des Tutorials ist sehr leicht. Du musst nur Visual Studio mit den .NET-Desktopentwicklung und Mobile-Entwicklung mit .NET (Xamarin) installieren
Dieser Part des Tutorials ist sehr leicht. Du musst nur Visual Studio mit den .NET-Desktopentwicklung und Mobile-Entwicklung mit .NET (Xamarin) installieren
- Download Visual Studio Communiy: [Only registered and activated users can see links. Click Here To Register...]
- Setup ausführen und Visual Studio Installer wird installiert
- Installer startet automatisch. Jetzt Haken bei .NET-Desktopentwicklung und Mobile-Entwicklung mit .NET setzen
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...] - Als letztes unten rechts auf Installieren drücken
- Fertig
|
[Only registered and activated users can see links. Click Here To Register...]
Demo Video
GitHub [Only registered and activated users can see links. Click Here To Register...] Schritt 1: Projekt erstellen Zu Beginn öffnen wir Visual Studio und erstellen ein neues Projekt. Als Projekt wählen wir Visual C# => Android => Android-App (Xamarin) [Only registered and activated users can see links. Click Here To Register...] Anschließend wählen wir im Fenster danach Registerkarten-App aus [Only registered and activated users can see links. Click Here To Register...] Kurze Erklärung: Unser erstelltes Projekt sollte nun folgende Hierarchie haben
[Only registered and activated users can see links. Click Here To Register...] Die interessantesten Datein und Ordner zum Anfang sind für uns:
Schritt 2: Navigationsleiste anpassen In diesem Schritt passen wir unsere Menü Items an. öffnet Resources\menu\navigation.xml und ändert den Code wie folgt ab. Code:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/title_home" />
<item
android:id="@+id/navigation_settings"
android:icon="@drawable/ic_dashboard_black_24dp"
android:title="@string/title_settings" />
</menu>
Danach müssen wir die Resource\values\strings.xml Datei bearbeiten damit sie wie folgt aussieht: Code:
<resources> <string name="app_name">FirstApp</string> <string name="title_home">Übersicht</string> <string name="title_settings">Einstellungen</string> </resources> Schritt 3: Fragmente (Seiten) erstellen Als nächstes erstellen wir uns Fragmente die unsere Seiten, zwischen denen wir navigieren können, festlegen. Dazu erstellen wir 2 Android-Layout Dateien im Resource\layout Ordner
[Only registered and activated users can see links. Click Here To Register...] Beide Layouts beinhalten nur einen Button. Die Datei sieht wie folgt aus:
Wir haben jetzt 2 Layouts designt die jeweils einen Button enthalten. Die Buttons haben wir buttonSettings und buttonHome genannt. Nun erstellen wir unsere Code Datein für die Fragmente. Dazu erstellen wir direkt in userem Projekt 2 Fragmente:
[Only registered and activated users can see links. Click Here To Register...] Den Code der Dateien ändern wir wie folgt ab:
Schritt 4: Unsere erstellten Fragmente der MainActivity zuweisen Dies ist der letzte Schritt. Wir müssen unsere Fragmente jetzt der MainActivity zuweisen, sodass wir zwischen ihnen navigieren können. Außerdem müssen wir unsere Resource\layout\activity_main.axml anpassen, damit sie unsere Fragmente anzeigen kann. Wir öffnen Resource\layout\activity_main.axml und fügen ein FrameLayout ein. Diesem FrameLayout können wir dann unsere Fragmente zuweisen Der Code sieht wie folgt aus: Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/navigation" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
android:background="?android:attr/windowBackground"
android:layout_alignParentBottom="true"
app:menu="@menu/navigation" />
</RelativeLayout>
Code:
// Liste unserer Fragmente definieren
List<Android.Support.V4.App.Fragment> fragments;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// unser Layout \Resource\layout\activity_main.axml laden
SetContentView(Resource.Layout.activity_main);
fragments = new List<Android.Support.V4.App.Fragment>(); // Liste erstellen
fragments.Add(new FragmentHome()); // FragmentHome hinzufügen
fragments.Add(new FragmentSettings()); // FragmentSettings hinzufügen
// Lade start Fragment (In unserem Fall FragmentHome)
SupportFragmentManager.BeginTransaction()
.Replace(Resource.Id.content_frame, fragments[0])
.Commit();
// Unter Navigationsleiste holen und Click Event Handler setzen
// event Methode public bool OnNavigationItemSelected(IMenuItem item)
BottomNavigationView navigation = FindViewById<BottomNavigationView>(Resource.Id.navigation);
navigation.SetOnNavigationItemSelectedListener(this);
}
public bool OnNavigationItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
// Navigationsitem Home (Übersicht) wurde gedrückt
case Resource.Id.navigation_home:
// Lade Übersichtsfragment
SupportFragmentManager.BeginTransaction()
.Replace(Resource.Id.content_frame, fragments[0])
.Commit();
return true;
// Navigationsitem Settings (Einstellungen) wurde gedrückt
case Resource.Id.navigation_settings:
// Lade Einstellungsfragment
SupportFragmentManager.BeginTransaction()
.Replace(Resource.Id.content_frame, fragments[1])
.Commit();
return true;
}
return false;
}
Demo Video
GitHub [Only registered and activated users can see links. Click Here To Register...] Schritt 1: Projekt öffnen Als erstes öffnen wir unser erstelltes Projekt aus den letzten Tutorial Video. Du kannst es auch hier im Ordner FirstApp finden [Only registered and activated users can see links. Click Here To Register...] Unser Projekt besteht zurzeit aus einer Activity die zwischen 2 Fragmenten navigiert. Beide Fragmente besitzen jeweils einen Button. Einmal Resource.Id.buttonHome und Resource.Id.buttonSettings. Schritt 2: Dem Button Click EventHandler eine Methode zuweisen Wir öffnen unsere Dateien.
Wenn wir jetzt dem Button Click EventHandler eine Methode zuweisen möchten, müssen wir das jeweilige Button Control erstmal finden. Das machen wir mittels Code:
view.FindViewById<Button>(Resource.Id.buttonHome) Code:
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
// Hier erstelllen wir unser View Objekt
View view = inflater.Inflate(Resource.Layout.fragment_home, container, false);
return view;
}
Code:
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
// Hier erstelllen wir unser View Objekt
View view = inflater.Inflate(Resource.Layout.fragment_home, container, false);
// Hole Button Control
Button btnHome = view.FindViewById<Button>(Resource.Id.buttonHome);
// Weise dem Click EventHandler die Methode OnClickButton(sender, e) zu
btnHome.Click += OnClickButton;
return view;
}
Code:
void OnClickButton(object sender, EventArgs e)
{
// Einfachen Toast erstellen
// Toast.MakeText benötigt den Context einer Activity. Da wir uns aber in einer Fragment Datei befinden geben wir Activity als parameter an.
Toast.MakeText(Activity, "Übersicht", ToastLength.Long).Show();
}
Wir sind fertig und können jetzt unser Projekt starten. Klicken wir jetzt auf einen der Buttons sollte unsere Methode ausgeführt werden und es sollte unten am Bildschirm ein Meldetext erscheinen. Weitere Tutorials zu dieser Reihe sind in Arbeit :)
Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. SEO by vBSEO ©2011, Crawlability, Inc. |