name=""/>
五:
运行结果截图
实验五:
Service绑定实现数据运算
一:
实验目的
了解Service的原理和用途;
掌握本地服务的管理和方法;
掌握服务的隐式启动和显示启动方法;
掌握远程服务的绑定和调用方法。
二:
实验设备
Eclipse开发Android应用
Android虚拟设备(AVD)
三:
实验内容
以绑定方式使用Service,获取Service实例,当点击绑定服务时可以实现两个数的求差和比较大小功能,并输出结果,当点击取消绑定服务时,则无法运算。
四:
实验核心代码
publicclassMathServiceextendsService{
privatefinalIBindermBinder=newLocalBinder();
publicclassLocalBinderextendsBinder{
MathServicegetService(){
return;
}
}
publicIBinderonBind(Intentintent){
(this,"本地绑定:
MathService",.show();
returnmBinder;
}
publicbooleanonUnbind(Intentintent){
(this,"取消本地绑定:
MathService",.show();
returnfalse;
}
publiclongsub(longa,longb){
returna-b;
}
publicintcompare(longa,longb){
if(a>b)return1;
elseif(a==b)return0;
elsereturn-1;
}
}
publicclassMainActivityextendsActivity{
privateMathServicemathService;
privateButtonbutton1;
privateButtonbutton2;
privateButtonbutton3;
privateButtonbutton4;
privateEditTexteditText1;
privateEditTexteditText2;
privateEditTexteditText3;
privatebooleanisBound=false;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
(savedInstanceState);
setContentVieweditText1=(EditText)findViewByIdeditText2=(EditText)findViewByIdeditText3=(EditText)findViewByIdbutton1=(Button)findViewByIdbutton2=(Button)findViewByIdbutton3=(Button)findViewByIdbutton4=(Button)findViewById(new(){
publicvoidonClick(Viewv){
if(!
isBound){
finalIntentserviceIntent=newIntent(
;
bindService(serviceIntent,mConnection,;
isBound=true;
}
}
});
(new(){
publicvoidonClick(Viewv){
if(isBound){
isBound=false;
unbindService(mConnection);
mathService=null;
}
}
});
(new(){
publicvoidonClick(Viewv){
if(mathService==null){
("未绑定服务");
return;
}
Stringa=().toString();
longa1=(a);
Stringb=().toString();
longb1=(b);
longresult=(a1,b1);
Stringmsg=(a1)+"-"+(b)+
"="+(result);
(msg);
}
});
(new(){
publicvoidonClick(Viewv){
if(mathService==null){
("未绑定服务");
return;
}
Stringa=().toString();
longa1=(a);
Stringb=().toString();
longb1=(b);
longresult=(a1,b1);
if(result==1){
(a+">"+b);
}
elseif(result==0){
(a+"="+b);
}
else{
(a+"<"+b);
}
}
});
}
privateServiceConnectionmConnection=newServiceConnection(){
publicvoidonServiceDisconnected(ComponentNamearg0){
mathService=null;
}
publicvoidonServiceConnected(ComponentNamename,IBinderservice){
mathService=(service).getService();
}
};
}
实验六:
SQLite实现用户的增删改查
一:
实验目的
了解SQLite数据库的特点和体系及结构;
掌握SQLite数据库的建立和操作方法;
理解ContentProvide的用途和原理;
掌握ContentProvider的创建和使用方法。
二:
实验设备
Eclipse开发Android应用
Android虚拟设备(AVD)
三:
实验内容
使用SQlite数据库实现用户(包括:
姓名,年龄,身高)的添加数据,全部显示,清除显示,全部删除,ID删除,ID查询,ID更新的功能。
四:
实验核心代码
publicclassMainActivityextendsActionBarActivity{
privateEditTextet_name;
privateEditTextet_sex;
privateEditTextet_department;
privateEditTextet_id;
privateEditTextet_salary;
privateMyOpenHelperoh;
privateSQLiteDatabasedb;
privateTextViewtv;
privateLinearLayoutll;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
(savedInstanceState);
setContentViewoh=newMyOpenHelper,"",null,1);
db=();
et_name=(EditText)findViewByIdet_sex=(EditText)findViewByIdet_department=(EditText)findViewByIdet_salary=(EditText)findViewByIdet_id=(EditText)findViewByIdll=(LinearLayout)findViewById}
publicvoidadd(Viewv){
db=();
Stringname=().toString();
Stringsex=().toString();
Stringdepartment=().toString();
Stringsalary=().toString();
ContentValuesvalues=newContentValues();
("name",name);
("sex",sex);
("department",department);
("salary",salary);
("staff",null,values);
tv=newTextView;
("添加成功");
();
}
publicvoidshow(Viewv){
db=();
Cursorcursor=("staff",null,null,null,null,null,null,null);
while()){
Stringid=("_id"));
Stringname=("name"));
Stringsex=("sex"));
Stringdepartment=("department"));
Stringsalary=("salary"));
tv=newTextView;
("ID:
"+id+";"+"Name:
"+name+";"+"Sex:
"+sex+";"+"Department:
"+department+";"+"Salary"+salary);
(tv);
}
();
}
publicvoidclear(Viewv){
();
}
publicvoiddeleteAll(Viewv){
db=();
("staff",null,null);
tv=newTextView;
("删除成功");
();
}
publicvoiddeleteById(Viewv){
db=();
Stringid=().toString();
("staff","_id=",newString[]{id});
();
tv=newTextView;
("ID删除成功");
}
publicvoidfindById(Viewv){
db=();
Stringid=().toString();
Cursorcursor=("staff",null,"_id=",newString[]{id},null,null,null,null);
while()){
id=("_id"));
Stringname=("name"));
Stringsex=("sex"));
Stringdepartment=("department"));
Stringsalary=("salary"));
tv=newTextView;
(id+";"+name+";"+sex+";"+department+";"+salary);
(tv);
tv=newTextView;
("ID查询成功");
}
();
}
publicvoidupdateById(Viewv){
db=();
Stringid=().toString();
Stringname=().toString();
Stringsex=().toString();
Stringdepartment=().toString();
Stringsalary=().toString();
ContentValuesvalues=newContentValues();
("name",name);
("sex",sex);
("department",department);
("salary",salary);
("staff",values,"_id=",newString[]{id});
tv=newTextView;
("更新ID成功");
();
}
}
publicclassMyOpenHelperextendsSQLiteOpenHelper{
publicMyOpenHelper(Contextcontext,Stringname,CursorFactoryfactory,
intversion){
super(context,name,factory,version);
}
@Override
publicvoidonCreate(SQLiteDatabasedb){
("createtablestaff(_idintegerprimarykeyautoincrement,nametext,sextext,departmenttext,salaryfloat)");
}
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){}
}
五:
运行结果截图
实验七:
天气预报
一:
实验目的
了解位置服务的概念;
了解地图密钥的申请方法;
掌握获取地理信息的方法;
二:
实验设备
Eclipse开发Android应用
Android虚拟设备(AVD)
三:
实验内容
写一个项目,实现显