Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Android Aims to bring Internet-style innovation and openness to mobile phones.
All About Android Introduction to Android 1. Creating a New App “These aren’t the droids we’re looking for.” Obi-wan Kenobi 1. Bring up Eclipse. 2. Click.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Basic, Basic, Basic Android. What are Packages? Page 346 in text Package statement goes before any import statements Indicates that the class declared.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Android Application Development with Java UPenn CS4HS 2011 Chris Murphy
Setting up the Development Environment Copyright © SUPINFO. All rights reserved Preparation.
Android Development (Basics)
@2011 Mihail L. Sichitiu1 Android Introduction Hello World.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Chien-Chung Shen Manifest and Activity Chien-Chung Shen
Better reference the original webpage :
Mobile Programming Lecture 1 Getting Started. Today's Agenda About the Eclipse IDE Hello, World! Project Android Project Structure Intro to Activities,
Android development the first app. Andoid vs iOS which is better? Short answer: neither Proponents on both sides For an iOS side, see this article on.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
DUE Hello World on the Android Platform.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Android - Broadcast Receivers
Networking: Part 1 (Web Content). Networking with Android Android provides A full-featured web browser based on Chromium, the open source browser engine.
Creating an Example Android App in Android Studio Activity lifecycle & UI Resources.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Android Boot Camp Demo Application – Part 1. Development Environment Set Up Download and install Java Development Kit (JDK) Download and unzip Android.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
 Installation of Android Development Environment  Creating the App with OpenGL ES API  Running the App on Emulator Android App Development.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
HW#9 Clues CSCI 571 Fall, HW#9 Prototype
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
TCS Internal Maps. 2 TCS Internal Objective Objective :  MAPS o Integration of Maps.
BUILDING A SIMPLE USER INTERFACE. In this lesson, you create a layout in XML that includes a text field and a button. In the next lesson, your app responds.
Google map v2.
CMPE419 Mobile Application Development Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren
Android apps development - Eclipse, Android SDK, and ADT plugin Introduction of.
CMPE419 Mobile Application Development Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren
Android Programming.
Lab7 – Appendix.
Introduction to android
Android Programming - Features
Android Introduction Hello World
Android Application Development 1 6 May 2018
GUI Programming Fundamentals
Android 4: Second Project, Echoing
Android 4: Second Project, Echoing
Android 4: A Second Project
Android Widgets 1 7 August 2018
CIS 470 Mobile App Development
CIS 470 Mobile App Development
CIS 470 Mobile App Development
CIS 470 Mobile App Development
CMPE419 Mobile Application Development
BMI Android Application will take weight and height from the users to calculate Body Mass Index (BMI) with the information, whether user is underweight,
HNDIT2417 Mobile Application Development
CIS 470 Mobile App Development
CIS 470 Mobile App Development
CIS 470 Mobile App Development
Adding Components to Activity
Building a Simple User Interface
CMPE419 Mobile Application Development
CMPE419 Mobile Application Development
Android Sensor Programming
Android Sensor Programming
CIS 694/EEC 693 Android Sensor Programming
CIS 694/EEC 693 Android Sensor Programming
Presentation transcript:

Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University Tamkang University SMAP03 TLMXM1A (8687) (M2143) (Fall 2015) (MIS MBA) (2 Credits, Elective) [Full English Course] Wed 9,10 (16:10-18:00) B310 Developing Android Native Apps with Java (Android Studio) (MIT App Inventor)

Course Schedule (1/3) Week Date Subject/Topics /09/16 Course Orientation and Introduction to Social Media and Mobile Apps Programming /09/23 Introduction to Android / iOS Apps Programming /09/30 Developing Android Native Apps with Java (Android Studio) (MIT App Inventor) /10/07 Developing iPhone / iPad Native Apps with Swift (XCode) /10/14 Mobile Apps using HTML5/CSS3/JavaScript /10/21 jQuery Mobile 2

Course Schedule (2/3) Week Date Subject/Topics /10/28 Create Hybrid Apps with Phonegap /11/04 jQuery Mobile/Phonegap /11/11 jQuery Mobile/Phonegap /11/18 Midterm Exam Week (Midterm Project Report) /11/25 Case Study on Social Media Apps Programming and Marketing in Google Play and App Store /12/02 Google Cloud Platform 3

