2. Installieren des MySQL Workbench (Version 5.2.43) 3. Unter Database > Manage Connection folgende Werte eintragen



Similar documents
MAP524/DPS924 MOBILE APP DEVELOPMENT (ANDROID) MIDTERM TEST OCTOBER 2013 STUDENT NAME STUDENT NUMBER

Arduino & Android. A How to on interfacing these two devices. Bryant Tram

MMI 2: Mobile Human- Computer Interaction Android

Developing an Android App. CSC207 Fall 2014

Presenting Android Development in the CS Curriculum

Tutorial #1. Android Application Development Advanced Hello World App

Getting Started: Creating a Simple App

Android Programming. Android App. Høgskolen i Telemark Telemark University College. Cuong Nguyen,

Android Development Tutorial

HERE SDK for Android. Developer's Guide. Hybrid Plus Version 2.1

Developing Android Apps: Part 1

Tutorial: Setup for Android Development

Based on Android 4.0. by Lars Vogel. Version 9.8. Copyright 2009, 2010, 2011, 2012 Lars Vogel Home Tutorials Trainings Books Social

Android Introduction. Hello Mihail L. Sichitiu 1

Android App Development. Rameel Sethi

Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development.

Introduction to Android SDK Jordi Linares

Les fragments. Programmation Mobile Android Master CCI. Une application avec deux fragments. Premier layout : le formulaire

Getting Started with Android

ADITION Android Ad SDK Integration Guide for App Developers

Performance - Optimierung. mit und ohne Android Developer Tools. Dominik Helleberg

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

HERE SDK for Android. Developer's Guide. Online Version 2.1

How To Develop Smart Android Notifications using Google Cloud Messaging Service

ANDROID AS A PLATFORM FOR DATABASE APPLICATION DEVELOPMENT

Android Java Live and In Action

Android Persistency: Files

2. Click the download button for your operating system (Windows, Mac, or Linux).

Saindo da zona de conforto resolvi aprender Android! by Daniel Baccin

4. The Android System

Android Development. 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系

Chapter 2 Getting Started

Developing Android Applications: Case Study of Course Design

Chapter 9 Java and SQL. Wang Yang wyang@njnet.edu.cn

By sending messages into a queue, we can time these messages to exit the cue and call specific functions.

Getting Started With Android

Create Your Own Android App Tools Using ArcGIS Runtime SDK for Android

Java and Databases. COMP514 Distributed Information Systems. Java Database Connectivity. Standards and utilities. Java and Databases

Android Application Development. Yevheniy Dzezhyts

AdFalcon Android SDK Developer's Guide. AdFalcon Mobile Ad Network Product of Noqoush Mobile Media Group

Erste Schritte mit mysql. Der Umgang mit einer relationalen Datenbank

ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI /19/14 HANNAH MILLER

CSE476 Mobile Application Development. Yard. Doç. Dr. Tacha Serif Department of Computer Engineering Yeditepe University

Developing apps for Android OS: Develop an app for interfacing Arduino with Android OS for home automation

Android Quiz App Tutorial

Using Netbeans and the Derby Database for Projects Contents

J2EE-Application Server

Android Programming Basics

How to develop your own app

JDBC. It is connected by the Native Module of dependent form of h/w like.dll or.so. ex) OCI driver for local connection to Oracle

Supplement IV.C: Tutorial for Oracle. For Introduction to Java Programming By Y. Daniel Liang

ANDROID TUTORIAL. Simply Easy Learning by tutorialspoint.com. tutorialspoint.com

Tutorial: Programming in Java for Android Development

ELET4133: Embedded Systems. Topic 15 Sensors

@ME (About) Marcelo Cyreno. Skype: marcelocyreno Linkedin: marcelocyreno Mail:

Building Your First App

A software stack for mobile devices:

Supplement IV.D: Tutorial for MS Access. For Introduction to Java Programming By Y. Daniel Liang

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 2 Android Platform. Marco Picone

Android Basics. Xin Yang

Android App Development Lloyd Hasson 2015 CONTENTS. Web-Based Method: Codenvy. Sponsored by. Android App. Development

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

App Development for Smart Devices. Lec #4: Services and Broadcast Receivers Try It Out

Dial-Up VPN auf eine Juniper

How to build your first Android Application in Windows

CS2506 Operating Systems II Lab 8, 8 th Tue/03 /2011 Java API

Android Services. Services

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources. Recap: TinyOS. Recap: J2ME Framework

A Case Study of an Android* Client App Using Cloud-Based Alert Service

Android Application Development: Hands- On. Dr. Jogesh K. Muppala

directory to "d:\myproject\android". Hereafter, I shall denote the android installed directory as

Create Android apps that stand out from the crowd. Android. Best Practices. Godfrey Nolan Onur Cinar David Truxall

Prof. Edwar Saliba Júnior

LSINF1124 Projet de programmation

23442 ECE Introduction to Android Mobile Programming ECE Special Topics: Android Mobile Programming

Android Development. Marc Mc Loughlin

CS/CE 2336 Computer Science II

Create a Database Driven Application

Android For Java Developers. Marko Gargenta Marakana

Mobile App Sensor Documentation (English Version)

Android Bootcamp. Elaborado (com adaptações) a partir dos tutoriais:

Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 03 (Nebenfach)

Tutorial for developing the Snake Game in Android: What is Android?

Android Programming. An Introduction. The Android Community and David Read. For the CDJDN April 21, 2011

Android Development for External Displays: A Busy Coder's Guide

