基于android开发实验报告总结_第1页
基于android开发实验报告总结_第2页
基于android开发实验报告总结_第3页
基于android开发实验报告总结_第4页
基于android开发实验报告总结_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

于android报告总结组员:指导老师:2016.12.15TOC\o"1-2"\h\z\u一Android开发环境的搭建 3的及要求 3设备(环境)及要求 3内容 3步骤 3 4的运行结果及分析 93设备(环境)及要求 10三GUI件Widget的使用 18的及要求 18设备(环境)及要求 18内容 19步骤 19 19的运行结果及分析 28四SQLite应用 29的及要求 29设备(环境)及要求 30内容 30步骤 30 30的运行结果及分析 41AndroidEclipse+Android2.Android3.ActivityintentActivityPCJDKEclipseAndroidSDKADTEclipse+Android”helloworld”工程两Activity,Activity参数传递步骤1JDK1.6,配置变量,如果所示。中的问题1.MainActivity.javapackagecom.example.app;importandroid.os.Bundle;importandroid.app.Activity;importandroid.content.Intent;importandroid.view.Menu;importandroid.view.View;importandroid.widget.Button;publicclassMainActivityextendsActivity{privateButtonbutton;privatemyappma;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button=(Button)this.findViewById(R.id.button);button.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){//TODO动生成的方法存根ma.setName(Intent intent=newIntent(MainActivity.this,other.class);startActivity(intent);}});}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;}}2.myapp.javapackagecom.example.app;importandroid.app.Application;importandroid.os.Bundle;publicclassmyappextendsApplication{privateStringname;publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}@OverridepublicvoidonCreate(){//TODO动生成的方法存根super.onCreate();setName(}}other.javapublicclassotherextendsActivity{privateTextViewtextview;privatemyappma;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){//TODO动生成的方法存根super.onCreate(savedInstanceState);ma=(myapp)getApplication();textview.setText(" >appname"+ma.getName());}}分析AndroidUIAndroidAndroid、控件使用。要求按要求Android使用一定技术现其功能。备(环境)及要求PC算机JDK4)AndroidSDK5)ADTBMIEclipseEclipseEclipse“AndroidApplicationProject”子菜在“NewAndroidApplication”对话框ne1t的新对话框都Next最后个对话框Finish,新左边列表res夹下values夹双击下strings.xmlAndroidResourcesAddg在e名如图“string.xml黄色部分:<?xmlversion="1.0"<resources><stringname="app_name">app2_1</string>ge><><stringworld!</string><string<string</string><string</string><string</string><string(cm)</string><string(kg)</string><stringBMI</string>ge>/g></resources>reslayoutactivity_main.xml。击activity_main.xml进代码界面将所代码删除。GraphicalLayoutLayouts从选择LinearLayout(vertical)组图标拖曳至右。如图。添加控件FormWidgets3w131个(含2n122和1n1。置属性组件textView1radioGroupradio0radio1editText1editText2button1属性值android:text="@string/appname"组件textView1radioGroupradio0radio1editText1editText2button1属性值android:text="@string/appname"android:layout_gravity="center"android:orientation="horizontal"android:text="@string/sex1"android:text="@string/sex2"android:inputType="numberDecimal|numberSigned"android:inputType="numberDecimal|numberSigned"android:text="@string/hight"android:text="@string/count"置完属性后,及其布局如图所示。并编写事代码src夹,单击其下com.example.app2_1,单击MainActivity.java。输黄色底色代:packagecom.example.app2_1;importandroid.os.Bundle;importandroid.app.Activity;importandroid.view.Menu;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.Toast;publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Buttonbt=(Button)findViewById(R.id.button1);bt.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewarg0){//TODOAuto-generatedmethodstubEditTexth=(EditText)findViewById(R.id.editText1);Stringh1=h.getText().toString();doublehh;if("".equals(h1)){hh=0;}else{hh=Double.valueOf(h1);}EditTextw=Stringw1=w.getText().toString();doubleww;if("".equals(w1)){ww=0;}else{ww=Double.valueOf(w1);}if(ww==0||hh==0){Toastmessage.show();}else{Doublebmi=ww/(hh*hh/10000);Stringbmistr=bmi.toString();Toastmessage=Toast.makeText(MainActivity.this,bmistr,Toast.LENGTH_SHORT);message.show();}}});}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;}}5“(AVDManager)图标打开D的DDt,AndroidAnzroideDr,RunAs项下的“AndroidApplication”子菜项“(AVDManager)图标打开D的DDt,AndroidAnzroidAndroidGUIWidget、布局组设备(环境)PCJDK3)Eclipse4)AndroidSDK5)ADT框。单项自动提示文本框、多项自动提示文本框、下拉列表。步骤新建项目Button/Editres/layput中修改布局文件main.xmlActivityButtonActivityDialogDialogPro.java核心代码(关键代码,及调试中的问题EGGERMicrocontrollerGmbH&Co.KGEGGERMicrocontrollerGmbH&Co.KGSolutionsforrealtimemicrocontrollerapplicationsC-filegeneratedby:*GUI_BuilderforemWinversion5.22CompiledJul 42013,15:16:01(c)2013SeggerMicrocontrollerGmbH&Co.KGInternet:[url][/url] t:[email]support@[/email]USERSTART(Optionallyinsertadditionalincludes)USEREND#include"DIALOG.h"Defines#defineID_WINDOW_00#defineID_BUTTON_00x170#defineID_BUTTON_10x171#defineID_ICONVIEW_00x250#defineID_DROPDOWN_00X180#defineID_GRAPH_00x220#defineID_EDIT_00x100USERSTART(Optionallyinsertadditionaldefines)USERENDStaticdataUSERSTART(Optionallyinsertadditionalstaticdata)USEREND_aDialogCreatestaticconstGUI_WIDGET_CREATE_INFO_aDialogCreate[]={{WINDOW_CreateIndirect,"Window",ID_WINDOW_0,2,0,240,320,0,0x0,0},{BUTTON_CreateIndirect,"Button",ID_BUTTON_0,79,268,80,20,0,0x0,0},{GRAPH_CreateIndirect,"Graph",ID_GRAPH_0,20,110,200,100,0,0x0,0},{EDIT_CreateIndirect,"Edit",ID_EDIT_0,58,35,120,63,0,0x64,0},//USERSTART(Optionallyinsertadditionalwidgets)//USEREND};StaticcodeUSERSTART(Optionallyinsertadditionalstaticcode)USEREND_cbDialogstaticvoid_cbDialog(WM_MESSAGE*pMsg){WM_HWINhItem;int NCode;int Id;//USERSTART(Optionallyinsertadditionalvariables)//USERENDswitch(pMsg->MsgId){caseWM_INIT_DIALOG:////Initializationof'Edit'//hItem=WM_GetDialogItem(pMsg->hWin,ID_EDIT_0);EDIT_SetText(hItem,"ZHANGYI");//USERSTART(Optionallyinsertadditionalcodeforfurtherwidgetinitialization)//USERENDbreak;caseWM_NOTIFY_PARENT:Id =WM_GetId(pMsg->hWinSrc);NCode=pMsg->Data.v;switch(Id){caseID_BUTTON_0://Notificationssentby'Button'switch(NCode){caseWM_NOTIFICATION_CLICKED://USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)//USERENDbreak;caseWM_NOTIFICATION_RELEASED://USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)//USERENDbreak;//USERSTART(Optionallyinsertadditionalcodeforfurthernotificationhandling)//USEREND}break;caseID_EDIT_0://Notificationssentby'Edit'switch(NCode){caseWM_NOTIFICATION_CLICKED://USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)//USERENDbreak;caseWM_NOTIFICATION_RELEASED://USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)//USERENDbreak;caseWM_NOTIFICATION_VALUE_CHANGED://USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)//USERENDbreak;//USERSTART(Optionallyinsertadditionalcodeforfurthernotificationhandling)//USEREND}break;//USERSTART(OptionallyinsertadditionalcodeforfurtherIds)//USEREND}break;//USERSTART(Optionallyinsertadditionalmessagehandling)//USERENDdefault:WM_DefaultProc(pMsg);break;}}/*********************************************************************** Publiccode************************************************************************//*********************************************************************** CreateWindow*/voidMain_Task(void){//???GUI_Init();WM_SetDesktopColor(GUI_WHITE); /*allyupdatedesktopwindow*/WM_SetCreateFlags(WM_CF_MEMDEV); /*Usememoryvicesonallwindowstoavoidflicker*///PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);//FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);//PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);//BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);//CHECKBOX_SetDefaultSkin(CHECKBOX_SKIN_FLEX);//DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);//SCROLLBAR_SetDefaultSkin(SCROLLBAR_SKIN_FLEX);//SLIDER_SetDefaultSkin(SLIDER_SKIN_FLEX);//HEADER_SetDefaultSkin(HEADER_SKIN_FLEX);//RADIO_SetDefaultSkin(RADIO_SKIN_FLEX);//????????GUI_ExecDialogBox(_aDialogCreate,GUI_COUNTOF(_aDialogCreate),&_cbDialog,0,0,0);}}//USERSTART(Optionallyinsertadditionalpubliccode)//USEREND分析SQLiteGUIsharedPreferencePCJDK3)Eclipse4)AndroidSDK5)ADTeI。按钮响应代码保存按钮Preference件退出应用程序或关时自动保存信息到共享文件步骤SharedPreference,在resvalue-zh,在lRes\layoutmain.xmlActivitySharedPreference.java核心代码关键代码调试中的问题#include<sqlite3.h>#include<string>usingnamespacestd;voiddoTest(){sqlite3*conn=NULL;//1intresult=sqlite3_open("D:/mytest.db",&conn);if(result!=SQLITE_OK){sqlite3_close(conn);return;}constchar*createTableSQL="CREATETABLETESTTABLE(int_colINT,float_colREAL,string_colTEXT)";sqlite3_stmt*stmt=NULL;intlen=strlen(createTableSQL);//2.sqlite3_finalizesqlite3_stmtif(sqlite3_prepare_v2(conn,createTableSQL,len,&stmt,NULL)!=SQLITE_OK){if(stmt)sqlite3_close(conn);return;}//3.sqlite3_stepDDL而言,sqlite3_step正确SQLITE_DONE。//SELECTSQLITE_ROWSQLITE_DONE。if(sqlite3_step(stmt)!=SQLITE_DONE){sqlite3_finalize(stmt);sqlite3_close(conn);return;}//4.释放对象sqlite3_finalize(stmt);printf("Succeedtocreatetesttablenow.\n");//5.sqlite3_stmt。constchar*selectSQL="SELECT*FROMTESTTABLEWHERE1=0";sqlite3_stmt*stmt2=NULL;if(sqlite3_prepare_v2(conn,selectSQL,strlen(selectSQL),&stmt2,NULL)!=SQLITE_OK){if(stmt2)sqlite3_finalize(stmt2);sqlite3_close(conn);return;}//6select,获取结果集中字段量。intfieldCount=sqlite3_column_count(stmt2);printf("Thecolumncountis%d.\n",fieldCount);//7meta类型。for(inti0ifieldCount++i//TableSQLite的类型本身是动态,所以在没有时无法通过sqlite3_column_typesqlite3_column_type,//sqlite3_column_decltype。stringstype=sqlite3_column_decltype(stmt2,i);stype=strlwr((char*)stype.c_str());//以决定字段亲缘性规则解析if(stype.find("int")!=string::npos){printf("Thetypeof%dthcolumnisINTEGER.\n",i);}elseif(stype.find("char")!=string::npos||stype.find("text")!= string::npos){printf("Thetypeof%dthcolumnisTEXT.\n",i);}elseif(stype.find("real")!=string::npos||stype.find("floa")!= string::npos||stype.find("doub")!= string::npos){printf("Thetypeof%dthcolumnisDOUBLE.\n",i);}}sqlite3_finalize(stmt2);//8.constchar*dropSQL="DROPTABLETESTTABLE";sqlite3_stmt*stmt3=NULL;if(sqlite3_prepare_v2(conn,dropSQL,strlen(dropSQL),&stmt3,NULL)!=SQLITE_OK){if(stmt3)sqlite3_finalize(stmt3);sqlite3_close(conn);return;}if(sqlite3_step(stmt3)==SQLITE_DONE){printf("Thetesttablehasbeendropped.\n");}sqlite3_finalize(stmt3);sqlite3_close(conn);}intmain(){doTest();return0;}/doeteeisofis1thcolumnisDOUBLE.//Thetypeof2thcolumnisTEXT.//Thetesttablehasbeendropped.、常规数据插入1).创建测试数据表。2).通过INSERT语句插入测试数据。3).删除测试表。、常规数据插入1).创建测试数据表。2).通过INSERT语句插入测试数据。3).删除测试表。见以下代码及关键性注释:#include<sqlite3.h>#include<string>#include<stdio.h>usingnamespacestd;voiddoTest(){sqlite3*conn=NULL;//1.打开数据库intresult=sqlite3_open("D:/mytest.db",&conn);if(result!=SQLITE_OK){sqlite3_close(conn);return;}constchar*createTableSQL="CREATETABLETESTTABLE(int_colINT,float_colREAL,string_colTEXT)";sqlite3_stmt*stmt=NULL;intlen=strlen(createTableSQL);//2.sqlite3_finalizesqlite3_stmtif(sqlite3_prepare_v2(conn,createTableSQL,len,&stmt,NULL)!=SQLITE_OK){if(stmt)sqlite3_close(conn);return;}//3.sqlite3_stepDDL而言,sqlite3_step正确SQLIT

温馨提示

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

评论

0/150

提交评论