android 名师精讲黎活明.ppt
《android 名师精讲黎活明.ppt》由会员分享,可在线阅读,更多相关《android 名师精讲黎活明.ppt(126页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级软件人才实作培训专家!北京传智播客教育 3G应用开发之Android讲师:黎活明1高级软件人才实作培训专家!北京传智播客教育 什么是3G3G,全称为3rd Generation,中文含义就是指第三代数字通信。所谓3G,是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。3G只是一种通信技术标准,符合这个标准的技术有WCDMA、CDMA2000、TD-SCDMA三种无线接口标准。中国联通使用的是WCDMA(世界上大部分3G网络都采用的是该标准);中国电信使用的是CDMA2000(日、韩和北美使用);中国移动使用的是具有自主知识产权的TD-SCDMA(只有中国才使用)。相对第一代模
2、拟制式(1G)和第二代GSM、CDMA等数字(2G),3G 能处理图像、音乐、视频等多种媒体形式,提供包括网页浏览、会议、电子商务等多种信息服务。3G网络与前两代的主要区别是整合了互联网并且数据传输速度有很大的提升。目前中国正在建设3G网络,大城市的3G网络基本上已经铺设好,像北京铺设好了超过2000个基站,深圳铺设了1000多个基站。但是要全民普及到3G 尚且需要几年时间。现在,大家使用的 大多还是,符合网络的接口标准有CDMA2000 1X和GPRS,中国联通使用的是CDMA2000 1X标准,中国移动使用的是GPRS标准。目前,我们可以把移动通信技术看作是2G迈向3G的衔接性技术,在网络
3、下出现了如WAP、蓝牙(Bluetoot)等技术。对于网络,我们应该也要有所了解,因为以后大家到企业中有可能会面对网络下的应用,如:wap项目。2高级软件人才实作培训专家!北京传智播客教育 什么是Androidl Android是Google在2007年11月5日推出的开源 操作系统。目前Android在中国的发展是非常火的,为了节省研发费用,国内很多的 厂商和移动运营商纷纷加入到了android阵营,其中包括中国移动,中国联通,中国电信,华为,联想等大企业。在中国不管是知名的 生产厂商还是山寨 厂商,都已经开始生产Android操作系统的。l 另外android应用的范围不仅仅在,还被应用在
4、汽车、平板电脑、和智能上网设备上。l 因为目前大家使用的 大多属于傻瓜,也就是打打、发发短信。从今天开始,大家对智能 要有个重新的认识,智能 除了可以打 发短信之外还能完成电脑所能完成一切,所以大家需要把智能 看作是一台电脑。3高级软件人才实作培训专家!北京传智播客教育 智能 软件平台智能 软件平台有:Symbian,Windows Mobile,RIM BlackBerry,Android,iPhone,Java/J2ME。2010年市场份额:Symbian 36.6%Android 25.5%windows Mobile 2.8%linux 2.1%4高级软件人才实作培训专家!北京传智播客
5、教育 如何安装 Android SDK 和Eclipse 插件所需开发环境:JDK 5或以上版本(仅有JRE不够)、Eclipse 3.4 或以上版本下载用于在Eclipse 开发android应用的ADT 插件 在企业开发中,很多程序员使用Eclipse IDE作为应用的开发环境。为了使得Android应用的创建,运行和调试更加方便快捷。Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT)下载地址:安装 Eclipse 插件(ADT)启动 Eclipse,选择 Help Install New Software,在
6、出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”,然后点击Archive.,浏览和选择已经下载的ADT插件压缩文件。点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools(会选中下面的“Android Developer Tools”和“Android Editors“),点击 Next,最后重启 Eclipse。下载安装Android SDK:Android SDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具。下载地址:下载完SDK后,把.zip文件解压到你电脑上合适位置。启动 Eclipse,选择window-p
7、references,在打开的视图左边点击android,在右边的SDK Location中选择Android SDK所在位置。5高级软件人才实作培训专家!北京传智播客教育 开发第一个Android应用打开Eclipse,新建项目(点击File NewProject),在项目列表中展开Android目录,选择Android Project,如下图:6高级软件人才实作培训专家!北京传智播客教育 开发第一个Android应用7高级软件人才实作培训专家!北京传智播客教育 开发第一个Android应用点击”finish”即可完成项目的创建,创建后的项目已经是一个可运行的Android应用,我们可以通过
8、下面方式运行此应用:点击工具栏上机器人形状的虚拟设备管理器(简称“AVD“),如下:8高级软件人才实作培训专家!北京传智播客教育 开发第一个Android应用在打开的虚拟设备管理器中创建一个虚拟:9高级软件人才实作培训专家!北京传智播客教育 开发第一个Android应用在项目上右键点击run as Android application,如下图:10高级软件人才实作培训专家!北京传智播客教育 Android应用程序架构src/java原代码存放目录gen/自动生成目录gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是文件。这个文件由Android开发工具自动产生的
9、。Android开发工具会自动根据你放入res目录的资源,同步更新修改文件。正因为文件是由开发工具自动生成的,所以我们应避免手工修改。在应用中起到了字典的作用,它包含了各种资源的id,通过,应用可以很方便地找到对应资源。res/资源(Resource)目录在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。assets资源目录Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:项目清单文件 这个文
10、件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如 服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。项目环境信息,一般是不需要修改此文件11高级软件人才实作培训专家!北京传智播客教育 拔号器效果图:12高级软件人才实作培训专家!北京传智播客教育 拔号器因为应用要使用 的 服务,所以要在清单文件中添加 服务权限:略.13高级软件人才实作培训专家!北京传智播客教育 拔号器界面布局:LinearLayout(线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、Table
11、Layout(表格布局)、FrameLayout(帧布局)14高级软件人才实作培训专家!北京传智播客教育 Android中的显示单位l px(pixels)像素 一般HVGA代表320 x480像素,这个用的比较多。l dip或dp(device independent pixels)设备独立像素 这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。l sp(scaled pixels best for text size)比例像素 主要处理字体的大小,可以根据系统的字体自适应。除了上面三个显示单位,下面还有几个不太常用:l in(inches)英寸l mm
12、(millimeters)毫米 l pt(points)点,1/72英寸为了适应不同分辨率,不同的像素密度,推荐使用dip,文字使用sp。15高级软件人才实作培训专家!北京传智播客教育 拔号器Activity:public class DialerAction extends Activity Override public void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);Button button=(Button)findViewB
13、yId(R.id.button);button.setOnClickListener(new View.OnClickListener()public void onClick(View v)EditText editText=(EditText)findViewById(R.id.mobile);Intent intent=new Intent(,Uri.parse(tel:+editText.getText();DialerAction.this.startActivity(intent););16高级软件人才实作培训专家!北京传智播客教育 拔号器测试步骤:1在Eclipse中运行此应用
14、2在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令再开启一个Android模拟器:emulator-data itcast 注:itcast为用户数据存取文件,如果该文件不存在,默认在tools目录创建该文件 3在 扰号器中输入上图现显的 号码17高级软件人才实作培训专家!北京传智播客教育“尚未注册网络”错误信息的解决办法打开Android模拟器时,出现无信号,拔打 或发短信时,提示“尚未注册网络”错误信息的解决方案如下。场景一:你的电脑没有连接上互联网,同时也没有在局域网。解决办法:右键点击网上邻居,选择属性,在网络连接窗口中右键点击本地连接,选择属性,设置TC
15、P/IP属性如下:IP地址 子网掩码 默认网关 首选DNS服务器 场景二:你的电脑没有连接上互联网,但在局域网。解决办法:右键点击网上邻居,选择属性,在网络连接窗口中右键点击本地连接,选择属性,设置TCP/IP属性如下:IP地址:设置成你所在局域网的IP,如:192.168.1.100 子网掩码:设置成你所在局域网的掩码,如:默认网关:设置成你所在局域网的网关,一般网关的IP格式为:*.*.*.1,如:首选DNS服务器:设置成你所在局域网的路由器IP,一般路由器的IP格式为:*.*.*.1,如:最后一种解决方案是:让你的电脑连接上互联网。18高级软件人才实作培训专家!北京传智播客教育 短信发送
16、器效果图:19高级软件人才实作培训专家!北京传智播客教育 短信发送器因为应用要使用 的短信服务,所以要在清单文件中添加短信服务权限:略.20高级软件人才实作培训专家!北京传智播客教育 短信发送器界面布局:21高级软件人才实作培训专家!北京传智播客教育 短信发送器Activity主要代码:String mobile=mobileView.getText().toString();String content=contentView.getText().toString();SmsManager smsManager=SmsManager.getDefault();PendingIntent se
17、ntIntent=PendingIntent.getBroadcast(SMSSender.this,0,new Intent(),0);/如果字数超过70,需拆分成多条短信发送 List msgs=smsManager.divideMessage(content);for(String msg:msgs)smsManager.sendTextMessage(mobile,null,msg,sentIntent,null);/第四个参数用于告之短信发送状态,最后一个参数用于告之短信接收状态 Toast.makeText(SMSSender.this,短信发送完成,Toast.LENGTH_LO
18、NG).show();22高级软件人才实作培训专家!北京传智播客教育 短信发送器测试步骤:1在Eclipse中运行此应用 2在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令再开启一个Android模拟器:emulator-data itcast 注:itcast为用户数据存取文件,如果该文件不存在,默认在tools目录创建该文件 3在短信发送器的 号中输入上图现显的 号码注:目前Android系统对中文短信尚未支持,所以发送中文短信会有乱码,这个问题日后会被解决的。23高级软件人才实作培训专家!北京传智播客教育 发送彩信可以通过调用系统自带的短信程序发送彩信:In
19、tent intent=new Intent(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_STREAM,Uri.parse(file:/sdcard/cong.png);intent.putExtra(exit_on_sent,true);intent.putExtra(subject,its subject);intent.putExtra(sms_body,its content);intent.setType(“image/jpeg”);/视频:video/mpeg*,文本:text/plainstartActivity(intent
20、);24高级软件人才实作培训专家!北京传智播客教育 对应用进行单元测试在实际开发中,开发android软件的过程需要不断地进行测试。使用Junit测试框架,是正规Android开发的必用技术,在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性。第一步:首先在中加入下面红色代码:.上面targetPackage指定的包要和应用的package相同。第二步:编写单元测试代码(选择要测试的方法,右键点击“Run As”-“Android Junit Test”):import android.test.AndroidTestCase;import android.util.Log;p
21、ublic class XMLTest extends AndroidTestCase public void testSomething()throws Throwable Assert.assertTrue(1+1=3);25高级软件人才实作培训专家!北京传智播客教育 数据存储与访问很多时候我们开发的软件需要对处理后的数据进行存储,以供再次访问。Android为数据存储提供了如下几种方式:l文件lSharedPreferences(参数)lSQLite数据库l内容提供者(Content provider)l网络26高级软件人才实作培训专家!北京传智播客教育 使用文件进行数据存储首先给大家介
22、绍使用文件如何对数据进行存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。public class FileActivity extends Activity Override public void onCreate(Bundle savedInstanceState).FileOutputStream outStream=this.openFileOutput(itcast.txt,Context.MODE_PRIVATE);outStream.write(传智播客.getBytes();o
23、utStream.close();openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/”,如果文件不存在,Android 会自动创建它。创建的文件保存在/data/data/files目录,如:,通过点击Eclipse菜单“Window”-“Show View”-“Other”,在对话窗口中展开android文件夹,选择下面的File Explorer视图,然后在File Explorer视图中展开/data/data/files目录就可以看到该文件。openFileOutput()方法的第二参数用于指定操作模式,有四种模式,分别为:Context.MODE_
24、PRIVATE=0Context.MODE_APPEND=32768Context.MODE_WORLD_READABLE=1Context.MODE_WORLD_WRITEABLE=227高级软件人才实作培训专家!北京传智播客教育 使用文件进行数据存储:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。和用来控制其他应用是否有权限读写该文件。MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_
25、WRITEABLE:表示当前文件可以被其他应用写入。如果希望文件被其他应用读和写,可以传入:openFileOutput(itcast.txt,);android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/files),其他程序无法访问。除非在创建时指定了或者Context.MODE_WORLD_WRITEABLE,只有这样其他程序才能正确访问。28高级软件人才实作培训专家!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 名师精讲黎活明 名师 精讲黎活明
限制150内