Course Schedule (3/3) Week Date Subject/Topics /12/09 Google App Engine /12/16 Google Map API /12/23 Facebook API (Facebook JavaScript SDK) (Integrate Facebook with iOS/Android Apps) /12/30 Twitter API /01/06 Final Project Presentation /01/13 Final Exam Week (Final Project Presentation) 4

Android /iOS Apps Programming 5 Native Apps Mobile Web Apps Hybrid Apps

App Development Comparison 6 Source: Web Apps Hybrid Apps Native Apps Full Fast Mandatory Expensive Partial Very Fast Available Reasonable Not Available None Reasonable Available Native Speed as Necessary Full Low Overhead Device Access Speed Development Cost App Store Approval Process

Outline Developing Android Native Apps with Java – Android Studio – Eclipse – Android Developer Tools (ADT) Bundle – Building Your First Android App MIT App Inventor 7

Native App Development 8 Source:

Android - Native App Development 9 Source:

10 Native App – Interaction with Mobile Device Source:

11 Android

12 Android

Android 5.1 Lollipop 13 Source:

14 Android Platform Data collected during a 7-day period ending on September 7, 2015.

Android Platform 15 Data collected during a 7-day period ending on September 7, 2015.

Android Screen Sizes and Densities 16 Data collected during a 7-day period ending on September 7, 2015.

Android Screen Sizes and Densities 17

Android Development Environment 18 Android Native Apps JDK (Java Development Kit) Android Studio

19 JDK (Java Development Kit) 1

Android Studio

Android Development Environment 21 Android Native Apps JDK (Java Development Kit) ADT Bundle (Android Developer Tools Bundle) (Eclipse + ADT plugin + Android SDK + Android Platform + emulator ) ADT Bundle (Android Developer Tools Bundle) (Eclipse + ADT plugin + Android SDK + Android Platform + emulator )

JDK (Java Development Kit)

ADT Bundle

Option 1. Eclipse ADT Bundle Option 2. Android Studio 24 Eclipse ADT Bundle Android Studio

Building Your First Android App 1.Download the Android SDK. – Install the ADT plugin for Eclipse 3.Download the latest SDK tools and platforms using the SDK Manager. 25 ADT Bundle (Android Developer Tools Bundle) (Eclipse + ADT plugin + Android SDK + Android Platform + emulator ) ADT Bundle (Android Developer Tools Bundle) (Eclipse + ADT plugin + Android SDK + Android Platform + emulator )

ADT Bundle ADT (Android Developer Tools) With a single download, the ADT Bundle includes everything you need to begin developing apps: 1.Eclipse + ADT plugin 2.Android SDK Tools 3.Android Platform-tools 4.The latest Android platform 5.The latest Android system image for the emulator 26

ADT 27

28 Get the Android SDK Eclipse ADT Bundle

Installing the Eclipse ADT Bundle 1.Unpack the ZIP file (named adt-bundle-.zip) and save it to an appropriate location, such as a "Development" directory in your home directory. 2.Open the adt-bundle- /eclipse/ directory and launch Eclipse. 29 Source:

Get Android Studio Beta Android Studio is a new IDE powered by IntelliJ that provides new features and improvements over ADT. It's currently in beta but will be the official Android IDE once it's ready. If you're a new Android developer, you should consider starting with Android Studio, because the ADT plugin for Eclipse is no longer in active development. 30 Source:

31 Source:

32 Source:

33 Source:

34 Source:

35 Source:

36 Source:

37 Source:

38 Source:

Android App Building Blocks 39 Source: Activity Service Content Provider Broadcast Receiver

Android App Building Blocks 40 Source: Activity Service Content Provider Broadcast Receiver Intent activated by an asynchronous message

Android App Building Blocks 41 Source: Activity Service Content Provider Broadcast Receiver a single screen with a user interface

Android App Building Blocks 42 Source: Activity Service Content Provider Broadcast Receiver runs in the background to perform long- running operations or to perform work for remote processes

