SQLite使用方法三二十二Word文件下载.docx
- 文档编号:21383391
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:27
- 大小:190.68KB
SQLite使用方法三二十二Word文件下载.docx
《SQLite使用方法三二十二Word文件下载.docx》由会员分享,可在线阅读,更多相关《SQLite使用方法三二十二Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
1.1编写目的
学会Android友善的免费应用程序开发环境,阅读者为计算机应用与网络教研室Android开发小组成员。
1.2前景
说明:
a.这份操作手册所描述的软件操作系统的名称为MicrosoftWindowsXPSP3;
b.该软件项目的任务提出者:
计算机应用与网络教研室
开发者:
Android开发小组
用户(或首批用户):
2011级软件工程专业学生
安装软件者:
1.3定义
Android——一个免费的操作系统平台
JDK5或JDK6——Java开发环境
EclipseIDE——一个多用途的开发工具平台
AndroidSDK——Android程序开发套件,包含Android手机模拟器(Emulator)
ADT——基于Eclipse的Android开发工具扩充套件(AndroidDevelopmentTools
plugin)
1.4参考资料
列出有用的参考资料,如:
a.本项目的经核准的工作计划任务书;
b.Android官方网站
c.开放手持装置联盟(OpenHandsetAlliance)
d.GoogleAndroid开发者部落格http:
//android-
e.Android开发者大赛网站
f.Android文件
g....e-sdk.html
h.CNet专访:
Google手机平台背后的原创者
i..tw/news/comm/0,200...898,00.htm
j.Android源代码网站2软件征述
2.1软件的结构
结合软件系统所具有的功能包括输入、处理和输出提供该软件的总体结构图表。
2.2程序表
列出本系统内每个程序的标识符、编号和助记名。
2.3文卷表
列出将由本系统引用、建立或更新的每个永久性文卷,说明它们各自的标识符、编号、助记名、存储媒体和存储要求。
3SQLite使用方法三
一、个人通信录的实现
确定个人通信录的数据库结构,需要一张表,如下结构
3.1例1Personal_Contacts
1、在Personal_ContactsActivity.java中,添加代码如下:
importstaticedu.eurasia.MyOpenHelper.*;
importandroid.app.Activity;
importandroid.app.AlertDialog;
importandroid.app.Dialog;
importandroid.app.AlertDialog.Builder;
importandroid.content.DialogInterface;
importandroid.content.Intent;
importandroid.content.DialogInterface.OnClickListener;
importandroid.database.Cursor;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.graphics.Color;
importandroid.os.Bundle;
importandroid.view.Gravity;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.view.ViewGroup.LayoutParams;
importandroid.widget.AdapterView;
importandroid.widget.BaseAdapter;
importandroid.widget.LinearLayout;
importandroid.widget.ListView;
importandroid.widget.TextView;
importandroid.widget.AdapterView.OnItemClickListener;
publicclassPersonal_ContactsActivityextendsActivity{
MyOpenHelpermyHelper;
//声明MyOpenHelper对象
String[]contactsName;
//声明用于存放联系人姓名的数组
String[]contactsPhone;
//声明用于存放联系人电话的数组
int[]contactsId;
//声明用于存放联系人id的数组
finalintMENU_ADD=Menu.FIRST;
//声明菜单选行的ID
finalintMENU_DELETE=Menu.FIRST+1;
//声明菜单项的编号
finalintDIALOG_DELETE=0;
//确认删除对话框的ID
ListViewlv;
//声明ListView对象
BaseAdaptermyAdapter=newBaseAdapter(){
@Override
publicintgetCount(){
if(contactsName!
=null){//如果姓名数组不为空
returncontactsName.length;
}else{
return0;
//如果姓名数组为空则返回0
}
}
publicObjectgetItem(intarg0){
returnnull;
publiclonggetItemId(intarg0){
return0;
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
LinearLayoutll=newLinearLayout(Personal_ContactsActivity.this);
ll.setOrientation(LinearLayout.HORIZONTAL);
TextViewtv=newTextView(Personal_ContactsActivity.this);
tv.setText(contactsName[position]);
tv.setTextSize(32);
tv.setTextColor(Color.BLACK);
tv.setLayoutParams(newLayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
tv.setGravity(Gravity.CENTER_VERTICAL);
TextViewtv2=newTextView(Personal_ContactsActivity.this);
tv2.setText("
["
+contactsPhone[position]+"
]"
);
tv2.setTextSize(28);
tv2.setTextColor(Color.BLACK);
tv2.setLayoutParams(newLayoutParams(LayoutParams.WRAP_CONTENT,
tv2.setGravity(Gravity.BOTTOM|Gravity.RIGHT);
//设置TextView控件在父容器中的位置
ll.addView(tv);
ll.addView(tv2);
returnll;
};
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myHelper=newMyOpenHelper(this,DB_NAME,null,1);
lv=(ListView)findViewById(R.id.lv);
lv.setAdapter(myAdapter);
lv.setOnItemClickListener(newOnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView<
?
>
arg0,Viewview,
intposition,longid){
Intentintent=newIntent(Personal_ContactsActivity.this,
DetailActivity.class);
intent.putExtra("
cmd"
0);
//0代表查询联系人,1代表添加联系人
id"
contactsId[position]);
startActivity(intent);
});
}
protectedvoidonResume(){
getBasicInfo(myHelper);
myAdapter.notifyDataSetChanged();
super.onResume();
//方法:
获取所有联系人的姓名
publicvoidgetBasicInfo(MyOpenHelperhelper){
SQLiteDatabasedb=helper.getWritableDatabase();
//获取数据库连接
Cursorc=db.query(TABLE_NAME,newString[]{ID,NAME,PHONE},null,
null,null,null,ID);
intidIndex=c.getColumnIndex(ID);
intnameIndex=c.getColumnIndex(NAME);
//获得姓名列的列号
intphoneIndex=c.getColumnIndex(PHONE);
//获得电话列的序号
contactsName=newString[c.getCount()];
//创建存放姓名的String数组对象
contactsId=newint[c.getCount()];
//创建存放id的int数组对象
contactsPhone=newString[c.getCount()];
//创建存放phone的数组对象
inti=0;
//声明一个计数器
for(c.moveToFirst();
!
(c.isAfterLast());
c.moveToNext()){
contactsName[i]=c.getString(nameIndex);
//将姓名添加到String数组中
contactsId[i]=c.getInt(idIndex);
contactsPhone[i]=c.getString(phoneIndex);
//将固定电话添加到String数组中
i++;
c.close();
//关闭Cursor对象
db.close();
//关闭SQLiteDatabase对象
publicbooleanonCreateOptionsMenu(Menumenu){
menu.add(0,MENU_ADD,0,R.string.menu_add).setIcon(R.drawable.add);
//添加“添加”菜单选项
menu.add(0,MENU_DELETE,0,R.string.menu_delete).setIcon(
R.drawable.delete);
//添加“删除”菜单选项
returnsuper.onCreateOptionsMenu(menu);
publicbooleanonOptionsItemSelected(MenuItemitem){
switch(item.getItemId()){//判断按下的菜单选项
caseMENU_ADD:
//按下添加按钮
Intentintent=newIntent(Personal_ContactsActivity.this,
DetailActivity.class);
intent.putExtra("
1);
startActivity(intent);
break;
caseMENU_DELETE:
//按下了删除选项
showDialog(DIALOG_DELETE);
//显示确认删除对话框
returnsuper.onOptionsItemSelected(item);
protectedDialogonCreateDialog(intid){
Dialogdialog=null;
switch(id){//对对话框ID进行判断
caseDIALOG_DELETE:
//创建删除确认对话框
Builderb=newAlertDialog.Builder(this);
b.setIcon(R.drawable.dialog_delete);
//设置对话框图标
b.setTitle("
提示"
//设置对话框标题
b.setMessage(R.string.dialog_message);
//设置对话框内容
b.setPositiveButton(R.string.ok,newOnClickListener(){//点下确认删除按钮
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
intposition=Personal_ContactsActivity.this.lv
.getSelectedItemPosition();
deleteContact(contactsId[position]);
getBasicInfo(myHelper);
myAdapter.notifyDataSetChanged();
}
});
b.setNegativeButton(R.string.cancel,newOnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
}
});
dialog=b.create();
returndialog;
//方法:
删除指定联系人
publicvoiddeleteContact(intid){
SQLiteDatabasedb=myHelper.getWritableDatabase();
//获得数据库对象
db.delete(TABLE_NAME,ID+"
=?
"
newString[]{id+"
});
}
2、在main.xml中,添加代码如下:
<
xmlversion="
1.0"
encoding="
utf-8"
LinearLayoutxmlns:
android="
android:
orientation="
vertical"
layout_width="
fill_parent"
layout_height="
background="
@drawable/back"
>
<
LinearLayout
android:
horizontal"
wrap_content"
layout_gravity="
center_horizontal"
>
TextView
text="
@string/title"
textSize="
24px"
textColor="
@color/text"
/>
ImageView
src="
@drawable/title"
<
/LinearLayout>
ScrollView
fillViewport="
true"
ListView
android:
id="
@+id/lv"
choiceMode="
singleChoice"
/>
/ScrollView>
3、新建/Personal_Contacts/res/values/colors.xml中,代码如下:
resources>
colorname="
text"
#000000<
/color>
/resources>
4、在/Personal_Contacts/res/values/strings.xml中,添加代码如下:
stringname="
hello"
HelloWorld,Personal_ContactsActivity!
/string>
app_name"
个人通信录<
tvName"
姓名:
tvPhone"
固定电话:
tvMobile"
移动电话:
tvEmail"
电子邮件:
tvPost"
邮政编码:
tvAddr"
通信地址:
tvComp"
公司名称:
menu_add"
添加<
menu_modify"
修改<
menu_delete"
删除<
menu_save"
保存<
dialog_message"
确认删除此人吗?
ok"
确定<
cancel"
取消<
title"
联系人列表<
5、在MyOp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLite 使用方法 十二
![提示](https://static.bdocx.com/images/bang_tan.gif)