智能终端设计实验指导书.doc_第1页
智能终端设计实验指导书.doc_第2页
智能终端设计实验指导书.doc_第3页
智能终端设计实验指导书.doc_第4页
智能终端设计实验指导书.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

智能终端设计实验指导书目录目录1实验一 Android开发环境搭建和HelloWorld2实验二 Android界面设计8实验三 Android开机自启动服务11实验四 数据存储17实验五 天气预报服务24实验一 Android开发环境搭建和HelloWorld实验学时:4实验类型:验证实验时间:2014.9.20一、实验目的1. 掌握Android开发环境的搭建;2. 了解Android SDK的安装、配置、使用;3. 熟悉ADT组件, 开发工具eclipse的使用;4. 了解创建项目并熟悉文件目录结构;5. 掌握Android应用程序的生命周期及调试过程。二、实验环境Android SDK,Eclipse, JDK1.7;PC机三、实验内容1实验环境的软件安装与调试(1) JDK的下载与安装登陆网址,点击下图1所示的DownloadsJava for Develops图1 oracle官方网站进入如下图2界面,点击Java platform(JDK)8u5图2 Java platform(JDK)点击同意,然后根据计算机的操作系统及位数选择所需的软件版本。如下图3所示。图3 JDK安装包下载JDK的安装等待软件下载到本地后,直接双击,安装路径选择默认路径,一直点击下一步即可完成安装。配置环境变量JAVA_HOME、PATH、CLASSPATH.(2) Eclipse和Android SDK开发环境的下载与安装 在IE浏览器的地址栏内输入,进入此Android开发网址,具体如下图4所示然后点击网页的最下方”Get the SDK”进入SDK的下载地址。图4 Adroid官网点击网页右方的“Download SDK ADT Bundle for Windows”按钮,选择同意协议,选择操作系统相应位数,将软件的安装包下载到本地。图5 Android SDK ADT bundle for Windows下载将所下载的压缩文件解压到本地文件夹(注:文件所放的位置,必须是英文的目录)。打开文件夹,进入eclipse文件夹,双击eclipse.exe即可打开Android的开发环境。注意:在此压缩包中已经包含最新的SDK版本,如果需要旧的SDK版本,需要双击文件夹中的SDK Manager.exe,即可在线更新或者下载以前的SDK软件版本。2. 配置虚拟机点击菜单Window-Android SDK and AVD Manager。点击左侧的Virtual Devices,新建AVD(Android Virtual Devices = AVD,Android虚拟设备)。点击“New.”按钮,弹出“Create new Android Virtual Device(AVD)”对话框。在Name中输入AVD名称,如Android2.3,选择Target,如Android2.3-API Level 10。Skin里Build-in屏幕大小建议选的小一点,不要默认,比如WQVGA400,否则太大了,笔记本可能会满屏高度满屏导致不好操作。其它选项按照默认即可(后续仍可以随时修改,点击右侧的Edit按钮),点击“Create AVD“按钮即可。可以点击右侧的Start.进行测试,弹出窗口中点击Launch启动虚拟机(后续我们运行是使用eclipse里设置自动调用),AVD加载很慢,请耐心等待。注:此处若出现“PANIC:Could not open: C:Documents and SettingsAdministrator.android/avd/xxx.ini”错误,则可以点击AVD的Details,查看AVD的Path,在该路径下找到对应的avd目录及对应的ini文件,并将其拷贝到C:Documents and SettingsAdministrator.android/avd/目录下。并修改ini文件,将其中的Path修改为当前的avd目录的位置。3创建第一个HelloWorld点击Eclipse菜单File-New-Other,如下图6所示: 图6 创建新的工程 图7 命名新工程选择Android Project,并输入Application name, Project Name,Package name,具体如图7所示。点击Next,弹出如图所示界面。选择此Android应用程序工程所存放的位置。 图8 Android应用程序存储位置 图9 Android应用程序的图标点击Next,选择Android应用程序的图标。如图9所示。点击Next,选择工程为一个空的Activity。如图10所示。 图10 选择Activity类型 图11 模拟器启动界面最后点击finish。完成对第一个工程的创建。右击工程名称,Run As Android Application,即启动模拟器运行该程序。如图11所示。4Activity组件的生命周期变化根据所提供的Android应用程序Activity01文件夹下的部分源码。在所提供的已有的工程代码基础上进行修改,如何在代码中加入七个Activity的生命周期的回调函数,即onDestroy(),onPause(),onResume(),onStart(),onStop(),onRestart(),onCreate(),通过在其内部加入打印信息,观察Activity组件处于不同位置时,所调用的回调函数是哪一个或者哪几个,加深对生命周期回调函数的调用时机和功能的理解。第二个Activity没有显示任何内容,编写代码实现:在第二个Activity上面显示“OH,Yeah,我终于把你搞定了!”5.练习使用DDMS中Logcat调试工具的使用在第4题中,通过System.out.println加入调试打印信息,在Logcat中如何进行查看和过滤。6. Activity栈根据所提供的Android应用程序Activity02文件夹下的源码。通过加入打印信息,观察各个Activity的生命周期回调函数,结合所学的理论课程理解Activity栈的用法。在SecondActivity中点击按钮进入ThirdActivity后,如果点击back按钮,从ThirdActivity想直接回到FirstActivity,应该怎么对代码进行修改。四、思考与练习1. 如何卸载模拟器中的apk应用程序文件。2. 浏览Android SDK帮助文档,了解Android SDK帮助文档的结构与用途。实验二 Android界面设计实验学时:6实验类型:验证实验时间:2014.9.27一、实验目的1. 掌握用户界面的Button、RadioButton、RadioGroup、CheckBox、Spinner等基本控件的使用方法;2. 掌握用户界面布局的使用方法及技巧。3掌握界面事件的使用。二、实验环境Android SDK,Eclipse, JDK1.7;PC机三、实验内容1. 参考google官方提供的Android API帮助文档了解并掌握Button、RadioButton、RadioGroup、CheckBox、Spinner等基本控件的功能及使用方法;各种基本控件(Button、RadioButton、RadioGroup、CheckBox、Spinner)的源码(布局及绑定处理消息函数)实现。2设计的界面如下图1所示。要求如下:Spinner(1) 界面设计如图1所示。图1 Spinner基本控件的使用(2) 实现步骤:修改布局文件String.xml文件中进行声明字符串数组变量添加Java源码3练习界面布局管理器的使用使用三种布局方式实现如图2-4所示的界面设计。 图2 线性布局 图3 表格布局图4 相对布局4. 利用嵌套布局实现图5所示的计算器界面。图5 计算器5. 练习选项菜单、子菜单及上下文菜单的使用在图4的计算器上加入选项菜单:“编辑”,“查看”,“帮助”;并为其添加子菜单,即单击“编辑”菜单时,弹出“复制”和“粘贴”,单击“查看”时,弹出“标准型”和“科学型”,单击帮助时弹出“帮助主题”和“关于计算器”。6. 练习单击事件的使用利用单击事件,做一个能够进行加减乘除的简易计算器,计算结果在文本框中显示出来。 给按钮添加绑定事件的实验例程如下:protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btn=(Button)findViewById(R.id.button);btn.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stub);四、思考与练习1.使用多种布局方法实现下图所示的用户界面,并对比多种布局实现的复杂度。实验三 Android开机自启动服务实验学时:4实验类型:验证实验时间:2014.10.11一、实验目的1. 掌握Intent、Broadcast及Service组件的使用;2. 掌握多线程的概念及使用。3掌握Handler类及异步工具类的使用。4. 掌握网络访问的方法。二、实验环境Android SDK,Eclipse, JDK1.7;PC机三、实验内容1. Intent组件的使用,界面设计如图1和图2所示,完成如下功能:点击“启动第二个Activity”按钮,启动第二个界面,并传送数据至第二个界面,当点击第二个界面的“点击返回第一个Activity”时,第二个Activity关闭,并返回数据到第一个Activity。点击“打开网址”按钮启动Android系统自带的浏览器应用程序界面点击“发送短信”按钮启动Android系统自带的发短信应用程序界面。点击“发送邮件”按钮启动Android系统自带的发送邮件应用程序界面。 图1 第一个Activity 图2 第二个Activity2. Broadcast Receiver类的使用界面布局如下:图3 Broadcast Receiver类Broadcast Receiver类的创建及方法的使用/ BrctReceiver类文件实现public class BrctReceiver extends BroadcastReceiverpublic BrctReceiver()System.out.println(创建BrctReceiver对象);Overridepublic void onReceive(Context context, Intent intent) / TODO Auto-generated method stubSystem.out.println(执行onReceive()函数);/按钮监听事件处理类文件public class MainActivity extends Activity Button btn = null;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn = (Button)findViewById(R.id.btn);btn.setOnClickListener(new BtnListener();class BtnListener implements OnClickListenerOverridepublic void onClick(View v) / TODO Auto-generated method stubIntent it=new Intent();it.setAction(Intent.ACTION_EDIT);sendBroadcast(it);3.Service组件的使用界面布局如图4所示。图4 Service 组件的使用部分源码实现class startServiceListener implements OnClickListenerpublic void onClick(View v) serviceIntent = new Intent(StartServiceActivity.this,FirstService.class);startService(serviceIntent);class stopServiceListener implements OnClickListenerpublic void onClick(View v) stopService(serviceIntent);public class MyService extends ServiceOverridepublic IBinder onBind(Intent intent) / TODO Auto-generated method stubreturn null;Overridepublic void onCreate() / TODO Auto-generated method stubsuper.onCreate();Overridepublic int onStartCommand(Intent intent, int flags, int startId) / TODO Auto-generated method stubreturn super.onStartCommand(intent, flags, startId);Overridepublic void onDestroy() / TODO Auto-generated method stubsuper.onDestroy();4.使用异步工具类及网络访问方法实现电话号码归属地查询功能界面设计如图5所示。图5 电话号码归属地查询部分代码实现protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn = (Button)findViewById(R.id.button);tv=(TextView)findViewById(R.id.textView);et=(EditText)findViewById(R.id.editText);btn.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubtelNum=et.getText().toString();new AsyncTask() Overrideprotected String doInBackground(String. params) / TODO Auto-generated method stubString result=;String line=;InputStream in = null;HttpURLConnection conn=null;URL url=null;try String str = + /WebServices/MobileCodeWS.asmx/+ getMobileCodeInfo?mobileCode=+ $mobile&userID=; str=str.replace($mobile, params0);url = new URL(str); System.out.println(str);conn=(HttpURLConnection) url.openConnection();conn.setRequestMethod(GET);conn.setRequestProperty(Connection, keep-alive);conn.setDoInput(true);/可以读取从网络上下载到的数据int code = conn.getResponseCode();if(code = 200)System.out.println(访问成功。);in = conn.getInputStream();XmlPullParser parser=Xml.newPullParser();parser.setInput(in, UTF-8);int eventType=parser.getEventType();while(eventType!=XmlPullParser.END_DOCUMENT)switch(eventType)case XmlPullParser.START_DOCUMENT:System.out.println(START_DOCUMENT);break;case XmlPullParser.START_TAG:System.out.println(START_TAG+parser.getName()+ +parser.getNamespace();break;case XmlPullParser.TEXT:System.out.println(Text+parser.getText();result=parser.getText();break;case XmlPullParser.END_TAG:System.out.println(end_TAG);break;case XmlPullParser.END_DOCUMENT:System.out.println(END_DOCUMENT);break;default:break;eventType=parser.next();System.out.println(访XmlPullParser成功+result);catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();return result;Overrideprotected void onPostExecute(String result) / TODO Auto-generated method stubsuper.onPostExecute(result);tv.setText(result);.execute(telNum););四、思考与练习1.编程建立一个简单的进程内服务,实现比较两个整数大小的功能。服务提供Int Compare(Int, Int)函数,输入两个整数,输出较大的整数。实验四 数据存储实验学时:6实验类型:验证实验时间:2014.10.25一、实验目的1. 掌握SharePreferences的使用方法;2. 掌握Android内部文件及SD卡存储文件的方法。3掌握SQLite数据库的使用。二、实验环境Android SDK,Eclipse, JDK1.7;PC机三、实验内容1. 采用SharePreferences保存与读取数据界面设计如图1所示。图1 SharePreferences保存与读取数据部分源码如下public class MainActivity extends Activity private Button btnsave = null;private Button btnget = null;private EditText editname = null;private EditText editage = null;protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnsave = (Button)findViewById(R.id.btnsave);btnget = (Button)findViewById(R.id.btnget);editname = (EditText)findViewById(R.id.editname);editage = (EditText)findViewById(R.id.editage);btnsave.setOnClickListener(new BtnsaveListener();btnget.setOnClickListener(new BtngetListener(); class BtnsaveListener implements OnClickListenerpublic void onClick(View v) SharedPreferences share = getSharedPreferences(StudentInfo, MODE_PRIVATE);SharedPreferences.Editor edit = share.edit();edit.putString(name, lilei);edit.putInt(age, 20);mit(); class BtngetListener implements OnClickListener public void onClick(View v) SharedPreferences share = getSharedPreferences(StudentInfo, MODE_PRIVATE);editname.setText(share.getString(name, no name);editage.setText( +share.getInt(age, 0); 2. 数据存储:内部文件保存与读取数据界面设计如下图2所示。图2 内部文件存储部分源码如下:public class MainActivity extends Activity private Button writeBtn = null; private Button readBtn = null; private EditText edit = null;protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);writeBtn = (Button)findViewById(R.id.writeBtn);readBtn = (Button)findViewById(R.id.readBtn);edit = (EditText)findViewById(R.id.edit);writeBtn.setOnClickListener(new WriteBtnListener();readBtn.setOnClickListener(new ReadBtnListener(); class WriteBtnListener implements OnClickListenerpublic void onClick(View v) FileOutputStream fos = null;String text = abcdefg;try fos = openFileOutput(StudentInfo.txt, MODE_PRIVATE); fos.write(text.getBytes(); fos.flush(); fos.close();catch(Exception e) class ReadBtnListener implements OnClickListenerpublic void onClick(View v) FileInputStream fis = null;String readStr = ;try fis = openFileInput(StudentInfo.txt); byte readBytes = new bytefis.available(); while(fis.read(readBytes)!=-1) for(int i=0;ireadBytes.length;i+) readStr +=(char)readBytesi; edit.setText(readStr); fis.close();catch(Exception exception) 3SD卡数据存储界面设计如图3所示。图3 SD卡文件存储部分源码如下:public class MainActivity extends Activity private Button writeBtn = null; private Button readBtn = null; private EditText edit = null;protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);writeBtn = (Button)findViewById(R.id.writeBtn);readBtn = (Button)findViewById(R.id.readBtn);edit = (EditText)findViewById(R.id.edit);writeBtn.setOnClickListener(new WriteBtnListener();readBtn.setOnClickListener(new ReadBtnListener();class WriteBtnListener implements OnClickListenerpublic void onClick(View v) String filename = /mnt/sdcard/zqyun/stu.txt;String buffer = Micro SD card saves data!;File file = new File(filename);if (!file.getParentFile().exists()file.getParentFile().mkdirs();tryFileOutputStream fos = new FileOutputStream(file);fos.write(buffer.getBytes();fos.flush();fos.close();catch (Exception e) class ReadBtnListener implements OnClickListenerpublic void onClick(View v) String filename = /mnt/sdcard/zqyun/stu.txt;String Str=;File file = new File(filename);if (file.exists()tryFileInputStream fis = new FileInputStream(file);byte buffer = new bytefis.available();while(fis.read(buffer)!=-1)for (int i=0;ibuffer.length;i+)Str += (char)bufferi;edit.setText(Str);catch (Exception e) 4.SQLite数据存储界面设计如图4所示:图4 SQLite数据存储界面部分源码如下:/ MainActivity类文件实现public class MainActivity extends Activity private Button createButton = null; private Button insertButton = null; private Button updateButton = null; private Button delButton = null; private Button queryButton = null;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);createButton = (Button)findViewById(R.id.buttoncreate);insertButton = (Button)findViewById(R.id.buttoninsert);updateButton = (Button)findViewById(R.id.buttonupdate);delButton = (Button)findViewById(R.id.buttondelete);queryButton = (Button)findViewById(R.id.buttonquery);createButton.setOnClickListener(new CreateBtnListener();insertButton.setOnClickListener(new InsertBtnListener();updateButton.setOnClickListener(new UpdateBtnListener();delButton.setOnClickListener(new DelBtnListener();queryButton.setOnClickListener(new QueryBtnListener();class CreateBtnListener implements OnClickListenerpublic void onClick(View v) SQLiteOpenHelper sqlhelper = new MySqliteHelper(MainActivity.this,stuInfo.db,null,1);SQLiteDatabase db = sqlhelper.getWritableDatabase();class InsertBtnListener implements OnClickListenerpublic void onClick(View v) SQLiteOpenHelper sqlhelper = new MySqliteHelper(MainActivity.this,stuInfo.db,null,1);SQLiteDatabase db = sqlhelper.getWritableDatabase();ContentValues newvalue = new ContentValues();newvalue.put(id, 1);newvalue.put(name, zhangsanfeng);newvalue.put(age,20);db.insert(mytab, null, newvalue);class UpdateBtnListener implements OnClickListenerpublic void onClick(View v) SQLiteOpenHelper sqlhelper = new MySqliteHelper(MainActivity.this,stuInfo.db,null,1);SQLiteDatabase db = sqlhelper.ge

温馨提示

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

评论

0/150

提交评论