收藏 分销(赏)

android应用程序开发作业流程要点.doc

上传人:二*** 文档编号:4747932 上传时间:2024-10-11 格式:DOC 页数:18 大小:2.43MB
下载 相关 举报
android应用程序开发作业流程要点.doc_第1页
第1页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、目录1小结关键点12JAVA基础知识13ANDROID应用程序开发环境搭建24ANDROID应用程序目录结构55新建一个ANDROID应用66ANDROID四大组件及界面UI元素77ANDROID应用程序工作机制88ANDROID应用程序常见功效接口121 小结关键点1、 熟悉了解java面向对象编程思想及基础知识;2、 Android应用程序开发环境搭建;3、 了解Android应用程序目录结构;4、 新建一个android应用(Hello,Android World!)5、 熟悉Android四大组件及控件;6、 了解Android应用程序开发工作机制;7、 熟悉常见功效接口;2 Java

2、基础知识表一 JAVA语法和C语言语法对比C语言语法规则JAVA语言语法规则代码框架从main函数开始从main方法开始,不过必需是包含在类中,类名通常以大写字母开头,文件名和类名必需相同数据类型整型数: int、unsigned int 4字节 long int、unsigned long int 8字节浮点型:float 4字节 double 8字节字符型:char、signed char 1字节布尔类型:没有这类型字符串类型:没有这类型整数型:byte -1字节 short 2字节 int 4字节 long 8字节浮点型:float 4字节 double 8字节字符型:char 2字节

3、可当做无符号整型布尔型:boolean 不确定,只有true和false,存放空间取决于JAVA虚拟机实现字符串类型:String 变量、运算符略和C语言命令及运算规则基础一致语句结构略和C语言基础一致,但没有goto语句数组申明和创建:例:int m10;申明和创建:例:int m = new int10;常见修饰符static:略常量:#define COUNT 100static:和C语言相同常量:private final int count = 100; public static final int COUNT = 100;类定义无访问控制符 修饰符 class 类名属性申明方法申

4、明结构器申明访问控制符无public、private、protected对象属性初始化无类名 对象名 = new 结构器this关键字略参考相关书籍指针略无3 Android应用程序开发环境搭建使用工具:java jdk、android SDK、eclipse 、ADT插件方法一:一、 首先安装java jdk并设置环境变量;二、 将她人已经安装好eclipse、android SDK目录拷贝到自己电脑;三、 打开eclipse设置android SDK路径(配置ADT)。1、Eclipse开启后,选择Window Preferences.,在打开属性框,选择Android,以下图;能够看到:

5、 2、在 SDK location 中输入你 Android SDK 所在目录,然后按 Apply 按钮即可看到我们安装SDK包,以下图: 四、 android SDK配置1、在Eclipse中选择Window-Android SDK and AVD Manager ,或在android-sdk-windows文件夹中双击SDK Manager.exe,能够看到类似如界面: 2. 在上述界面中选择 Virtual Devices,按new 按钮创建虚拟设备,输入以下图所表示: 3. 点击“Create AVD”按钮,假如安装成功,会在“Android SDK and AVD Manager”对

6、话框中显示。 方法二:略安装步骤比较繁琐,网速比较慢话需要大约一天时间,对安装步骤不熟悉话可能需要两天。此安装方法关键就是安装android SDK和ADT插件,方法一是拷贝了已经安装好了,所以在方法一中能够直接省去而直接配置环境就OK了4 android应用程序目录结构1、目录结构以下图所表示:2、目录结构说明: 、src : 放置是编写源文件; 、gen : ADT插件自动生成R.java文件,不能够修改它; 、Android 2.2 :这是android提供一个jar文件我们所引用全部类全部起源于这个jar文件; 、res :可放置文件,同时会在R.java中自动生成ID; drawab

7、le :存放是图片资源 layout :存放是布局文件 values :存放是字符串、颜色、数组 、AndroidManifest.xml :这是整个应用程序配置文件,起到关键性作用;5 新建一个android应用1. 新建项目:打开Eclipse,选择File New Project Android Project,具体输入以下图: 2、直接点击“Finish”按钮即可6 Android四大组件及界面UI元素1、Activity :应用程序界面容器,能够放置多种多样控件;2、Broadcast Intent Receiver 能够使用BroadcastReceiver来让对一个外部事件做出响