Android App Building Blocks 43 Source: Activity Service Content Provider Broadcast Receiver responds to system-wide broadcast announcements

Android App Building Blocks 44 Source: Activity Service Content Provider Broadcast Receiver manages a shared set of application data

Developing Android Apps 1.Screen Layout Design: Views and Layouts – Graphical Layout – activity_main.xml 2.App Components (Activity) Programming – MainActivity.java 45

Building a Simple User Interface Create a Linear Layout Add a Text Field Add String Resources Add a Button Make the Input Box Fill in the Screen Width 46 Source:

Building a Simple User Interface 47 ViewGroup View ViewGroup Source:

Building a Simple User Interface 48 Source: ViewGroup View ViewGroup TextView View Button View

Android App Activity Lifecycle 49 Source:

The development process for Android applications 50 Source:

51 1. Setup

52 2. Development

53 3. Debugging and Testing

54 4. Publishing

Demo: Building Your First Android App with Android Studio 55

My First Android App 56

Java SE Development Kit (JDK) 57

58 Java SE Development Kit (JDK)

59 Java SE Development Kit (JDK)

60 Java SE Development Kit (JDK)

Java Development Kit 61

Install JDK 8 62

63 Install JDK 8

64 Install JDK 8

65 Install JDK 8

Android Studio 66

67 Android Studio

68 Android Studio

69 Android Studio

70 Installing Android Studio

71

Android Studio 72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

My First Android App 108

Demo: Building Your First Android App with Android Developer Tools (ADT) 109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

activity_main.xml 143 <LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <EditText android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="sendMessage" />

activity_display_message.xml 144 <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".DisplayMessageActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" />

strings.xml 145 My First App Settings Hello world! Enter a message Send MainActivity My Message

AndroidManifest.xml 146 <manifest xmlns:android=" package="tw.edu.tku.im.smap2013.imyday.myfirstapp" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" > <activity android:name="tw.edu.tku.im.smap2013.imyday.myfirstapp.MainActivity" > <activity android:name="tw.edu.tku.im.smap2013.imyday.myfirstapp.DisplayMessageActivity" android:parentActivityName="tw.edu.tku.im.smap2013.imyday.myfirstapp" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="tw.edu.tku.im.smap2013.imyday.myfirstapp" />

DisplayMessageActivity.java 147 package tw.edu.tku.im.smap2013.imyday.myfirstapp; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.support.v4.app.NavUtils; import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.os.Build; import android.content.Intent; import android.widget.TextView; public class DisplayMessageActivity extends protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_message); // Show the Up button in the action bar. setupActionBar(); //Get the message from the intent Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); //Great the text view TextView textView = new TextView(this); textView.setTextSize(40); textView.setText(message); setContentView(textView); } …

MainActivity.java 148 package tw.edu.tku.im.smap2013.imyday.myfirstapp; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.content.Intent; import android.widget.EditText; public class MainActivity extends Activity { public final static String EXTRA_MESSAGE = protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } /** Called when the user clicks the Send button */ public void sendMessage(View view) { Intent intent = new Intent(this, DisplayMessageActivity.class); EditText editText = (EditText) findViewById(R.id.edit_message); String message = editText.getText().toString(); intent.putExtra(EXTRA_MESSAGE, message); startActivity(intent); }

149 /** * Set up the android.app.ActionBar}, if the API is available. private void setupActionBar() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { getActionBar().setDisplayHomeAsUpEnabled(true); public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.display_message, menu); return true; public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // This ID represents the Home or Up button. In the case of this // activity, the Up button is shown. Use NavUtils to allow users // to navigate up one level in the application structure. For // more details, see the Navigation pattern on Android Design: // // // NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); } DisplayMessageActivity.java

Alternatives for Developing Android Apps MIT App Inventor – drag-and-drop Android app development tool. – Appery.io – develop apps for Android (iOS / Windows Phone). – Appnotch – drag-and-drop service that allows you to develop apps for Android (iOS). –

151 MIT App Inventor

appery.io 152

153 appery.io

154 Appnotch

References Android Developer: MIT App Inventor: Native, Web or Hybrid Mobile Apps?,