移动互联网开发(Android)实验报告.doc_第1页
移动互联网开发(Android)实验报告.doc_第2页
移动互联网开发(Android)实验报告.doc_第3页
移动互联网开发(Android)实验报告.doc_第4页
移动互联网开发(Android)实验报告.doc_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

移动互联网开发(Android)实验报告 姓名: 贺 超 学号: 031440122 专业: 计算机课科学与技术 指导老师: 张华 完成日期: 2目 录实验一 Android开发环境的搭建41 实验目的及要求42 实验设备(环境)及要求43 实验内容44 实验步骤45 实验核心代码(关键代码),及调试中的问题46 实验的运行结果及分析47 实验总结心得体会4实验二 GUI创建套件Widget的使用41 实验目的及要求42 实验设备(环境)及要求43 实验内容44 实验步骤45 实验核心代码(关键代码),及调试中的问题46 实验的运行结果及分析47 实验总结心得体会5实验三 SQLite应用51 实验目的及要求52 实验设备(环境)及要求53 实验内容54 实验步骤55 实验核心代码(关键代码),及调试中的问题56 实验的运行结果及分析57 实验总结心得体会5实验四 获取手机剩余电量51 实验目的及要求52 实验设备(环境)及要求53 实验内容54 实验步骤55 实验核心代码(关键代码),及调试中的问题56 实验的运行结果及分析67 实验总结心得体会6实验五 网络访问与服务61 实验目的及要求62 实验设备(环境)及要求63 实验内容64 实验步骤65 实验核心代码(关键代码),及调试中的问题66 实验的运行结果及分析67 实验总结心得体会6实验六 Service的使用61 实验目的及要求62 实验设备(环境)及要求63 实验内容64 实验步骤65 实验核心代码(关键代码),及调试中的问题76 实验的运行结果及分析77 实验总结心得体会7实验一 Android开发环境的搭建1 实验目的及要求1、 搭建Eclipse+android开发环境2、 创建简单的Android应用程序3、 创建Activity并利用Intent的实现Activity的跳转2 实验设备(环境)及要求1、Microsoft Windows 10(64 位)2、Android SDK 4.33、Java Development Kit(JDK)V7.04、Eclipse开发IDE3 实验内容1、 搭建Eclipse+android开发环境2、 创建一个简单的“Hello World”工程3、 创建两个Activity,实现简单的Activity之间的参数传递4 实验步骤一、建立新项目Hello World,实现输出Hello world。二、创建两个Activity,实现简单的Activity之间的参数传递1、新建项目,在res/value中创建MainActivity资源文件2、在res/layout中新建MainActivity的布局文件main.xml代码如下 Activity_second.xml文件代码 5 实验核心代码(关键代码),及调试中的问题4、 修改MainActivity的资源文件MainActivity.java 代码如下package cn.hbmy.test1;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity Button button;TextView MainMsg;EditText Edit_Sent;private String firstData;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button)findViewById(R.id.Btn_Main);MainMsg = (TextView) findViewById(R.id.text_MainMsg);Edit_Sent = (EditText) findViewById(R.id.Edit_Sent);Intent intent = getIntent();String Data = intent.getStringExtra(second);MainMsg.setText(Data);button.setOnClickListener(new buttonListener();class buttonListener implements OnClickListenerOverridepublic void onClick(View arg0) / TODO Auto-generated method stubIntent intent = new Intent();intent.setClass(MainActivity.this, SecondActivity.class);firstData = Edit_Sent.getText().toString().trim();intent.putExtra(first, firstData);startActivity(intent);SecondActivity.java代码如下package cn.hbmy.test1;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class SecondActivity extends Activity Button button;TextView SecondTv;EditText Edit_Sent;private String SecondData;Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_second);SecondTv = (TextView)findViewById(R.id.Sectext_MainMsg);button = (Button) findViewById(R.id.Btn_Sec);Edit_Sent = (EditText) findViewById(R.id.SecEdit_Sent);Intent intent = getIntent();String name = intent.getStringExtra(first);SecondTv.setText(name);button.setOnClickListener(new OnClickListener() private String secondDate;Overridepublic void onClick(View v) / TODO Auto-generated method stubIntent intent = new Intent();intent.setClass(SecondActivity.this, MainActivity.class);secondDate = Edit_Sent.getText().toString().trim();intent.putExtra(second,secondDate );startActivity(intent););5、修改AndriodManifest.xml代码 6 实验的运行结果及分析 7 实验总结心得体会通过这个实验,掌握了两个Activity之间相互获取数据的方法,中间起到桥梁作用的是Intent。Intent中的两个交互数据的方法是putExtra()和getXxxExtra()实验二 GUI创建套件Widget的使用1 实验目的及要求1、 掌握资源编辑器、布局编辑器的使用2、 掌握按钮、编辑框、日期时间、对话框、下拉列表等主要Widget组件编程2 实验设备(环境)及要求1、Microsoft Windows 10(64 位)2、Android SDK 4.33、Java Development Kit(JDK)V7.04、Eclipse开发IDE3 实验内容设计如下图的界面 4 实验步骤新建项目Button,在reslayout中修改布局文件activity_main.xml 5 实验核心代码(关键代码),及调试中的问题MainActivity.java代码如下package cn.hbmy.test2;import android.app.Activity;import android.app.AlertDialog.Builder;import android.app.Dialog;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.CheckBox;import android.widget.ImageButton;import android.widget.RadioButton;public class MainActivity extends Activity ImageButton imageButton;Button Btn_box, Btn_Rad;private Dialog dialog;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageButton = (ImageButton) findViewById(R.id.IB_imageButton);imageButton.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) Button sub = new Button(MainActivity.this);sub.setText(关闭);dialog = new Dialog(MainActivity.this);dialog.setTitle(您点击了图片按钮);dialog.setContentView(sub);dialog.show();sub.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubdialog.dismiss();););/ 多选按钮Btn_box = (Button) findViewById(R.id.Btn_box);Btn_box.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubCheckBox checkBoxCh = (CheckBox) findViewById(R.id.CB_checkButton_ch);CheckBox checkBoxEn = (CheckBox) findViewById(R.id.CB_checkButton_En);CharSequence text = ;if (checkBoxCh.isChecked() text = text + Chinese;if (!equals() text = text + ;if (checkBoxEn.isChecked() text = text + English;if (equals() text = text + 没有选中任何一个!; else text = text + 被选中 ;Builder builder = new Builder(MainActivity.this);builder.setTitle(多选按钮).setMessage(text).setPositiveButton(关闭, null).show(););/ 单选按钮Btn_Rad = (Button) findViewById(R.id.Btn_Rad);Btn_Rad.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubRadioButton jump = (RadioButton) findViewById(R.id.jump);RadioButton table = (RadioButton) findViewById(R.id.table);CharSequence text = ;if(jump.isChecked()text = 跳水被选中;else if(table.isChecked()text = 乒乓球被选中;elsetext = 什么也没有!;Builder builder = new Builder(MainActivity.this);builder.setTitle(单选按钮).setMessage(text).setPositiveButton(关闭, null).show(););6 实验的运行结果及分析8 实验总结心得体会通过这次实验,我掌握了各个控件的使用方法,图片按钮,自动提示框,多选择框,单选择框,一般按钮,下拉列表等,还有就是各个布局(相对布局,线性布局)的使用等。实验三 SQLite应用1 实验目的及要求 1、掌握SQLite数据库编程。 2、掌握内容提供机制-Content Provider2 实验设备(环境)及要求 开发工具是Android Stido3 实验内容 1、新建项目shiyan4,GUI界面如上 除当前记录、清空当前界面的功能。4 实验步骤 1、搭建Android Stdio的开发环境 2、配置好所需的包及工具 3、建立新项目shiyan4,实现输出实验要求的各个要求。 4、运行应用程序,测试各个功能。5 实验核心代码(关键代码),及调试中的问题DBConnection.javapackage .shiyan4;import android.content.Context;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;public class DBConnection extends SQLiteOpenHelper private static final int VER = 1; private static Stringsqls = null; private static String tag = database; public DBConnection(Context context,String name,String sqls) super(context,name,null,VER); DBConnection.sqls = new Stringsqls.length; for (int i=0;isqls.length;i+) DBConnection.sqlsi = sqlsi; public DBConnection(Context context,String name) super(context,name,null,VER); Override public void onCreate(SQLiteDatabase db) try for (int i=0;isqls.length;i+) db.execSQL(sqlsi); Log.i(tag, DBConnection onCreate() OK!); new InitData().initial(db); catch (SQLException e) Log.i(tag,DBConnection onCreate() error!); Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) InitData.javapackage .shiyan4;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteStatement;import android.util.Log;public class InitData private static final String tag = database; public void initial(SQLiteDatabase db) db.beginTransaction(); SQLiteStatement stmt = null; try String sql = insert into + user + ( + username, + password, + phone, + level, + sex + ) + values(?,?,?,?,?); stmt = pileStatement(sql); for (int i=0;idata.length;i+) stmt.bindString(1,datai.username); stmt.bindString(1,datai.password); stmt.bindString(1,datai.phone); stmt.bindLong(1, datai.level); stmt.bindLong(1, datai.sex); stmt.executeInsert(); db.setTransactionSuccessful(); Log.i(tag,initial OK!); catch (Exception e) Log.i(tag,initial Error!); finally db.endTransaction(); private class User String username; String password; String phone; int level; int sex; User(String username,String password,String phone,int level,int sex) this.username = username; this.password = password; this.phone = phone; this.level = level; this.sex = sex; private User data = new User new User(Tom,12345620,R.id.RDmale), new User(Mike,12345621,R.id.RDmale), new User(Jakey,12345622,R.id.RDmale), new User(Tomas,12345623,R.id.RDmale), new User(Rose,12345624,R.id.RDfemale), new User(Kate,12345625,R.id.RDfemale), new User(Marry,12345626,R.id.RDfemale), new User(John,12345627,R.id.RDmale),;SQLiteActivity.javapackage .shiyan4;import android.app.Activity;import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.RadioGroup;import android.widget.Spinner;import android.widget.Toast;public class SQLiteActivity extends Activity private String tag = database; public interface dbinfo /本应用数据库信息 String DATABASE_NAME = db_phone; String TABLENAME_USER = user; String ID = id; String USERNAME = username; String PASSWORD = password; String PHONE = phone; String LEVEL = level; String SEX = sex; private String userfields = null; /user表的字段名 /activity上的控件变量 private EditText EDTusername = null; private EditText EDTpassword = null; private EditText EDTphone = null; private EditText EDTlevel = null; /private RadioButton RDmale = null; /private RadioButton RDfemale = null; private RadioGroup RGsex; private Spinner spinner; private Button BTNadd = null; private Button BTNclear = null; private Button BTNupdate = null; private Button BTNdelete = null; DBConnection helper = null; SQLiteDatabase db = null; Cursor cursor = null; int userid = 0; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initCtrl(); helper = getDBConnection(); db = helper.getWritableDatabase(); db.close(); setBTNadd(savedInstanceState);/ setSpinner(); setBTNupdate(savedInstanceState); setBTNdelete(savedInstanceState); setBTNclear(); private void setBTNc

温馨提示

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

最新文档

评论

0/150

提交评论