8、应;3、Service :是一个后台运行服务程序,是没有用户界面;4、Content Provider :用于数据共享Activity :既然是一个容器那么就能够放置多种控件,如:按钮(Button)、文本框(TextView)、编辑框(EditText)、多项选择(CheckBox)、单项选择(RadioGroup)、下拉列表(Spinner)等等,具体使用方法可参考相关书籍。7 Android应用程序工作机制工作机制关键是围绕四大组件进行展开1、ActivityAndroid中,Activity是全部程序根本,全部程序步骤全部运行在Activity之中,Activity含有自己生命周期由系

9、统控制生命周期,程序无法改变,但能够用onSaveInstanceState保留其状态。对于Activity,关键是其生命周期把握(以下图),其次就是状态保留和恢复(onSaveInstanceState onRestoreInstanceState),和Activity之间跳转和数据传输(intent)。Activity中常见函数有SetContentView() findViewById() finish() startActivity(),其生命周期包含函数有:void onCreate(Bundle savedInstanceState)void onStart()void onRes

10、tart()void onResume()void onPause()void onStop()void onDestroy()注意是,Activity使用需要在Manifest文件中添加对应,并设置其属性和intent-filter。IntentAndroid中提供了Intent机制来帮助应用间交互和通讯,Intent负责对应用中一次操作动作、动作包含数据、附加数据进行描述,Android则依据此Intent描述,负责找到对应组件,将 Intent传输给调用组件,并完成组件调用。Intent不仅可用于应用程序之间,也可用于应用程序内部Activity/Service之间交互。所以,Inten

