Presentation is loading. Please wait.

Presentation is loading. Please wait.

Client / Server Programming in Android Eclipse IDE Android Development Tools (ADT) Android SDK

Similar presentations


Presentation on theme: "Client / Server Programming in Android Eclipse IDE Android Development Tools (ADT) Android SDK"— Presentation transcript:

1 Client / Server Programming in Android Eclipse IDE Android Development Tools (ADT) Android SDK http://www.vogella.com/articles/Android/article.html

2 TCP Echo Client (1) cs423- cotter2

3 Android Mobile Development 1.Install Eclipse IDE 2.Install Android Development Tools (ADT) 3.Install Android SDK 4.Install specific Android Versions through SDK Manager 5.Create / install an Android Virtual Device (AVD) cs423- cotter3

4 Android SDK / AVD Managers cs423- cotter4

5 Android SDK Manager cs423- cotter5

6 AVD Manager cs423- cotter6

7 From file menu, select “New” then “Project” cs423- cotter7

8 Identify project name cs423- cotter8

9 Identify the desired SDK (based on the target device) cs423- cotter9

10 Provide a unique package name (reverse Domain Name + project) cs423- cotter10

11 Empty Project Configuration cs423- cotter11

12 Main.xml – Graphical Layout Empty Project cs423- cotter12

13 Main.xml – Graphical Layout Completed Project cs423- cotter13

14 Main.xml cs423- cotter14

15 EchoClientActivity.xml cs423- cotter15

16 Strings.xml cs423- cotter16

17 AndroidManifest.xml cs423- cotter17

18 Base Android 2.2 Phone VD cs423- cotter18

19 Base Android 2.2 Phone VD cs423- cotter19

20 UDP Echo Client (1) cs423- cotter20

21 UDP Echo Client (2) cs423- cotter21

22 UDP Echo Client (3) cs423- cotter22

23 echoClient.apk cs423- cotter23

24 EchoClientActivity.java package edu.umkc.cotterr.echo; import android.app.Activity; android.os.Bundle; android.view.View; android.widget.EditText; android.widget.Toast; java.net.*; java.io.*; import edu.umkc.cotterr.echo.R; public class EchoClientActivity extends Activity { /** Called when the activity is first created. */ private EditText portNumber; private EditText hostName; private EditText inputMsg; private EditText resultMsg; private InetAddress ia; private Socket mySocket; private InputStream isIn; private PrintStream psOut; private byte abIn[]; cs423- cotter24

25 EchoClientActivity.java public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); hostName = (EditText) findViewById(R.id.editText1); portNumber = (EditText) findViewById(R.id.editText2); resultMsg = (EditText) findViewById(R.id.editText3); inputMsg = (EditText) findViewById(R.id.editText4); } cs423- cotter25

