首页 android_tutorial

android_tutorial

举报
开通vip

android_tutorial BEGIN ANDROID JOURNEY IN HOURS CS425 / CSE 424 / ECE 428 [Fall 2009] Sept. 14, 2009 Ying Huang REFERENCE  Online development guide  http://developer.android.com/guide/index.html  Book resource  “Professional Android Application Development”, by Re...

android_tutorial
BEGIN ANDROID JOURNEY IN HOURS CS425 / CSE 424 / ECE 428 [Fall 2009] Sept. 14, 2009 Ying Huang REFERENCE  Online development guide  http://developer.android.com/guide/index.html  Book resource  “Professional Android Application Development”, by Reto Meier, (Wrox, amazon link)  “Android A programmers guide”, by J.F. DiMarzio, (McGraw Hill, amazon link)  “Beginning.Android”, by Mark L. Murphy, (Apress, amazon link)  “Pro Android”, by Sayed Y. Hashimi, Satya Komatineni, (Apress, amazon link) MOBILE OS  Symbian  iPhone  RIM's BlackBerry  Window mobile  Linux  Palm webOS  Android  …. WHAT IS ANDROID?  Google  OHA (Open Handset Alliance)  The first truly open and comprehensive platform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation.  Linux OS kernel  Java programming  Open source libraries: SQLite, WebKit, OpenGL WHY ANDROID  A simple and powerful SDK  No licensing, distribution, or development fees  Development over many platform  Linux, Mac OS, windows  Excellent documentation  Thriving developer community  For us  Java-based, easy to import 3rd party Java library  Funding (40+ G1 phones)  Prize (amazon’s kindle)  Job opportunity ANDROID SDK FEATURE  GSM, EDGE, and 3G networks, WiFi, Bluetooth  API Support for Bluetoothe, WiFi Ad hoc mode  Libraries  Media, SQLite, WebKit, SSL  Hardware control:  Accelerometer, compass, microphone, camera, GPS  touch screen, power  Location-based service, map (Google API) TOOLS  The Android Emulator  Implementation of the Android virtual machine  Test and debug your android applications.  Dalvik Debug Monitoring Service (DDMS)  Monitor and Control the Dalvik virtual machines  Logcat (see logged msgs)  Android Debug Bridge (ADB)  Manage the state of an emulator instance or Android-powered device  Copy files, install compiled application packages, and run shell commands.  Traceview  Graphical analysis tool for viewing the trace logs from your Android application  Debug your application and profile its performance  MkSDCard  Creates an SDCard disk image RUN TWO NETWORKING EMULATORS IN A COMPUTER (UPDATED) - ADB  Q: run two networking emulators in a computer A using the public IP address of A, during debugging and demo?  A1: telnet + redir (MP1 doc)  A2: adb forward  1) Port forward to connect Android from localhost  abd –s emulator-5554 forward tcp:15216 tcp:15216  2) Use a proxy server which can listen on my_public_ip:15216 and forward the data to localhost:15216  stcppipe localhost 15216 15216 E1 E2 M1 MP1 Underlying Infrastructure-based WiFi /TCP/IP Network G1 Phone (Peer) Peer Registration Server Peer Peer MP1 PROJECT STRUCTURE Registration PeerList Messaging ANDROID APPLICATION ARCHITECTURE  Views:  Building block for user interface components.  Activities  A single, focused thing that the user can do.  Interaction with users: creating a window to place UI  full-screen windows, floating windows, embedded inside of another activity  Ex: Registration, Peerlist, Messaging GUI View Activity Intent Service Thread Resource ANDROID APPLICATION ARCHITECTURE  Services (Background)  Ex: Network Operation  Intent  Inter-communication among activities or services  Resource  Externalization of strings and graphics  Notification  signaling users: Light, sound, icon, dialog, notification  Ex: new message arrives  Content Providers  share data between applications Activity Activity Intent View Activity Intent Service Thread Resource VIEW  Layout of visual interface  Java Code  Initialize  Access TextView myTextView = (TextView)findViewById(R.id.myTextView); @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.screen); } screen.xml View Activity Intent Service Thread Resource VIEW COMPONENT Widget Toolbox  TextView, EditText,Button, Form, TimePicker…  ListView (PeerList)  Update list by arrays  ArrayAdapter  myListView.setAdapter  Layout Positions of controls LinearLayout, Relativelayout  http://developer.android.com/guide/tutorials/views/index.html Menu  Exit app View Activity Intent Service Thread Resource ACTIVITY  Foreground Activity: suspended when invisible  Visual, interactive  Ex: Game, Map  Background Service: Little interaction  Ex: Hardware, power management  Intermittent Activity  Notification, service  Expects some interactivity but does most of its work in the background. Network Operation Management Registration Peer List Messaging View Activity Intent Service Thread Resource USER INTERACTION EVENT  onKeyDown. onKeyUp  onTrackBallEvent  onTouchEvent myEditText.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN) if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { … return true; } return false; }});} registerButton.setOnClickListener(new OnClickListener() { public void onClick(View arg0) {….}} View Activity Intent Service Thread Resource APPLICATION AND COMPONENT GLUES  An intent is an abstract description of an operation to be performed.  Launch an activity  Explicit  Implicit: Android selects the best  startActivity();  Subactivity: feedback  Child: use intent as feedback, setResult  Parent: onActivityResult  startActivityForResult  Action, data, extra parameter  intent.putExtra(name, property); Ex: Intent intent = new Intent(MyActivity.this, MyOtherActivity.class); Im: Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(“tel:555-2368”)); View Activity Intent Service Thread Resource INTENT (CNTD.)  Broadcast  announce application events system-wide  sendBroadcast  MyBroadcastReceiver extends BroadcastReceiver  registerReceiver (in java / in xml)  Intent Filter  Register Activities, Services, and Broadcast Receivers as being capable of performing an action on a particular kind of data. Manifest.xml View Activity Intent Service Thread Resource INTENT FROM PEERLIST TO MESSAGING PeerList Messaging Select a peer Send Intent View Activity Intent Service Thread Resource WORKING IN BACKGROUND  Services  NO GUI, higher priority than inactive Activities  Usage:  responding to events, polling for data, updating Content Providers.  However, all in the main thread  Background threads View Activity Intent Service Thread Resource SERVICE  Service class  public class MyService extends Service  public void onStart() {…}  Manifest.xml   Control  startService  stopService  Communication  Bind service with activity: use public method and properties  Intent View Activity Intent Service Thread Resource THREADING  Being Responsive (1sec)  Respond to any user action within 5 seconds.  A Broadcast Receiver must return within 10 seconds.  What to thread?  Network, file IO, Complex processing  How?  New Thread  Synchronize threads  Handler.post() MP1 THREADING STRUCTURE  Is it enough? GUI Acitivty Network Service Server SocketServer SocketServer Socket Spawn Thread PERIODICAL REGISTER WITH SERVER  Every 15 seconds  How to update PeerList on PeerList GUI?  Intent Timer ACTIVITY LIFETIME  Android apps do not control their lifetime.  Active (Foreground) - Paused (FG, lose focus) - Stopped (invisible) – Inactive (kill, exit) create Services and threads Broadcast Receivers exclusively used to update UI threads, processes, or Broadcast Receivers < android:name=".services.IMService" /> < > DECLARATION OF APP – MANIFEST.XML  Service  Activity (intent-filter)  Permission  Don’t forget. Otherwise, your socket programming won’t run EXTERNAL RESOURCES  values/  String, color, array, dimension, style theme  drawables/  Image  layout/  screen.xml View Activity Intent Service Thread Resource DEBUG  System.err.println()  Package - android.util.Log  View results  Logcat  Eclipse IDE DEBUG ON DEVICE  On device  Debug mode  On desktop  Connect your G1 with your PC  When it asks for driver location choose  For windows, android-sdk-windows-1.5_r3\usb_driver\x86\  You'll see sth like "HTC Dream Composite ADB Interface" on success  (Re)Start Eclipse  Your G1 should now be listed in the DDMS-Perspective under Device  Reference: [http://www.anddev.org/debugging- installing_apps_on_the_g1_windows_driver- t3236.html] INSTALL PACKAGE TO ANDROID PHONES  Compile the apk packages in Eclipse  Export signed application package  adb install …apk  Error: uninstall OTHER TIPS  Automatic imports of packages In Eclipse, cmd-shift-o or ctrl-shift-o  Start as early as possible  Possible task partition for a group  P1: GUI, activity, intent  P2: network service  P3: integration DEMO DALVIK DEBUG MONITORING SERVICE ANDROID DEBUG BRIDGE (ADB) Begin Android Journey�In HourS Reference Mobile OS What is Android? Why Android Android SDK Feature Tools run two networking emulators in a computer (Updated) - ADB MP1 MP1 Project Structure Android Application Architecture Android Application Architecture View View Component Activity User Interaction Event Application and Component Glues Intent (Cntd.) Intent from Peerlist to Messaging Working in Background Service Threading MP1 Threading Structure Periodical Register with Server Activity Lifetime Declaration of App – Manifest.xml External Resources Debug Debug on Device Install package to Android Phones Other Tips Demo Dalvik Debug Monitoring Service Android Debug Bridge (ADB)
本文档为【android_tutorial】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_822064
暂无简介~
格式:pdf
大小:904KB
软件:PDF阅读器
页数:34
分类:互联网
上传时间:2012-02-20
浏览量:15