人人范文网 范文大全

安卓实验报告

发布时间:2020-03-03 08:12:07 来源:范文大全 收藏本文 下载本文 手机版

安卓实验报告

班级:学号:姓名:

xxxxx

11111111

xxxx

实验一:Activity生命周期的测试

一:实验目的

掌握使用Eclipse开发Android应用开发程序的方法; 掌握Android虚拟设备的创建方法; 了解Android的程序结构;

了解使用命令行创建Android程序方法;

了解Activity生命周期,理解Activity事件回调,onRestoreInstanceState()和 onSaveInstanceState两个函数的使用。

二:实验设备

Eclipse 开发Android 应用 Android虚拟设备( AVD)

三:实验内容

(1)正常启动ActivityLife,然后单击用户界面的“结束程序”按钮关闭程序。

(2)正常启动ACtivityLife,然后通过“拨号键”启动内置的拨号程序,再通过“回 退建” 退出拨号程序,使ActivityLife重新显示在屏幕中。

四:实验核心代码

package com.example.activitylife;

import android.app.Activity; import android.app.ActionBar; import android.app.Fragment; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.os.Build;

public cla MainActivity extends Activity { private static String TAG=\"LIFECYCLE\"; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_main); Log.i(TAG,\"(1) onCreate()\"); Button button =(Button) findViewById(R.id.btn_finish); button.setOnClickListener(new OnClickListener() {

public void onClick(View view) {

// TODO Auto-generated method stub

finish();

} }); }

@Override