26 EchoClientActivity.java public void myEchoHandler(View view) { switch (view.getId()) { case R.id.button1: /* This is the connect button String sHostName = hostName.getText().toString(); int iPortNumber = Integer.parseInt(portNumber.getText().toString()); try { ia = InetAddress.getByName(sHostName); mySocket = new Socket (ia, iPortNumber); Toast.makeText(this,"We are now connected to: " + hostName + "\n", Toast.LENGTH_LONG).show(); } catch (Exception ex) { Toast.makeText(this,"Connect to " + hostName + "failed. Exception" + ex + "\n", Toast.LENGTH_LONG).show(); } break; cs423- cotter26

27 EchoClientActivity.java case R.id.button2: /* This is the send data button */ String sResponse, sTemp String sInputMsg = inputMsg.getText().toString(); int iNumRead; abIn = new byte[1024]; try { isIn = mySocket.getInputStream(); psOut = new PrintStream(mySocket.getOutputStream()); psOut.print(sInputMsg); iNumRead = isIn.read(abIn,0,1024); sTemp = new String(abIn, 0, iNumRead); sResponse = "We got back: " + sTemp; resultMsg.setText(sResponse); } catch (Exception ex) { Toast.makeText(this,"Send data failed. Exception" + ex + "\n", Toast.LENGTH_LONG).show(); } break; cs423- cotter27

28 EchoClientActivity.java case R.id.button3: // This is the quit button. String sTemp2; try { mySocket.close(); inputMsg.setText(""); sTemp2 = new String ("Goodbye..."); resultMsg.setText(sTemp2); } catch (Exception ex) { Toast.makeText(this,"Close socket failed. Exception“ + ex + "\n", Toast.LENGTH_LONG).show(); } } //end of switch } //end of myEchoHandler } //end of EchoClientActivity cs423- cotter28

29 R.java package edu.umkc.cotterr.echo; public final class R { public static final class attr { } public static final class color { public static final int backgroundColor=0x7f050000; } public static final class drawable { public static final int ic_launcher=0x7f020000; } public static final class layout { public static final int main=0x7f030000; } cs423- cotter29

30 R.java public static final class id { public static final int button1=0x7f060004; public static final int button2=0x7f060008; public static final int button3=0x7f060009; public static final int editText1=0x7f060001; public static final int editText2=0x7f060003; public static final int editText3=0x7f06000b; public static final int editText4=0x7f060006; public static final int linearLayout1=0x7f060007; public static final int textView1=0x7f060000; public static final int textView2=0x7f060002; public static final int textView3=0x7f060005; public static final int textView4=0x7f06000a; } cs423- cotter30

31 R.java public static final class string { public static final int ConvertButton=0x7f040002; public static final int DefaultHost=0x7f040003; public static final int DefaultPort=0x7f040004; public static final int app_name=0x7f040001; public static final int connectButton=0x7f040007; public static final int hello=0x7f040000; public static final int hostname=0x7f040005; public static final int input=0x7f040008; public static final int port=0x7f040006; public static final int quit=0x7f04000b; public static final int result=0x7f040009; public static final int send=0x7f04000a; } cs423- cotter31

32 main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent“ android:layout_height="fill_parent" android:background="@color/backgroundColor" android:orientation="vertical" > <TextView android:id="@+id/textView1“ android:layout_width="wrap_content“ android:layout_height="wrap_content" android:text="@string/hostname" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/editText1“ android:layout_width="201dp" android:layout_height="wrap_content“ android:hint="@string/DefaultHost“ android:inputType="text" > cs423- cotter32

33 main.xml <TextView android:id="@+id/textView2" android:layout_width="wrap_content“ android:layout_height="wrap_content" android:text="@string/port" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/editText2“ android:layout_width="73dp" android:layout_height="wrap_content" android:hint="@string/DefaultPort“ android:inputType="text" android:width="100dp" /> <Button android:id="@+id/button1" android:layout_width="wrap_content“ android:layout_height="wrap_content" android:onClick="myEchoHandler" android:text="@string/connectButton" /> cs423- cotter33

34 main.xml <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/input" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/editText4" android:layout_width="match_parent" android:inputType="text" android:layout_height="wrap_content" /> cs423- cotter34

35 main.xml <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="myEchoHandler" android:text="@string/send" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/quit" android:onClick="myEchoHandler"/> cs423- cotter35

36 main.xml <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/result" android:textAppearance="?android:attr/textAppearanceLarge" /> <EditText android:id="@+id/editText3" android:layout_width="match_parent" android:layout_height="wrap_content" android:height="100dp" android:inputType="textMultiLine" /> cs423- cotter36

37 strings.xml Hello World, EchoClientActivity! Bob\'s EchoClient #002864 Convert localhost 3456 Hostname Port Connect User Input Echo Results Send Echo Exit Echo cs423- cotter37

38 AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="edu.umkc.cotterr.echo" android:versionCode="1" android:versionName="1.0" > <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".EchoClientActivity" android:label="@string/app_name" > cs423- cotter38

39 Summary Android Development has strong support in Eclipse IDE Core Android language is Java, with a full library of Android classes cs423- cotter39


Download ppt "Client / Server Programming in Android Eclipse IDE Android Development Tools (ADT) Android SDK"

Similar presentations


Ads by Google