安卓实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“安卓数据库实验报告”。
安卓实验报告
班级:学号:姓名:
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;} } 五:运行结果截图
安卓开发学习准备要点介绍要说当下IT行业当中最具创造力、前瞻性、延续性和实现能力,想必有相当的人会把票投给Google的安卓,安卓开发学习也成为新潮流。安卓开发学习要做什么......
Android学习心得-----093380117计算机应用(1)张峰1.关于Activity1.在一个Activity中使用多个View如果把Activity看作MVC中的Control?它负责管理UI和接受事件(包括用户的输入),虽然......
个人事迹材料我是经济管理系11级酒店管理的方亮,自入团以来积极参加团组织的各类活动。努力完成团组织交给的任务,时时刻刻记住我应该做什么,如何做好的思想理念。我深刻认识到......
安卓手机选购指南什么手机质量好又耐用?安卓手机选购首先要考虑到预算的问题,然后才是对各方面的要求和选择,不同的用户群有不同的选购要求,比如老人家要大屏幕的看得清,年轻人要......
刀豆文库小编为你整合推荐4篇安卓课程设计心得体会,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......