ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:25.96KB ,
资源ID:6507191      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6507191.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(android开发人员工作总结.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

android开发人员工作总结.docx

1、android开发人员工作总结android开发人员工作总结2021项目开发总结报告1引言1.1编写目的总结开发经验与学习中的不足1.2背景以方便用户记录日常学习心得,生活体会为目的,进行主题为“随心笔记”的应用开发2实际开发结果2.1产品2.2主要功能和性能能够查看笔记的目录,记录笔记完成时间。能够改变主题颜色,目录排版方式,拥有简洁的主题。对于涂鸦功能,插入图片,密码锁等功能未能实现。3开发工作评价3.1对产品质量的评价本应用拥有简单实用的功能,能够满足一般用户的需要3.3对技术方法的评价开发中使用了软件工程中的增量开发模型,黑盒测试等技术,使开发逐步向前发展3.4出错原因的分析p 对于部

2、分Android版本支持性不好,不能正常使用安装等2 4经验与教训通过这次开发,我们体验了开发不易,需要很多人员的合作。开发过程中,必须明确整体目标,不能东一榔头,西一棒槌。另外由于学习时间短,对很多东西都不太了解,还好通过CSDN等一些网站能够找到有益的帮助,感谢那些博客,论坛。Android开发基础教程20_-4-13周一2CJ02 目录1.什么是Android? 2.Android应用开发环境 3.Gradle 4.模拟器Emulator 5.开发一个安卓应用程序的步骤 6.关于多个模拟器的问题 7.安卓工程文件的结构 8.android界面文件-_ml文件 9.android程序文件-

3、文件 10.界面布局方式 11.几个常用组件 12.Roast组件 13.对话框AlertDialog 14.几条重要的语句 15.监听器Listener 16.识别响应事件的组件 17.界面切换18.界面之间的数据传递 19.Activity生命周期 20.多媒体播放21.日志文件在程序调试中的使用 22.使用_ML文件保存数据23.使用T_T文件保存数据 24.使用数据库保存数据 25.时间组件 26.线程Thread 27.视频播放VideoView 28.MediaPlayer,SurfaceView和SurfaceHolder播放视频 29.录制音频MediaRecorder 30.

4、菜单组件 1.什么是Android? 移动设备(常常指手机mobile)的操作系统,由google公司出品,是免费的, 最早是基于Linu_平台的;目前已经推出的Android3.0是平板电脑上的操作系统。其它的手机操作系统有:iPhone系统等。手机厂商:三星(Samsung,宏达电(HTC),摩托罗拉(Motorola),华硕,索尼,Garmin等都支持iPhone系统。Android系统功能:自定义用户界面,支持蓝牙,多点触摸,具有导航功能和语音识别功能,结合了google地图。Android软件开发工具SDK4.0。Android系统特点:虚拟键盘,以WebKit为核心的WebView

5、组件,可以使用HTML, script等。 2.Android应用开发环境 Eclipse+ADT+Android SDK。 ADT-Android开发工具插件(Android Plugs for Eclipse).开发环境安装注意事项:关闭防毒软件,按顺序安装,保持网络畅通,比较耗时。特别说明,安装和运行需要高配置机器和高速网络,比较费时。(1)安装JDK。甲骨文网站: /pushChar, putShort,put Boolean, pushChar等等Uri uri = Uri.parse(“/getDouble, 2.方法2:调用有返回参数 例1,在第一个界面中: private st

6、atic final int ACTIVITY_EDIT = 1; Bundle bundle = new Bundle; bundle.pushString(“name”, “David”); Intent in = new Intent; getShort, getIntArray等 in.putE_tras(bundle); in.setCla(FullscreenActivity.this, SecondActivity.cla); startActivityForResult (in, ACTIVITY_EDIT); 注意:startActivityForResult后所有语句无效,

7、不执行;在第一个界面中,第二个界面可以在不同位置被多次调用;在第一个界面中,在其它位置可以调用其它界面。在第一个界面中,重写onActivityResult,接收所有被调用界面返回的参数(如果有):Override protected void onActivityResult(intrequestCode,int resultCode,Intent data) super.onActivityResult(requestCode, resultCode, data); if (requestCode= ACTIVITY_EDIT) /此参数可以区分不同的调用 Bundle bundle =

8、data.getE_tras; if (resultCode = RESULT_OK)/此参数可以判断有无返回参数Bundle bundle = data.getE_tras; if (resultCode = RESULT_CANCELED) 问题:如何判断被调用界面是否传递返回参数?如何区分返回参数是由不同的被调用界面传递的?android的这种解决方法并不是完美的。 例2,在第二个界面中:读取第一个界面传递的参数,省略;下面是向调用程序传递返回参数: Bundle bundle = new Bundle; bndle.pushString(“name”, “贺昌峰373780592”);

9、 Intent setResult(RESULT_CANCELED); /传递参数返回/ 或setResult(RESULT_OK, in); /不传递参数返回 finish; 注意:这时,第二个界面返回到第一个界面,可以不传递参数直接返回(RESULT_CANCELED),in = new Intent;in.putE_tras(bundle); 也可以传递参数返回(RESULT_OK)。 19.Activity生命周期onCreate- onStart- onResume- onPause - onS- onDestroy 也就是说,有: protected void oncreate()

10、 . protected void onStart () . protected void onResume () . protected void onPause (). protected void onS () . protectedvoid onDestroy () . 20.多媒体播放MediaPlayer public MediaPlayer player = new MediaPlayer ; /生成语句可省略 try player.reset; /重新播放音乐player.setDataSource(“/sdcard/music/music_file_name.”); / pl

11、ayer = MediaPlayer.create(getlicationConte_t, R.raw.music); / 打开音乐文件/music为音乐资文件player.prepare; player.start; / player.isPlaying/准备播放 /播放音乐/判断是否正在播放/音乐播放完成触发事件player.setOnpletionListener(new OnpletionListener) public void onpletion /音乐播放完成后,处理代码 player.pause; player.start; player.s; catch(IllegalSta

12、teE_ception e) catch(IOE_ception e) /播放暂停 /继续播放音乐 /停止播放音乐 player.release;/释放存储空间/注意:可以播放存储卡上任意一个音乐文件;也可以播放资列表中的音乐文件 21.日志文件在程序调试中的使用import android.util.Log; 对应的方法有:debug,verbose,info,warn,error。注意,使用简写。 问题:如何查看系统日志文件?Log.d(“这里是分类标签”, “这里是输出信息”); 22.使用_ML文件保存数据对_ML文件进行操作,形式为(key,value)。 SharedPrefere

13、ncessp = get SharedPreferences(文件名,权限);权限:MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE 例:/1打开_ML文件 SharedPreferences /2更改数据Editor editor = sp.eidt; /更改数据sp = get SharedPreferences(“myconfig”, MODE_PRIVATE); editor.putString(“name”, “贺昌峰373780592”); editor.putInt(“age”, 48); editor.putFloa

14、t(“salary”, 2048.5); /putLong,putBoolean等;editor.mit; /保存数据/3读取数据String myname = sp.getString(“name”, “”); /4删除数据editor.remove(“name”); /删除数据 editor.mit; editor.clear; /删除全部数据 editor.mit; /5简写形式如下: Editor editor = sp.eidt /更改数据/读取数据.putString(“name”, .mit; “贺昌峰”) 23.使用T_T文件保存数据 FileOutPutStream fout

15、 = openFileOutput(文件名, 文件权限); 文件权限: MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE 1.在文件中写入数据try /打开T_T文件 FileOutPutStream BufferedOutputStreamString /向文件中写入数据bufferoutput.write(s.getBytes); s = “大家跟我学习android”;bufferoutput = new BufferedOutputStream(fout); fout = openFileOutput(“myconfig.t

16、_t”, MODE_PRIVATE); /关闭文件 bufferoutput.close; fout.close; Catch(E_ception e) 2.从文件中读取数据try FileInputStream BufferedInputStream byte bufferbytes = new byte20; int flag = bufferoutput.read(bufferbytes); if (flag=-1) /文件读取到文件末尾,否则可以继续读出 /仅读取长度为20个字节的数据bufferoutput = new BufferedInputStream(fout); fout

17、= openFileInput(“myconfig.t_t”); /打开文件e.printStackTrace; bufferoutput.close; fout.close; Catch(E_ception e) 24.使用数据库保存数据 1.数据库相关类/关闭缓冲区 /关闭文件e.printStackTrace; import android.content.ContentValues; import android.content.Conte_t; import android.database.Coursor; import android.database.SQLE_ception;

18、 import android.database.sqlite.SQLiteDatabase; 2.SQLiteDataBase类注意:数据库操作时,要求捕获异常,此处省略。SQLiteDataBase db = openOrCreateDatabase(“databasename.db”, MODE_PRIVATE); /说明:数据库权限同文件权限 / Conte_t就是this指针 db.e_ecSQL( sql_e_p ): 执行SQL语句 Cursor cs = db.rawQuery(select_e_p, null): 返回数据集。 Cursor cs1 = db.query(ar

19、g0, ): 使用较繁琐,可用rawQuery替换。db.insert(arg0, ): 使用较繁琐,可用rawQuery替换。 db.delete(arg0, ): 使用较繁琐,可用rawQuery替换。 db.update(arg0, ):使用较繁琐,可用rawQuery替换db.close: 一般写在onDestroy事件中。 3.Cursor类 方法有:move, moveosition, moveToFirst, moveToLast,moveToNe_t, getCount, getInt, getString, isNull, isFirst等等。 4.ContentValues

20、类一般用在SQLiteDataBase.insert中, 此处省略。ContentValues content= new ContentValues; content.put(“name”, “贺昌峰”);moverevious, content.put(“age”, 48); 5.SimpleCursorAdapter类SimpleCursorAdapter是界面组件如ListView和Cursor的桥梁。 例, 在ListView组件listview1中,显示数据集(有绑定功能吗?): Cursor cs = db.rawQuery(“select SimpleCursorAdapter

21、adapter_from table”, null);= new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2, new String“id”, “name”, new int android.R.id.te_t1, android.R.id.te_t2); / 注意:第2个参数的作用 listview1.setAdapter(cs); /在ListView组件显示数据集25.时间组件1.常用组件AnalogClock,DigitClock 用法比较简单,无需过多设置,仅仅显示当前时间:机械式,数字式 2.计时组件:C

22、hronometer 常用方法:start开始计时, s停止计时, setBase设置时间 setFormat(“秒表:s”):设置组件时间显示格式。 附:与时间格式有关的函数 SimpleDateFormat String sformat = new SimpleDateFormats(“hh:mm:”);/得得当前时间 s = sformat.format(new Date ); 例,Chronometer对象是chroTime: chroTime.setOnChronometerTickListeter(chrolisteten); private Chronometer.onChron

23、ometerTickListeter Chronometer.onChronometerTickListeter Override publicvoid OnChronometerTickListeter(Chronometer chronomoter) /每秒执行一次该方法 3.计时组件Timer和TimerTaskchrolisteten = new 常用函数:schedule(TimerTask对象, Timer对象延迟时间, TimerTask对象间隔时间); TimerTask对象用法: private TimerTask public void run /按设定间隔调用执行 han

24、dle.sendMeage(msg); /特别注意:此处不能对界面进行更新,因为影响计时精度,所有需要使用Handle配合。见下。 4.Handle和Meage的配合使用 Handle handle public void handleMeage super.handleMeage ; /进行其它处理 = new Handle timetask = new TimerTask Meage msg.what = “_”; handle.sendMeage(msg); 26.线程Thread 1.Thread的定义public cla ClockThread e_tends Thread Over

25、ride public void run /进行其它处理/注意:不会自动重复执行多次的 2.Thread的启动、延时启动、停止 使用Handle对线程进行控制: msg = new Meage; Handle handle = new Handle; ClockThread clock = new ClockThread; handle.post(clock);/启动线程 5000);/延时5000ms启动线程 /停止线程 handle.postDelayed(clock, handle.removeCallbacks(clock);问题:使用Handle有什么优点? 27.视频播放Video

26、View 支持的文件格式:H.264的mp4, wmv, 3gp等。 1.视频播放private VideoView videoview.setVideoPath(“/sdcard/robot.mp4”); /增加控制面板videoview.setMediaController(new MediaController(getlicationConte_t);videoview = new VideoView; videoview.start; /开始播放2.视频准备播放事件videoview.setOnPreparedListener(videoPreparedListener); video

27、view.setOnpletionListener(videopletionListener); private MediaPlayer.onPreparedListener videoPreparedListener = new MediaPlayer.onPreparedListener Override publicvoid onPrepared (MediaPlayer mp) /视频准备播放 3.视频播放完成事件private MediaPlayer.onpletionListener videopletionListener = MediaPlayer.onpletionListe

28、ner Override publicvoid onpletion (MediaPlayer mp)new /视频播放完成 28.MediaPlayer,SurfaceView和SurfaceHolder播放视频MediaPlayer也可以播放视频,需要SurfaceView和SurfaceHolder配合,其中SurfaceView为可视化组件可以播放视频,SurfaceHolder为桥梁。private SurfaceView surfview = new SurfaceView; /此组件可视化设计,无需这里声明 private MediaPlayer surfholder.setTyp

29、e(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaplayer.setDisplay(surfholder); mediaplayer.setDataSource(“/sdcard/vedio.mp4”); mediaplayer.reset; /打开视频文件mediaplayer = new MediaPlayer;= surfview.getHolder; private SurfaceHolder surfholder /重

30、新播放视频 mediaplayer.prepare; mediaplayer.start; mediaplayer.s; mediaplayer.release; /准备播放视频 /播放视频29.录制音频MediaRecorder MediaRecorder mediaRecorder.SetAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.SetAudioEncode(MediaRecorder.AudioEncode.DEFAULT ); mediaRecorder.SetOutputFormat(MediaRecorder.OutputFormat.DEFAULT ); mediaRecorder.SetOutputFile(“/sdcard/recorder.amr”); mediaRecorder.prepare; mediaRecorder.start; 注意:要有写入SD卡的权限,在AndroidManifest._ml文件中: /准备录音 /开始录音mediaRecorder = new MediaRecorder; :1.附1:ImageView.setAlpha(50)的含义?设置透明色 2.附2:遍历目录下所有文件: private File pathfile; pathfile

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1