11、t在这里起着一个媒体中介作用,专门提供组件相互调用相关信息,实现调用者和被调用者之间解耦。在SDK中给出了Intent作用表现形式为: 经过Context.startActivity() orActivity.startActivityForResult() 开启一个Activity; 经过 Context.startService() 开启一个服务,或经过Context.bindService() 和后台服务交互; 经过广播方法(比如 Context.sendBroadcast(),Context.sendOrderedBroadcast(),Context.sendStickyBroadc

12、ast() 发给broadcastreceivers。2、Intent属性设置,包含以下几点:(以下为XML中定义,当然也能够经过Intent类方法来获取和设置)(1)Action,也就是要实施动作SDk中定义了部分标准动作,包含onstantTarget componentActionACTION_CALLactivityInitiate a phone call.ACTION_EDITactivityDisplay data for the user to edit.ACTION_MAINactivityStart up as the initial activity of a task,

13、 with no data input and no returned output.ACTION_SYNCactivitySynchronize data on a server with data on the mobile device.ACTION_BATTERY_LOWbroadcast receiverA warning that the battery is low.ACTION_HEADSET_PLUGbroadcast receiverA headset has been plugged into the device, or unplugged from it.ACTION

14、_SCREEN_ONbroadcast receiverThe screen has been turned on.ACTION_TIMEZONE_CHANGEDbroadcast receiverThe setting for the time zone has changed.当然,也能够自定义动作(自定义动作在使用时,需要加上包名作为前缀,如com.example.project.SHOW_COLOR”),并可定义对应Activity来处理我们自定义动作。(2)Data,也就是实施动作要操作数据Android中采取指向数据一个URI来表示,如在联络人应用中,一个指向某联络人URI可能为:

15、content:/contacts/1。对于不一样动作,其URI数据类型是不一样(能够设置type属性指定特定类型数据),如ACTION_EDIT指定Data为文件URI,打电话为tel:URI,访问网络为http:URI,而由content provider提供数据则为content: URIs。(3)type(数据类型),显式指定Intent数据类型(MIME)。通常Intent数据类型能够依据数据本身进行判定,不过经过设置这个属性,能够强制采取显式指定类型而不再进行推导。(4)category(类别),被实施动作附加信息。比如 LAUNCHER_CATEGORY 表示Intent 接收者

16、应该在Launcher中作为顶级应用出现;而ALTERNATIVE_CATEGORY表示目前Intent是一系列可选动作中一个,这些动作能够在同一块数据上实施。还有其它为ConstantMeaningCATEGORY_BROWSABLEThe target activity can be safely invoked by the browser to display data referenced by a link for example, an image or an e-mail message.CATEGORY_GADGETThe activity can be embedded i

17、nside of another activity that hosts gadgets.CATEGORY_HOMEThe activity displays the home screen, the first screen the user sees when the device is turned on or when the HOME key is pressed.CATEGORY_LAUNCHERThe activity can be the initial activity of a task and is listed in the top-level application

18、launcher.CATEGORY_PREFERENCEThe target activity is a preference panel.(5)component(组件),指定Intent目标组件类名称。通常 Android会依据Intent 中包含其它属性信息,比如action、data/type、category进行查找,最终找到一个和之匹配目标组件。不过,假如 component这个属性有指定话,将直接使用它指定组件,而不再实施上述查找过程。指定了这个属性以后,Intent其它全部属性全部是可选。(6)extras(附加信息),是其它全部附加信息集合。使用extras能够为组件提供扩展

19、信息,比如,假如要实施“发送电子邮件”这个动作,能够将电子邮件标题、正文等保留在extras里,传给电子邮件发送组件。了解Intent关键之一是了解清楚Intent两种基础使用方法:一个是显式Intent,即在结构Intent对象时就指定接收者;另一个是隐式Intent,即Intent发送者在结构Intent对象时,并不知道也不关心接收者是谁,有利于降低发送者和接收者之间耦合。对于显式Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析是那些隐式Intent,经过解析,将 Intent映射给能够处理此IntentActivity、IntentReceive

20、r或Service。 Intent解析机制关键是经过查找已注册在AndroidManifest.xml中全部IntentFilter及其中定义Intent,最终找到匹配Intent。在这个解析过程中,Android是经过Intentaction、type、category这三个属性来进行判定,判定方法以下: 假如Intent指明定了action,则目标组件IntentFilteraction列表中就必需包含有这个action,不然不能匹配; 假如Intent没有提供type,系统将从data中得到数据类型。和action一样,目标组件数据类型列表中必需包含Intent数据类型,不然不能匹配。

21、假如Intent中数据不是content: 类型URI,而且Intent也没有明确指定它type,将依据Intent中数据scheme (比如 http: 或mailto:) 进行匹配。同上,Intent scheme必需出现在目标组件scheme列表中。 假如Intent指定了一个或多个category,这些类别必需全部出现在组建类别列表中。比如Intent中包含了两个类别:LAUNCHER_CATEGORY 和 ALTERNATIVE_CATEGORY,解析得到目标组件必需最少包含这两个类别。3、BroadcastReceiver接收响应动作,如来发送短信时能够注册一个广播接收器,接收发送

22、是否成功反馈消息,假如发送成功就提醒发送成功,失败就提醒失败,代码以下:/* * 注册发送短信状态消息 */Override protected void onResume() super.onResume(); IntentFilter sendFilter = new IntentFilter(ACTION_SMS_SEND);registerReceiver(SMSStatusBroatReceiver, sendFilter); /* * 复写取消注册方法 */Override protected void onPause() super.onPause(); unregisterRe

23、ceiver(SMSStatusBroatReceiver); private BroadcastReceiver SMSStatusBroatReceiver = new BroadcastReceiver() Override public void onReceive(Context context, Intent intent) String actionName = intent.getAction(); int resultCode = getResultCode();switch (resultCode) case Activity.RESULT_OK:Toast.makeTex

24、t(smsStressTest.this, “成功发送”, Toast.LENGTH_SHORT).show(); break;case SmsManager.RESULT_ERROR_GENERIC_FAILURE:Toast.makeText(smsStressTest.this, 短信发送失败!, Toast.LENGTH_SHORT).show(); break;case SmsManager.RESULT_ERROR_NO_SERVICE: Toast.makeText(smsStressTest.this, 没有服务!, Toast.LENGTH_SHORT).show(); br

25、eak;case SmsManager.RESULT_ERROR_NULL_PDU: Toast.makeText(smsStressTest.this, 短信内容为空!, Toast.LENGTH_SHORT).show(); break;case SmsManager.RESULT_ERROR_RADIO_OFF: Toast.makeText(smsStressTest.this, 射频开关没有打开!, Toast.LENGTH_SHORT).show();break; ; 4、事件监听机制 如Button按钮监听 5、数据存放机制 SharedPreferences存放、SQLite存

26、放、ContentProvider、网络存放、SD卡存放8 Android应用程序常见功效接口相关功效部分简单实例,以下:显示网页 1. Uri uri = Uri.parse(); 2. Intent it = new Intent(Intent.ACTION_VIEW, uri); 3. startActivity(it);显示地图 1. Uri uri = Uri.parse(geo:38.899533,-77.036476); 2. Intent it = new Intent(Intent.ACTION_VIEW, uri); 3. startActivity(it); 4. /其它

27、 geo URI 範例 5. /geo:latitude,longitude 6. /geo:latitude,longitude?z=zoom 7. /geo:0,0?q=my+street+address 8. /geo:0,0?q=business+near+city 9. /谷歌.streetview:cbll=lat,lng&cbp=1,yaw,pitch,zoom&mz=mapZoom路径计划 1. Uri uri = Uri.parse(); 2. Intent it = new Intent(Intent.ACTION_VIEW, uri); 3. startActivity(

28、it); 4. /where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456 打电话 1. /叫出拨号程序 2. Uri uri = Uri.parse(tel:); 3. Intent it = new Intent(Intent.ACTION_DIAL, uri); 4. startActivity(it); 1. /直接打电话出去 2. Uri uri = Uri.parse(tel:); 3. Intent it = new Intent(Intent.ACTION_CALL,

29、uri); 4. startActivity(it); 5. /用這個,要在 AndroidManifest.xml 中,加上 6. / 传送SMS/MMS 1. /调用短信程序 2. Intent it = new Intent(Intent.ACTION_VIEW, uri); 3. it.putExtra(sms_body, The SMS text); 4. it.setType(vnd.android-dir/mms-sms); 5. startActivity(it); 1. /传送消息 2. Uri uri = Uri.parse(smsto:/); 3. Intent it =

30、 new Intent(Intent.ACTION_SENDTO, uri); 4. it.putExtra(sms_body, The SMS text); 5. startActivity(it); 1. /传送 MMS 2. Uri uri = Uri.parse(content:/media/external/images/media/23); 3. Intent it = new Intent(Intent.ACTION_SEND); 4. it.putExtra(sms_body, some text); 5. it.putExtra(Intent.EXTRA_STREAM, ur

31、i); 6. it.setType(image/png); 7. startActivity(it); 传送 Email 1. Uri uri = Uri.parse(mailto:); 2. Intent it = new Intent(Intent.ACTION_SENDTO, uri); 3. startActivity(it); 1. Intent it = new Intent(Intent.ACTION_SEND); 2. it.putExtra(Intent.EXTRA_EMAIL, ); 3. it.putExtra(Intent.EXTRA_TEXT, The email b

32、ody text); 4. it.setType(text/plain); 5. startActivity(Intent.createChooser(it, Choose Email Client); 1. Intent it=new Intent(Intent.ACTION_SEND); 2. String tos=; 3. String ccs=; 4. it.putExtra(Intent.EXTRA_EMAIL, tos); 5. it.putExtra(Intent.EXTRA_CC, ccs); 6. it.putExtra(Intent.EXTRA_TEXT, The emai

33、l body text); 7. it.putExtra(Intent.EXTRA_SUBJECT, The email subject text); 8. it.setType(message/rfc822); 9. startActivity(Intent.createChooser(it, Choose Email Client); 1. /传送附件 2. Intent it = new Intent(Intent.ACTION_SEND); 3. it.putExtra(Intent.EXTRA_SUBJECT, The email subject text); 4. it.putEx

34、tra(Intent.EXTRA_STREAM, file:/sdcard/mysong.mp3); 5. sendIntent.setType(audio/mp3); 6. startActivity(Intent.createChooser(it, Choose Email Client);播放多媒体 Uri uri = Uri.parse(file:/sdcard/song.mp3); Intent it = new Intent(Intent.ACTION_VIEW, uri); it.setType(audio/mp3); startActivity(it); Uri uri = U

35、ri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, 1); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it);Market 相关1. /寻求某个应用 2. Uri uri = Uri.parse(market:/search?q=pname:pkg_name); 3. Intent it = new Intent(Intent.ACTION_VIEW, uri);4. startActivity(it);5. /where pkg_n

36、ame is the full package path for an application 1. /显示某个应用相关信息 2. Uri uri = Uri.parse(market:/details?id=app_id);3. Intent it = new Intent(Intent.ACTION_VIEW, uri); 4. startActivity(it);5. /where app_id is the application ID, find the ID 6. /by clicking on your application on Market home 7. /page, and notice the ID from the address barUninstall 应用程序1. Uri uri = Uri.fromParts(package, strPackageName, null); 2. Intent it = new Intent(Intent.ACTION_DELETE, uri); 3. startActivity(it);

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服