智能手机应用开发.ppt_第1页
智能手机应用开发.ppt_第2页
智能手机应用开发.ppt_第3页
智能手机应用开发.ppt_第4页
智能手机应用开发.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能手机应用开发,based on android 2012.5,内容包括:,1、Android 平台概述 2、搭建 Android 开发环境 3、第一个 Android 应用程序 4、Android 用户界面设计 5、Activity、Intent、Service、Broadcast Receiver 6、Android 中的数据存取 7、Android 实验设计,课程结构,开放手机联盟(OHA) Android 平台综述: 平台介绍、开发者社区 开发环境: 构建 Android 开发环境 应用程序: 应用程序结构 典型应用: 用户界面、图形编程 数据存取、网络连接 硬件访问,获取 Android 资料的途径, 下载 sdk 等相关软件 查看文档 在线帮助 开发社区 国内需要代理才能访问 / news sdk下载 开发FAQ、源码下载 移植,6、Android 中的数据存取,on android,数据存取方式,Preference “键-值”方式存储,以 xml 文件的形式保存 File 采用 java.io.* 库所提供 I/O 接口读写文件 SQLite SQLite 是轻量级的嵌入式数据库引擎 Content Provider 用于实现不同应用程序之间的数据共享,1、Preference,主要用于存储数据较少的场合,比如配置信息 文件位置:/data/data/shared_prefs/*.xml 需要用到接口:SharedPreferences 及其内部接口:SharedPreferences.Editor 取得接口: Context.SharedPreferences(filename,mode) SharedPreferences.edit() 数据类型、数据操作: int、flaot、string、boolean等 putString(key,value) getString(key,defValue),实例:Test_of_Preference,定义 main.xml: 一个 EditText 用于键入数据 三个 Button 分别用于将数据写入 xml 文件、从文件获取数据并显示、清除文件中的数据 定义 sharedpreferences.xml: 一个 TextView 用于显示从文件中获取的数据,et1=(EditText)findViewById(R.id.editText1); button1=(Button)findViewById(R.id.button1); button2=(Button)findViewById(R.id.button2); button3=(Button)findViewById(R.id.button3);,textView1=(TextView)findViewById(R.id.textView1);,创建接口 sp1、spEditor1 以键值 方式加入数据 以 String Key 为索引来获取数据 清除数据,private SharedPreferences sp1; sp1 = this.getSharedPreferences(“test“, MODE_PRIVATE); SharedPreferences.Editor spEditor1 = sp1.edit();,spEditor1.putString(“TEXT“,et1.getText().toString(); spEmit();,String string1 = sp1.getString(“TEXT“, “); textView1.setText(string1);,spEditor1.clear().commit();,运行结果:,2、File,文件可用来存放大量数据,如文本、图片、音频等 默认位置:/data/data/files/*.* java.io.* 库提供 I/O 接口实现本地文件读写 文件输入流的获取 Context.openFileInput(String name) 文件输出流的获取 Context.openFileOutput(String name, int mode) 包内资源(res/raw/)文件的读取 Resources.openRawResource(R.raw.file),实例:Test_of_File,定义 main.xml: 两个 EditText、两个 Button 写文件 writeFile(str):,private void writeFile(String str) try FileOutputStream output= openFileOutput(FILE_NAME,MODE_APPEND); output.write(str.getBytes(); output.close(); catch(Exception e) Log.e(“File_IO“, e.toString(); this.finish(); ,读文件 readFile():,private String readFile() try FileInputStream input = openFileInput(FILE_NAME); byte buffer = new byteinput.available(); input.read(buffer); input.close(); String str = new String(buffer); return str; catch(Exception e) Log.e(“File_IO“, e.toString(); this.finish(); return null; ,editText2.setText(readFile();,运行结果: 注意:写文件时用的 MODE_APPEND 模式,3、SQLite,SQLite 轻量级嵌入式数据库引擎,面向资源有限的设备 没有服务器进程 所有数据存放在同一文件中 跨平台,可自由复制 SQLiteOpenHelper 帮助类,用于管理数据库创建和版本更新 onCreate(SQLiteDatabase db) onUpgrade(db,int old_ver,int new_ver) sqlite3 :位于 /tools,实例:Test_of_SQLite,DatabaseHelper 继承自 SQLiteOpenHelper 重写了onCreate()、onUpgrade() 方法 实现 insert、del、query、close 等方法 ListView 显示记录,字段对应成 TextView ListView 的 onItemClick() 实现删除记录 数据库文件路径: /data/data/database/*.db,private SQLiteDatabase db; public void insert(ContentValues values) SQLiteDatabase db = getWritableDatabase(); db.insert(TABLE_NAME, null, values); db.close(); public void del(int id) if(db = null) db = getWritableDatabase(); db.delete(TABLE_NAME, “_id=?“, new StringString.valueOf(id); public void onCreate(SQLiteDatabase db) this.db = db; db.execSQL(CREATE_TABLE); ,DatabaseHelper.java,DatabaseHelper dbHelper = new DatabaseHelper(this); Cursor cursor = dbHelper.query(); String from = “_id“,“name“,“url“,“notes“; int to = R.id.textView1,R.id.textView2,R.id.textView3, R.id.textView4; SimpleCursorAdapter scadapter = new SimpleCursorAdapter (this,R.layout.favoritelist,cursor,from,to); ListView listView = getListView(); listView.setAdapter(scadapter); AlertDialog.Builder adBuilder = new AlertDialog.Builder(this);,Query_Test.java,listView.onItemClick adBuilder.setMessage(“确认删除?“) .setPositiveButton(“Y“, new OnClickListener() .setNegativeButton(“N“, new OnClickListener(); AlertDialog aleraDialog = adBuilder.create(); aleraDialog.show(); ,删除记录并重建 ListView,运行结果:,4、Content Provider,与 Activity、Service、Broadcast Receiver 同属 Android 应用程序基本组件之一 用于保存和检索数据,实现了数据的跨应用共享 Android 中各应用均运行在自己的进程中,互相访问的 Content Provider 接口统一定义在 vider 包内,涵盖了常见的数据类型如音视频、图片、联系人等 实现的方法包括: insert、delete、qurey、update 等,URI Content Provider 用以实现数据共享的对象 Content Resolver Content Provider 的客户端接口 客户端通过 getContentResolver() 获得接口 提供与 Content Provider 对应的方法 间接地通过操作 Resolver 来操作 Provider 一个 Provider 可以对应多个 Resolver 用户自定义系统 :Content Provider,实例:Test_of_ContentProvider,系统 Content Provider 添加联系人:,String name = editText1.getText().toString(); String notes = editText2.getText().toString(); ContentResolver contentResolver1 = getContentResolver(); ContentValues contentValues1 = new ContentValues(); Uri uri1 = Contacts.People.CONTENT_URI; contentValues1.put(People.NAME,name); contentValues1.put(People.NOTES, notes); trycontentResolver1.insert(uri1, contentValues1);,运行结果:,7、Android 的多媒体应用,on android,Android 的多媒体,Android 实现了常见媒体格式的编解码机制 图片:jpeg、gif、png、bmp 音频:3gp、mp3、wav 视频:3gp、mp4 Android 提供相应 API 实现多媒体应用 音视频播放:MediaPlayer、JetPlayer 音视频录制: MediaRecorder 媒体文件来源: 应用程序资源、本地文件、网络文件流,实例:ImageView,实例:GridView、Gallery,详见实例:Test_of_Widget,实例:Test_of_Mp3Player,实现 MediaPlayer.OnCompletionListener 接口,public class Mp3Player_Test extends Activity implements MediaPlayer.OnCompletionListener / 重写 onCompletion() 方法,实现循环播放 public void onCompletion(MediaPlayer mp) if(flag1=1)ib4play(); if(flag2=1)ib8play(); / 重写 onDestroy() 方法 public void onDestroy() super.onDestroy(); if(imageButton2.isEnabled() ib2stop(); if(imageButton6.isEnabled() ib6stop(); ,定义 MediaPlayer 对象并初始化,private MediaPlayer mp1,mp2; private void mp1init() try mp1=MediaPlayer.create(this, R.raw.temp); mp1.setOnCompletionListener(this); catch (Throwable t)errorReport(t); private void mp2init() try mp2 = new MediaPlayer(); String path = “/sdcard/graduated.mp3“; mp2.setDataSource(path); mp2.prepare(); mp2.setOnCompletionListener(this); catch (Throwable t)errorReport(t); ,音乐文件路径:,定义三个 ImageButton 对象并实例化,实现 paly、pause 方法,private void ib4play() flag1=1; mediaPlayer1.start(); imageButton2.setEnabled(true); imageButton3.setEnabled(true); imageButton4.setEnabled(false); private void ib3pause

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论