Database Access from a Programming Language: Database Access from a Programming Language

Database Access from a Programming Language:

Mini Project Report ONLINE SHOPPING SYSTEM

Advantages. manage port forwarding, set breakpoints, and view thread and process information directly

Transcription:

1. Setup 1. Mit dieser Anleitung (http://www.unimarburg.de/fb12/sys/services/svc_more_html#svc_sql) eine Datenbank einrichten. 2. Installieren des MySQL Workbench (Version 5.2.43) 3. Unter Database > Manage Connection folgende Werte eintragen login.mathematik.uni-marburg.de Dein Username ab FB12 (Unix) mysql.mathematik.uni-marburg.de Dein Username ab FB12 (Unix) 4. Zweimal das UNIX-Passwort eingeben 5. Eigen Datenbank (Username) suchen und durch Doppelklick auswählen

6. Eine Tabelle anlegen: CREATE TABLE customer (First_Name char(50), Last_Name char(50), Address char(50), City char(50), Country char(25), Birth_Date date) 7. Einen Datensatz anlagen: INSERT INTO customer (First_Name,Last_Name,Address,City,Country,Birth_Date) VALUES ('John','Doe','Hans-Meerwein Strasse','Marburg','Germany','1970-01-10'); 8. Resultat kontrollieren SELECT * FROM customer; 2. Android Client 1. In der AndroidManifest.xml den Folgenden Eintrag hinzufügen: <uses-permission android:name="android.permission.internet"></usespermission> 2. Im Java Build-Path müssen die Bibliotheken a. Jsch-0.1.49.jar (SSH) http://stackoverflow.com/questions/1968293/connect-toremote-mysql-database-through-ssh-using-java b. Mysql-connector-java-3.0.17-ga-bin.jar (JBCD) eingebunden und exportiert werden.

3. Folgendes Layout anlegen <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" tools:context=".mainactivity" > <EditText android:id="@+id/edittext1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button1" android:layout_alignparentleft="true" android:layout_alignparentright="true" android:layout_alignparenttop="true" android:ems="10" android:inputtype="textmultiline" > <requestfocus /> </EditText> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentbottom="true" android:layout_alignparentright="true" android:text="verbindungstest..." /> </RelativeLayout> 4. Folgende Activity Klasse package com.example.datenbankzugriff; import com.example.datenbankzugriff.r; import android.os.bundle; import android.app.activity; import android.view.menu; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.textview; public class MainActivity extends Activity { TextView edittext = null; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); final Button button = (Button) findviewbyid(r.id.button1); edittext = (EditText) findviewbyid(r.id.edittext1); button.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { connect(); );

public void connect(){ ConnectionTask connectiontask = new ConnectionTask(); connectiontask.execute(); try { edittext.settext(connectiontask.get()); catch (Exception e) { edittext.settext((charsequence) e); @Override public boolean oncreateoptionsmenu(menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.activity_main, menu); return true; 5. Die Connection Task Klasse package com.example.datenbankzugriff; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.statement; import java.util.hashtable; import android.os.asynctask; import com.jcraft.jsch.jsch; import com.jcraft.jsch.session; class ConnectionTask extends AsyncTask<Void, Integer, String> { // JDBC driver name and database URL static final String JDBC_DRIVER = "com.mysql.jdbc.driver"; //external database connection static final String DB_URL = "jdbc:mysql://localhost:3399/svaupel"; static final String USER = "svaupel"; static final String PASS = ""; //ssh connection static final String ssh_user = "svaupel"; static final String ssh_server = "137.248.122.61"; // login.mathematik.uni-marburg.de static final String ssh_pass = PASS; static final int ssh_port = 22; static final String rhost = "137.248.123.188"; // mysql.mathematik.uni-marburg.de static final int rport = 3306; static final int lport = 3399; protected String doinbackground(void... params) {

Session session = null; Connection conn = null; Statement stmt = null; String log = ""; try { // SSH Connection log = log + "\n"+"connecting to ssh-login..."; final JSch jsch = new JSch(); session = jsch.getsession(ssh_user, ssh_server, ssh_port); log = log + "\n"+"got session..."; final Hashtable<String, String> config = new Hashtable<String, String>(); config.put("stricthostkeychecking", "no"); session.setconfig(config); log = log + "\n"+"session setted..."; log = log + "\n"+"session set ssh-password..."; session.setpassword(ssh_pass); session.connect(); log = log + "\n"+"session connected..."; rport); int assigned_port = session.setportforwardingl(lport, rhost, log = log + "\n"+"port forwarding was successful..."; // MySQL Connection Class.forName(JDBC_DRIVER); log = log + "\n"+"connecting to a selected database..."; conn = DriverManager.getConnection(DB_URL, USER, PASS); log = log + "\n"+"connected database successfully..."; log = log + "\n"+"creating statement..."; stmt = conn.createstatement(); log = log + "\n"+"created statement successfully...\n"; log = log + "\n"+"---------------------------------\n"; String sql; sql = "SELECT * FROM customer"; //sql = "INSERT INTO customer (First_Name,Last_Name,Address,City,Country,Birth_Date) VALUES ('John','Doe','Hans-Meerwein Strasse','Marburg','Germany','1970-01-10');"; stmt = conn.createstatement(); ResultSet resultset = stmt.executequery(sql); while (resultset.next()){ log = log + resultset.getstring("first_name") +", "+ resultset.getstring("last_name") +"\n"; catch (Exception e) { log = log +"/n"+e;

return log; 6. Ergebnis