protected void onStart() { // TODO Auto-generated method stub

super.onStart(); Log.i(TAG,\"(2) onStart()\"); } @Override

protected void onRestoreInstanceState(Bundle savedInstanceState) { // TODO Auto-generated method stub

super.onRestoreInstanceState(savedInstanceState); Log.i(TAG,\"(3) onRestoreInstanceState()\"); } @Override

protected void onResume() { // TODO Auto-generated method stub

super.onResume(); Log.i(TAG,\"(4) onResume()\"); } @Override

protected void onSaveInstanceState(Bundle outState) { // TODO Auto-generated method stub

super.onSaveInstanceState(outState); Log.i(TAG,\"(5) onSaveInstanceState()\"); } @Override

protected void onRestart() { // TODO Auto-generated method stub

super.onRestart(); Log.i(TAG,\"(6) onRestart()\"); } @Override

protected void onPause() { // TODO Auto-generated method stub

super.onPause(); Log.i(TAG,\"(7) onPause()\"); } @Override

protected void onStop() { // TODO Auto-generated method stub

super.onStop(); Log.i(TAG,\"(8) onStop()\"); } @Override

protected void onDestroy() { // TODO Auto-generated method stub

super.onDestroy(); Log.i(TAG,\"(9) onDestroy()\"); } } 五:运行结果截图:

实验二:用户界面——自我介绍

一:实验目的:

了解各种界面控件的使用方法;

掌握按键事件和触摸事件的处理方法;

掌握radioButton和radioGroup的使用方法。

二:实验设备

Eclipse 开发Android 应用 Android虚拟设备( AVD)

三:实验内容

要求写一个自我介绍的安卓应用,包括姓名,性别,爱好,其中性别用radioButton选项编写,点击提交时,姓名,性别,爱好会在下面显示出来。

四:实验核心代码:

public cla MainActivity extends Activity { private EditText editText1; private EditText editText2; private EditText editText3; private TextView textView1; private TextView textView2; private TextView textView3; private RadioGroup radioGroup; private RadioButton radioButton1; private RadioButton radioButton2; private Button button; protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

editText1 = (EditText) findViewById(R.id.e1);

editText2 = (EditText) findViewById(R.id.e2);

textView1 = (TextView) findViewById(R.id.t1);

textView2 = (TextView) findViewById(R.id.t2);

textView3 = (TextView) findViewById(R.id.t3);

radioGroup = (RadioGroup) findViewById(R.id.RadioGroup1);

radioButton1 = (RadioButton) findViewById(R.id.RadioButton1);

radioButton2 = (RadioButton) findViewById(R.id.RadioButton2);

button = (Button) findViewById(R.id.button1);

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

public void onCheckedChanged(RadioGroup arg0, final int arg1) {

button.setOnClickListener(new View.OnClickListener() {

public void onClick(View arg0) {

String str = editText1.getText().toString().trim();

String str1 = editText2.getText().toString().trim();

textView1.setText(\"姓名:\"+str);

textView3.setText(\"爱好:\"+str1);

if (arg1 == R.id.RadioButton1)

textView2.setText(\"性别:\"+\"男\");

else if (arg1 == R.id.RadioButton2)

textView2.setText(\"性别:\"+\"女\");

}

});

}

}); } } 五:运行结果截图:

实验三:不同界面的切换

一:实验目的

掌握各种界面布局的特点和使用方法;

掌握选项菜单,子菜单和快捷菜单的使用方法。

二;实验设备

Eclipse 开发Android 应用 Android虚拟设备( AVD)

三;实验内容:

设计一个Tab标签页,实现LinearLayout,RelativeLayout,AbsoluteLayout三种分页面之间的切换,每个页面的内容包括用户名和确定,取消两个按钮

四:实验核心代码: AndroidMainfest.xml:

public cla MainActivity extends TabActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TabHost tabHost=getTabHost(); LayoutInflater.from(this).inflate(R.layout.tab1,

tabHost.getTabContentView(),true); LayoutInflater.from(this).inflate(R.layout.tab2,

tabHost.getTabContentView(),true); LayoutInflater.from(this).inflate(R.layout.tab3,

tabHost.getTabContentView(),true); tabHost.addTab(tabHost.newTabSpec(\"TAB1\").

setIndicator(\"线性布局\").setContent(R.id.layout01)); tabHost.addTab(tabHost.newTabSpec(\"TAB1\").

setIndicator(\"绝对布局\").setContent(R.id.layout02)); tabHost.addTab(tabHost.newTabSpec(\"TAB1\").

setIndicator(\"相对布局\").setContent(R.id.layout03)); } } Tab1,java public cla Tab1 extends Activity { public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.tab1); } }

Tab2.java public cla Tab2 extends Activity{ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.tab2); } }

Tab3.java public cla Tab3 extends Activity{ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.tab3); } }

五:运行结果截图:

实验四:登陆界面和广播消息

一:实验目的

了解使用Intent进行组件通信的原理; 了解Intent过滤器的原理与匹配机制;

掌握发送和接受广播消息的方法。

二:实验设备

Eclipse 开发Android 应用 Android虚拟设备( AVD)

三:实验内容

先写一个登陆界面,包括用户名,密码,点击登陆时实现页面的跳转功能,在第二个页面使用Intent发送消息,并调用sendBroadcast()函数把Intent携带的消息传送出去,用BroadcastReceiver接受广播消息,在页面下方显示广播内容。

四;实验核心代码:

public cla MainActivity extends Activity { private Button button; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button) findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() {

public void onClick(View arg0) {

Intent intent=new Intent(MainActivity.this,Second.cla);

startActivity(intent);

} }); } } public cla Second extends Activity { private Button button2; private EditText editText; protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.second);

Intent intent=getIntent();

editText=(EditText) findViewById(R.id.e1);

button2=(Button) findViewById(R.id.button2);

button2.setOnClickListener(new View.OnClickListener() {

public void onClick(View arg0) {

Intent intent=new

Intent(\"com.example.broadcasttest.MY_BROADCAST\");

intent.putExtra(\"meage\", editText.getText().toString());

sendBroadcast(intent);

}

});

}

public cla MyBroadcastReceiver extends BroadcastReceiver{ public void onReceive(Context context, Intent intent) {

String msg=intent.getStringExtra(\"meage\");

Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); } }

android:name=\".Second\">

五:运行结果截图

实验五:Service绑定实现数据运算

一:实验目的

了解Service的原理和用途;

掌握本地服务的管理和方法; 掌握服务的隐式启动和显示启动方法;

掌握远程服务的绑定和调用方法。

二:实验设备

Eclipse 开发Android 应用 Android虚拟设备( AVD)

三:实验内容

以绑定方式使用Service,获取Service实例,当点击绑定服务时可以实现两个数的求差和比较大小功能,并输出结果,当点击取消绑定服务时,则无法运算。

四:实验核心代码

public cla MathService extends Service{ private final IBinder mBinder=new LocalBinder(); public cla LocalBinder extends Binder{ MathService getService(){

return MathService.this; } } public IBinder onBind(Intent intent) { Toast.makeText(this, \"本地绑定:MathService\",Toast.LENGTH_SHORT).show(); return mBinder; }

public boolean onUnbind(Intent intent){ Toast.makeText(this, \"取消本地绑定:MathService\", Toast.LENGTH_SHORT).show(); return false; }

public long sub(long a,long b){ return a-b; }

public int compare(long a,long b){ if(a>b) return 1; else if(a==b) return 0; else return -1;

} }

public cla MainActivity extends Activity { private MathService mathService; private Button button1; private Button button2; private Button button3; private Button button4; private EditText editText1; private EditText editText2; private EditText editText3; private boolean isBound=false; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText1=(EditText) findViewById(R.id.e1); editText2=(EditText) findViewById(R.id.e2); editText3=(EditText) findViewById(R.id.e3); button1=(Button) findViewById(R.id.but1); button2=(Button) findViewById(R.id.but2); button3=(Button) findViewById(R.id.but3); button4=(Button) findViewById(R.id.but4); button1.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(!isBound){

final Intent serviceIntent=new Intent (

MainActivity.this,MathService.cla);

bindService(serviceIntent, mConnection, Context.BIND_AUTO_CREATE);

isBound=true;

}

}

}); button4.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) { if(isBound){

isBound=false; unbindService(mConnection);

mathService=null; }

} });

button2.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(mathService==null){

editText3.setText(\"未绑定服务\");

return ;

}

String a = editText1.getText().toString();

long a1 = Long.parseLong(a);

String b = editText2.getText().toString();

long b1 = Long.parseLong(b);

long result=mathService.sub(a1, b1);

String msg=String.valueOf(a1)+\"-\"+String.valueOf(b)+

\"=\"+String.valueOf(result);

editText3.setText(msg);

} });

button3.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(mathService==null){

editText3.setText(\"未绑定服务\");

return ;

}

String a = editText1.getText().toString();

long a1 = Long.parseLong(a);

String b = editText2.getText().toString();

long b1 = Long.parseLong(b);

long result=mathService.compare(a1, b1);

if(result==1){

editText3.setText(a+\">\"+b);

}

else if(result==0){

editText3.setText(a+\"=\"+b);

}

else {

editText3.setText(a+\"

}

} }); } private ServiceConnection mConnection=new ServiceConnection() {

public void onServiceDisconnected(ComponentName arg0) {

mathService=null;

}

public void onServiceConnected(ComponentName name, IBinder service) {

mathService=((MathService.LocalBinder)service).getService();

} }; }

实验六:SQLite实现用户的增删改查

一:实验目的

了解SQLite数据库的特点和体系及结构;

掌握SQLite数据库的建立和操作方法;

理解ContentProvide的用途和原理;

掌握ContentProvider的创建和使用方法。

二:实验设备

Eclipse 开发Android 应用 Android虚拟设备( AVD)

三:实验内容

使用SQlite数据库实现用户(包括:姓名,年龄,身高)的添加数据,全部显示,清除显示,全部删除,ID删除,ID查询,ID更新的功能。

四:实验核心代码

public cla MainActivity extends ActionBarActivity { private EditText et_name; private EditText et_sex; private EditText et_department; private EditText et_id; private EditText et_salary; private MyOpenHelper oh; private SQLiteDatabase db; private TextView tv; private LinearLayout ll; @Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

oh = new MyOpenHelper(MainActivity.this, \"test.db\", null, 1);

db = oh.getWritableDatabase();

et_name = (EditText) findViewById(R.id.et_name);

et_sex = (EditText) findViewById(R.id.et_sex);

et_department = (EditText) findViewById(R.id.et_department);

et_salary = (EditText) findViewById(R.id.et_salary);

et_id = (EditText) findViewById(R.id.et_id);

ll = (LinearLayout) findViewById(R.id.ll); }

public void add(View v){

db = oh.getWritableDatabase();

String name=et_name.getText().toString();

String sex=et_sex.getText().toString();

String department=et_department.getText().toString();

String salary=et_salary.getText().toString();

ContentValues values=new ContentValues();

values.put(\"name\",name );

values.put(\"sex\", sex);

values.put(\"department\",department);

values.put(\"salary\", salary);

db.insert(\"staff\", null, values);

tv=new TextView(MainActivity.this);

tv.setText(\"添加成功\");

db.close(); } public void show(View v){

db = oh.getWritableDatabase();

Cursor cursor=db.query(\"staff\", null, null, null, null, null, null, null);

while(cursor.moveToNext()){

String id=cursor.getString(cursor.getColumnIndex(\"_id\"));

String name=cursor.getString(cursor.getColumnIndex(\"name\"));

String sex=cursor.getString(cursor.getColumnIndex(\"sex\"));

String department=cursor.getString(cursor.getColumnIndex(\"department\"));

String salary=cursor.getString(cursor.getColumnIndex(\"salary\"));

tv=new TextView(MainActivity.this);

tv.setText(\"ID:\"+id+\" ;\"+\"Name:\"+name+\" ;\"+\"Sex:\"+sex+\" ;\"+\"Department:\"+department+\" ;\"+\"Salary\"+salary);

ll.addView(tv);

}

db.close(); } public void clear(View v){

ll.removeAllViews(); } public void deleteAll(View v){

db = oh.getWritableDatabase();

db.delete(\"staff\", null, null);

tv=new TextView(MainActivity.this);

tv.setText(\"删除成功\");

db.close(); }

public void deleteById(View v){

db = oh.getWritableDatabase();

String id=et_id.getText().toString();

db.delete(\"staff\", \"_id=?\", new String[]{id});

db.close();

tv=new TextView(MainActivity.this);

tv.setText(\"ID删除成功\"); } public void findById(View v){

db = oh.getWritableDatabase();

String id=et_id.getText().toString();

Cursor cursor=db.query(\"staff\", null, \"_id=?\", new String[]{id}, null, null, null, null);

while(cursor.moveToNext()){

id=cursor.getString(cursor.getColumnIndex(\"_id\"));

String name=cursor.getString(cursor.getColumnIndex(\"name\"));

String sex=cursor.getString(cursor.getColumnIndex(\"sex\"));

String department=cursor.getString(cursor.getColumnIndex(\"department\"));

String salary=cursor.getString(cursor.getColumnIndex(\"salary\"));

tv=new TextView(MainActivity.this);

tv.setText(id+\";\"+name+\";\"+sex+\";\"+department+\";\"+salary);

ll.addView(tv);

tv=new TextView(MainActivity.this);

tv.setText(\"ID查询成功\");

}

db.close(); } public void updateById(View v){

db = oh.getWritableDatabase();

String id=et_id.getText().toString();

String name=et_name.getText().toString();

String sex=et_sex.getText().toString();

String department=et_department.getText().toString();

String salary=et_salary.getText().toString();

ContentValues values=new ContentValues();

values.put(\"name\",name);

values.put(\"sex\", sex);

values.put(\"department\",department);

values.put(\"salary\", salary);

db.update(\"staff\", values, \"_id=?\", new String[]{id});

tv=new TextView(MainActivity.this);

tv.setText(\"更新ID成功\");

db.close(); } }

public cla MyOpenHelper extends SQLiteOpenHelper {

public MyOpenHelper(Context context, String name, CursorFactory factory,

int version) {

super(context, name, factory, version); }

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL(\"create table staff(_id integer primary key autoincrement,name text,sex text,department text,salary float)\"); }

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {} }

五:运行结果截图

实验七:天气预报 一:实验目的

了解位置服务的概念;

了解地图密钥的申请方法;

掌握获取地理信息的方法;

二:实验设备

Eclipse 开发Android 应用 Android虚拟设备( AVD)

三:实验内容

写一个项目,实现显示天气预报的用户界面,显示已发送SMS短信的用户界面,不同地区天气的转换

四:实验核心代码

package com.example.weather;

import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List;

import net.sf.json.JSONArray; import net.sf.json.JSONObject; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Meage; import android.view.View; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast;

import com.zy.bean.Sms; import com.zy.bean.Weather;

public cla MainActivity extends Activity { private MyConn conn = new MyConn();; private EditText et_city; private TextView tv_result; private ImageView iv_weather; private Handler handler; private Intent intent; private MyOpenHelper oh; private ServiceFunctions sFunctions; private MyArrayAdapter myArrayAdapter = null; private ListView lv; private int a = 1; private Weather weather; private List smsList = null;

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

oh = new MyOpenHelper(MainActivity.this, \"weatherdemo.db\", null, 1);

// System.out.println(\"数据库创建完\");

et_city = (EditText) findViewById(R.id.et_city);

tv_result = (TextView) findViewById(R.id.tv_result);

iv_weather = (ImageView) findViewById(R.id.iv_weather);

lv = (ListView) findViewById(R.id.lv);

// System.out.println(\"lv找到了\");

intent = new Intent(this, MyService.cla);

startService(intent);

Toast.makeText(MainActivity.this, \"服务启动\", 0).show();

bindService(intent, conn, BIND_AUTO_CREATE);

Toast.makeText(MainActivity.this, \"服务绑定\", 0).show();

handler = new Handler(new Handler.Callback() {

@Override

public boolean handleMeage(Meage msg) {

final Weather weather = (Weather) msg.obj;

tv_result.setText(weather.toString());

}

new Thread(new Runnable() { @Override public void run() {

// TODO Auto-generated method stub

try {

URL url = new URL(weather.getDayPictureUrl());

HttpURLConnection con = (HttpURLConnection) url

.openConnection();

con.setRequestMethod(\"GET\");

if (con.getResponseCode() == 200) {

final Bitmap bitmap = BitmapFactory

.decodeStream(con.getInputStream());

runOnUiThread(new Runnable() {

}

@Override

public void run() {

// TODO Auto-generated method stub

iv_weather.setImageBitmap(bitmap);

}

}); }

} catch (Exception e) {

// TODO Auto-generated catch block e.printStackTrace(); }

}).start();

return false; } }); cla MyConn implements ServiceConnection {

@Override public void onServiceConnected(ComponentName name, IBinder service) { sFunctions = (ServiceFunctions) service; } @Override public void onServiceDisconnected(ComponentName name) {

} } cla MyArrayAdapter extends ArrayAdapter {

} public MyArrayAdapter(Context context, int resource,

int textViewResourceId, List objects) { super(context, resource, textViewResourceId, objects); } public void saveWeather(View view) { if (a == 1) {

sFunctions.insertInfo(weather, oh);

a++; } else {

sFunctions.updateInfoById(\"1\", weather, oh); } Toast.makeText(MainActivity.this, \"保存天气信息成功\", 0).show(); } public void show(View view) { smsList = sFunctions.findAll(oh); if (smsList.size() > 0) {

List sList = new ArrayList();

for (Sms sms : smsList) {

String s = sms.toString();

sList.add(s);

}

if (sList.size() > 0) {

myArrayAdapter = new MyArrayAdapter(MainActivity.this,

R.layout.second, R.id.tv_show, sList);

lv.setAdapter(myArrayAdapter);

} } }

public void getWeather(View view) {

new Thread(new Runnable() {

String city = et_city.getText().toString();

@Override

public void run() {

try {

URL url = new URL(

\"http://api.map.baidu.com/telematics/v3/weather?location=\"

+ URLEncoder.encode(city)

+ \"&output=json&ak=QLZmpAbwFlWreQ28kLVgvKEC\");

HttpURLConnection con = (HttpURLConnection) url

.openConnection();

con.setRequestMethod(\"GET\");

int code = con.getResponseCode();

if (code == 200) {

BufferedReader reader = new BufferedReader(

new InputStreamReader(con.getInputStream()));

JSONObject json = JSONObject.fromObject(reader

.readLine());

// System.out.println(obj.toString());

JSONArray array = json.getJSONArray(\"results\");

JSONObject obj = array.getJSONObject(0);

JSONObject weather_data = obj.getJSONArray(

\"weather_data\").getJSONObject(0);

weather = new Weather(obj.getString(\"currentCity\"), obj

.getString(\"pm25\"), weather_data

.getString(\"date\"), weather_data

.getString(\"weather\"), weather_data

.getString(\"wind\"), weather_data

.getString(\"temperature\"), weather_data

.getString(\"dayPictureUrl\"), weather_data

.getString(\"nightPictureUrl\"));

Meage msg = new Meage();

msg.obj = weather;

handler.sendMeage(msg);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}).start(); } }

package com.example.weather;

import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper;

public cla MyOpenHelper extends SQLiteOpenHelper {

public MyOpenHelper(Context context, String name, CursorFactory factory,

int version) {

super(context, name, factory, version); }

@Override public void onCreate(SQLiteDatabase db) {

db.execSQL(\"create table sms(_id integer primary key autoincrement,sms_sender text,sms_body text,sms_receive_time text,return_result text)\");

db.execSQL(\"create table weatherinfo(_id integer primary key autoincrement,info text)\"); }

@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

} }

package com.example.weather;

import java.util.List;

import android.app.Service; import android.content.Intent; import android.content.ServiceConnection; import android.os.Binder; import android.os.IBinder;

import com.zy.bean.Sms; import com.zy.bean.Weather;

public cla MyService extends Service { private ISmsDaoImpl daoImpl; private MyBinder myBinder = new MyBinder();

@Override public IBinder onBind(Intent intent) {

return myBinder; }

@Override public void unbindService(ServiceConnection conn) {

super.unbindService(conn); }

cla MyBinder extends Binder implements ServiceFunctions{

public long insertSms(Sms sms,MyOpenHelper oh) {

return MyService.this.insertSms(sms,oh);

}

public List findAll(MyOpenHelper oh) {

return MyService.this.findAll(oh);

}

public long insertInfo(Weather w,MyOpenHelper oh) {

return MyService.this.insertInfo(w,oh);

}

public int updateInfoById(String id, Weather w,MyOpenHelper oh) {

return MyService.this.updateInfoById(id, w,oh);

} }

public long insertSms(Sms sms,MyOpenHelper oh) {

daoImpl=new ISmsDaoImpl(oh);

long id = daoImpl.insertSms(sms);

return id; }

public List findAll(MyOpenHelper oh) {

daoImpl=new ISmsDaoImpl(oh);

List smsList = daoImpl.findAll();

return smsList; }

public long insertInfo(Weather w,MyOpenHelper oh) {

daoImpl=new ISmsDaoImpl(oh);

long id = daoImpl.insertInfo(w);

return id; }

public int updateInfoById(String id, Weather w,MyOpenHelper oh) {

daoImpl=new ISmsDaoImpl(oh);

int num = daoImpl.updateInfoById(id, w);

return num; } } 五:运行结果截图

安卓学习心得

安卓学习

安卓初级程序员

安卓手机培训

安卓编程入门教程

个人事迹材料安卓

安卓系统简介

安卓实习报告

安卓 课程学习心得

如何学习安卓

安卓实验报告
《安卓实验报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档