欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新Android应用基础实验指导书.doc

    • 资源ID:33831886       资源大小:1.43MB        全文页数:41页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新Android应用基础实验指导书.doc

    精品资料Android应用基础实验指导书.实验一:搭建Android平台和创建HelloWorld实验目的本次实验的目的是让大家熟悉搭建智能手机开发平台的过程,了解Andorid开发项目的基本文件目录结构,并实现HelloWorld小例程。实验要求1. 完成Android开发平台的搭建及相关配置2. 创建项目并熟悉文件目录结构3. 实现例程HelloWorld实验内容一、 安装Java JDK下载所需版本的JDK,点击安装到C盘 Java SE Development Kit 8u102You must accept the to download this software. Accept License Agreement      Decline License Agreement窗体底端Thank you for accepting the Oracle Binary Code License Agreement for Java SE; you may now download this software.Product / File DescriptionFile SizeDownloadWindows x86189.2 MB  Windows x64194.68 MB  二、安装Android studio 从安卓中文社区(http:/www.android-studio.org/)下载最新版本的 安装包, 安装软件开发平台。对软件进行个性化设置。 三、 建立新项目HelloWorld步骤。四、 运行调试程序步骤。实验二:UI设计实验目的本次实验的目的是让大家熟悉Android开发中的UI设计,包括了解和熟悉常用控件的使用、界面布局和事件处理等内容。实验要求1. 熟悉和掌握界面控件设计2. 了解Android界面布局3. 掌握控件的事件处理实验内容一、常用控件1.常用控件介绍Android中有许多常用控件(简单分类):文本框:TextView、EditText按钮:Button、RadioButton、RadioGroup、CheckBox、ImageButton列表:List、ExpandableListView、Spinner、AutoCompleteTextView、GridView、ImageView进度条:ProgressBar、ProgressDialog、SeekBar、RatingBar选择器:DatePicker、TimePicker菜单:Menu、ContentMenu对话框:Dialog、ProgressDialog常用的控件有文本框、按钮和列表等。2.控件的实现在上一个实验中,我们用TextView实现了在界面显示一句“Hello The Android World!”。 public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);TextView textView = new TextView(this);textView.setText("Hello The Android World!");setContentView(textView);现在我们来看一看.xml文件和编码的相互关系。在HelloWorld.java中敲入如下代码:package tju.scs.android.test;import android.app.Activity;import android.os.Bundle;import android.widget.Button;import android.widget.TextView;public class HelloWorld extends Activity /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView textView = (TextView)findViewById(R.id.textView01); Button button = (Button)findViewById(R.id.button01);注意在上面并没有为textView和button设置文本内容等,另外textView的初始化代码为:TextView textView = (TextView)findViewById(R.id.textView01);此处初始化用到了id为textView01的TextView。在项目目录中找到/res/layout/main.xml,如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:id="+id/textView01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="string/hello" /> <Buttonandroid:id="+id/button01"android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="string/button" /></LinearLayout>注意上面列出了两个控件:TextView和Button,id分别为textView01和button01,它们的文本内容分别为string/hello和string/button。在项目目录中找到/res/values/strings.xml,如下:<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello The Android World!</string> <string name="button">I am a button!</string> <string name="app_name">HelloWorld</string></resources>可以看到两个string:hello和button的内容分别为“Hello The Android World!”和“I am a button!”,即使文本框和按钮在界面上显示的内容,如下图所示:3.控件的属性可以直接在类中为控件设置属性,也可以在xml文件中设置属性。每个控件都有一系列的属性,例如id、size、text、color等等,大家可以找找API查看控件的属性。二、界面布局Android中有很多布局:l FrameLayout:最简单的一个布局对象。它里面只显示一个显示对象。Android屏幕元素中所有的显示对象都将会固定在屏幕的左上角,不能指定位置。但允许有多个显示对象,但后一个将会直接在前一个之上进行覆盖显示,把前一个部份或全部挡住(除非后一个是透明的)。l LinearLayout:以单一方向对其中的显示对象进行排列显示,如以垂直排列显示,则布局管理器中将只有一列;如以水平排列显示,则布局管理器中将只有一行。同时,它还可以对个别的显示对象设置显示比例。l TableLayout:以拥有任意行列的表格对显示对象进行布局,每个显示对象被分配到各自的单元格之中,但单元格的边框线不可见。l AbsoluteLayout:允许以坐标的方式,指定显示对象的具体位置,左上角的坐标为(0, 0),向下及向右,坐标值变大。这种布局管理器由于显示对象的位置定死了,所以在不同的设备上,有可能会出现最终的显示效果不一致。l RelativeLayout:允许通过指定显示对象相对于其它显示对象或父级对象的相对位置来布局。如一个按钮可以放于另一个按钮的右边,或者可以放在布局管理器的中央。布局中可以放置控件,而每个布局又可以嵌套其他布局,这种思想和之前学习java的布局是一样的。例如在main.xml中如下布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="android:id="+id/main" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"> <TextView android:text="red" android:gravity="center_horizontal" android:background="#aa0000" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1"/> <TextView android:text="green" android:gravity="center_horizontal" android:background="#00aa00" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1"/> <TextView android:text="blue" android:gravity="center_horizontal" android:background="#0000aa" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1"/> <TextView android:text="yellow" android:gravity="center_horizontal" android:background="#aaaa00" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1"/> </LinearLayout> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="2"> <TextView android:text="row one" android:textSize="15pt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> <TextView android:text="row two" android:textSize="15pt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> <TextView android:text="row three" android:textSize="15pt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> <TextView android:text="row four" android:textSize="15pt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> </LinearLayout> </LinearLayout>在一个LinearLayout布局下嵌套了两个LinearLayout,出来的效果如下图所示:其他布局请大家自行尝试。三、事情处理事件监听和时间处理的概念大家以前都学习过,android中主要有如下事件方法:l onClick(View v) 一个普通的点击按钮事件 l boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)用于在多个事件连续时发生,用于按键重复l boolean onKeyDown(int keyCode,KeyEvent event) 用于在按键进行按下时发生 l boolean onKeyUp(int keyCode,KeyEvent event) 用于在按键进行释放时发生l onTouchEvent(MotionEvent event)触摸屏事件,当在触摸屏上有动作时发生l boolean onKeyLongPress(int keyCode, KeyEvent event)当长时间按时发生下面以点击一个Button为例子:package tju.scs.android.test;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class HelloWorld extends Activity /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)findViewById(R.id.button01); button.setOnClickListener(buttonListener); private OnClickListener buttonListener = new OnClickListener()public void onClick(View v) Toast.makeText(v.getContext(), "You have clicked a button!",Toast.LENGTH_LONG).show(); ;为button添加了一个监听buttonListener,对应的onClick方法则抛出了一则文本框提示用户,效果图如下所示:其他事件处理请大家自行尝试。实验三:Intent、Activity应用一、实验目的本次实验的目的是让大家熟悉Intent和Activity的使用。Intent的最常用的用途是绑定应用程序组件。Intent用来在应用程序Activity间启动、停止和传输。并实现添加用户名,密码小例程。二、实验要求4. 完成Android开发平台的搭建及相关配置5. 创建项目并熟悉文件目录结构6. 实现例程添加用户名,密码实验步骤三、实验步骤项目界面:添加用户名,密码,在另一页面显示用户名。1、创建项目新建一个Android工程命名为test1,目录结构如下图:2、添加布局文件修改main.xml布局文件(这里增加了两个TextView,两个EditView,一个按钮),如下图新建test2.xml布局文件(这里增加了两个TextView),这个页面是用来显示添加的用户名,如下图:3、创建Activity修改test1.java,并且新建一个Activity,一个是test2.java。,代码分别如下:Test1.java作用:获得页面输入的内容,存储并跳转到test2.xml。 Test2.java作用:从Intent中获得需要显示name的值,并给TextView赋值。4修改AndroidManifest.xml文件比较重要的一步啦,修改AndroidManifest.xml文件(将新增的Activity,test2) 注册一下,代码如下(第16行):实验四 XML文件序列化【目的】理解原始XML资源与其他使用XML文件定义资源的区别。【要求】1) 创建原始XML资源;2) 在程序中使用原始XML资源。【原理】Android资源管理机制,XML文件操作。【过程】1、 创建工程a) Project name:Chapter03_Resourceb) Package name:com.example.chapter03_resourcec) Activity name:TestXmlActivityd) Application name:Chapter03_Resourcee) Min SDK Version:3                     图1     创建工程图1.原始XML资源文件的定义原始XML资源文件的定义信息通过表3.6来描述。表3.6  原始XML资源文件定义和使用 资 源 位 置res/xml/test.xm(文件名称任意)原始XML文件格式使用<?xml version="1.0" encoding="utf-8"?><resources>根元素<someElement>子元素:<someElement name=value/>子元素及属性名称任意获得XML资源的方法getResources().getXml()引用XML资源的格式Java代码中:R.xml.xml_name 2. 原始XML文件的使用获得原始XML文件的基本思路是,通过getResources().getXml()获得XML原始文件,得到XmlResourceParser对象,通过该对象来判断是文档的开始还是结尾、是某个标签的开始还是结尾,并通过一些获得属性的方法来遍历XML文件,从而访问XML文件的内容。下面的实例演示了如何访问XML文件内容,并将内容显示在一个TextView中。2.1在"Chapter03_Resource"工程中的resxml目录下,创建一个test.xml文件。该文件中定义了两条客户信息,属性信息有姓名、年龄、性别和E-mail地址,内容如下所示。1 <?xml version="1.0" encoding="utf-8"?>2 <resources>3     <customer name="tom" age="20" gender="male" email="tom"/>4     <customer name="kite" age="21" gender="male" email="kite"/>5 </resources>2.2在该工程的reslayout目录下,创建一个test_xml.xml布局文件,该布局文件中添加一个Button和一个TextView视图组件。Button用于响应单击事件访问XML内容,TextView用于显示XML内容。6 <?xml version="1.0" encoding="utf-8"?>7 <LinearLayout xmlns:android=" 8     android:orientation="vertical" android:layout_width="fill_parent" 9     android:layout_height="fill_parent">10       11     <Button   12     android:text="获得XML内容"   13     android:id="+id/xmltTestButton01"   14     android:layout_width="wrap_content"   15     android:layout_height="wrap_content"></Button>16       17     <TextView   18     android:text=""   19     android:id="+id/xmlContentTextView01"   20     android:layout_width="wrap_content"   21     android:layout_height="wrap_content" 22     />23       24 </LinearLayout>                     图2  布局显示图3.源工程代码在该工程的包中创建一个TestXmlActivity类。在该类顶部声明使用到的TextView和Button,在onCreate()方法中实例化,添加Button的单击事件,获得XML内容显示在TextView中。package com.amaker.ch03.xml;  import java.io.IOException;  import org.xmlpull.v1.XmlPullParser;  import org.xmlpull.v1.XmlPullParserException;  import android.app.Activity;  import android.content.res.Resources;  import android.content.res.XmlResourceParser;  import android.os.Bundle;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;  import android.widget.TextView;   import com.amaker.test.R;  public class TestXmlActivity extends Activity       private TextView myTextView;      private Button myButton;      Override     public void onCreate(Bundle savedInstanceState)           super.onCreate(savedInstanceState);          / 设置当前Activity的内容布局视图         setContentView(R.layout.test_xml);          / 通过findViewById方法获得TextView实例         myTextView = (TextView)findViewById(R.id.xmlContentTextView01);          / 通过findViewById方法获得Button实例         myButton = (Button)findViewById(R.id.xmltTestButton01);          / 设置按钮的单击事件监听器         myButton.setOnClickListener(new OnClickListener()           Override          public void onClick(View v)                  / 定义计数器                 int counter = 0;                 / 实例化StringBuilder                 StringBuilder sb = new StringBuilder("");                 / 获得Resources 实例                 Resources r = getResources();                 / 通过Resources,获得XmlResourceParser实例                     XmlResourceParser xrp = r.getXml(R.xml.test);                 try                       / 如果没有到文件尾继续循环                      while (xrp.getEventType() !=XmlResourceParser.END_DOCUMENT)                           / 如果是开始标签                           if (xrp.getEventType() =XmlResourceParser.START_TAG)                               / 获得标签名称                               String name = xrp.getName();                              / 判断标签名称是否等于customer                              if(name.equals("customer")                                    counter+;                                     获得标签属性追加到StringBuilder中                                   sb.append("第"+counter+"条客户信"+"n");                                   sb.append(xrp.getAttributeValue(0)+"n");                                   sb.append(xrp.getAttributeValue(1)+"n");                                  sb.append(xrp.getAttributeValue(2)+"n");                                  sb.append(xrp.getAttributeValue(3)+"nn");                                                            else if (xrp.getEventType()= XmlPullParser.END_TAG)                              else if (xrp.getEventType()= XmlPullParser.TEXT)                                                            / 下一个标签                           xrp.next();                                            / 将StringBuilder设置为TextView的文本                    myTextView.setText(sb.toString();               catch (XmlPullParserException e)                   e.printStackTrace();               catch (IOException e)                   e.printStackTrace();                              );         4.运行程序,结果如下图    图3   结果运行显示图  ·实验5 ContentProvider应用5.1 实验目的 掌握Android操作系统ContentProvider的基本概念; 掌握使用ContentProvider的实现方法。5.2 实验内容 编写工程ContentProviderTest,并进行数据插入、查询、删除等操作5.3 实验原理一般计算机所使用的操作系统大都会提供共享文件机制,让应用程序彼此间可以存储和访问文件,数据可以相互共享。Android操作系统所采用的方法是不同的,在Android操作系统中,所有应用程序的数据和文件都是属于该应用程序所私有的。但是Android操作系统通过提供内容提供器(Content Providers)方法来公开数据,可以公开数据到数据内容容器内,其他应用程序经过授权可以读取。数据内容提供器的数据类型可以是图像(Image)、音频(Audio)、视频(Video)和个人通讯薄(Personal Content Information)。Content Providers 为存储和获取数据提供了统一的接口,使得在不同的应用程序之间可以共享数据。调用Content Providers可以访问这些数据库,而不用关心存储的细节。内容提供器是应用程序的一个可选的机制,它提供标准语法来读取和写入数据。实现内容提供器和实现SQLite数据库有什么不同呢?应用程序实现SQLite数据库时,由应用程序直接和数据库接口,所以在应用程序中需要实现SQLite的接口db.onCreate()、db.insert ()、db.update()、db.delete()、db.query()和db.close(),而实现内容提供器时,在应用程序和数据库之

    注意事项

    本文(最新Android应用基础实验指导书.doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开