安卓记事本开发报告_精品文档.docx
- 文档编号:241937
- 上传时间:2022-10-07
- 格式:DOCX
- 页数:22
- 大小:949.10KB
安卓记事本开发报告_精品文档.docx
《安卓记事本开发报告_精品文档.docx》由会员分享,可在线阅读,更多相关《安卓记事本开发报告_精品文档.docx(22页珍藏版)》请在冰豆网上搜索。
基于Android平台记事本的设计与实现
1.设计目的
记事本的基本功能就是记事,手机用户首先用到的就是文本记事,输入事务信息以文本的形式展现出来,存储起来。
随着用户需求的增加,可能希望用图形来代替文本来记事,用户之间打开记事本,看到图片就能联系自己所记载的事务信息。
这样免去了输入文字的麻烦,反而会更简单。
又或者是文本与图片的交叉运用,可以让用户自己选择自己喜欢的记事方式,更加自由与便捷。
所以此功能的意义是让简单的记事信息能以文本、图文和视频表达,更加丰富多彩。
2.设计内容
本设计的基本内容是在Android平台下,设计与实现记事本软件。
具体要实现的功能是:
(1)设计实现添加“文字”,“图文”,“视频”这三个主要的功能模块。
(2)进入添加后,有“保存”,“取消”两种选择。
(3)主页面显示记事列表,点击可查看及时内容,并有“删除”,“返回”两种选择。
(4)进行测试并分析结果。
3.开发环境的安装与配置
3.1Android开发平台搭建
本设计主要是以Eclipse为基础,安装SDK和ADT插件后,用来开发安卓项目。
开发平台搭建步骤介绍如下。
(1)下载JDK并安装,安装后配置环境变量。
(2)下载Eclipse解压至指定文件夹。
(3)下载SDK后解压至指定文件夹,打开SDK目录,点击SDKManager安装开发安卓项目需要的包。
(4)启动Eclipse,进入Help—>InstallNewSoftware—>Add,添加ADT插件。
(5)进入Window—>Android—>Browse,选择SDK安装目录。
3.2硬件环境
Android设备,如Android手机或平板电脑,主频在1Ghz及以上,内存为512MB以上,系统版本为Android2.1及以上。
本设计使用Android4.4.4的手机。
3.3软件环境
操作系统:
windows10
IDE:
Eclipse
AndroidSDK集成环境
4.设计主体架构
4.1src文件夹
src文件夹下com.liwenhuan.notepad包下为系统主要Activity类:
NotesDB.java是进行数据储存的,通过SQLite保存数据。
并且用onCreate函数创建数据库。
通过设置两个按钮的监听来实现对输入文本的存储或退出。
MainActivity.java是主Activity,通过设置三个按钮的监听来实现添加文本、图文、视频的记事方式。
AddContent.java通过initView方法来判断记事的方式,实现对文本、图片、视频的添加,获取保存文件的时间。
MyAdapter.java是显示模块,通过系统提供的Bitmap在记事列表显示图片和视频的缩略图。
SelectAct.java是记事详情的显示模块,通过监听的方法来实现记事的删除功能。
4.2gen文件夹
gen文件夹是项目自动生成的文件夹R.java是工程下各个资源的标识符负责所有资源的索引。
4.3bin文件夹
bin文件夹是编译后的字节码存放的目录,编译的过程首先是编译成为android java虚拟机文件classes.dex,再打包成APK格式的包。
4.4res文件夹
Res是资源目录,它包含项目中的资源文件并将其编译进应用程序中,向此目录添加资源时,会被R.java自动记录。
res目录存放所有程序中用到的资源文件。
“资源文件”指的资料文件、图片等。
子目录有:
drawable、layout、values。
本设计主要用了layout目录下的布局文件。
layout是屏幕布局目录,activity_main.xml是主界面的布局文件、addcontent.xml是增加数据页面的布局文件、cell.xml是几个功能按钮的布局文件、select.xml是显示记事详情以及对记事进行操作的布局文件。
5.程序设计
5.1数据存储之SQLite
这个方法在数据保存中非常常用,只是它只会被一个程序读取数据,不能
在不同程序间共享数据。
//创建数据库
publicvoidonCreate(SQLiteDatabasedb){
db.execSQL("CREATETABLE"+TABLE_NAME+"("+ID
+"INTEGERPRIMARYKEYAUTOINCREMENT,"+CONTENT
+"TEXTNOTNULL,"+PATH+"TEXTNOTNULL,"
+VIDEO+"TEXTNOTNULL,"+TIME+"TEXTNOTNULL)");
}
5.2添加文字内容
当以文本方式记事时,需要对输入的文字内容进行保存。
publicvoidinitView(){
if(val.equals("1")){//文字
c_img.setVisibility(View.GONE);//隐藏
v_video.setVisibility(View.GONE);//隐藏
}
}
publicvoidonClick(Viewv){
switch(v.getId()){
caseR.id.save:
addDB();//添加数据
finish();//关闭当前Activity
break;
caseR.id.delete:
finish();
break;
}
}
5.3适配器配置
publicclassMyAdapterextendsBaseAdapter{
privateContextcontext;
privateCursorcursor;
privateLinearLayoutlayout;//视图对象
publicMyAdapter(Contextcontext,Cursorcursor){
this.context=context;
this.cursor=cursor;
}
@Override
publicintgetCount(){
returncursor.getCount();//返回长度
}
@Override
publicObjectgetItem(intposition){
returncursor.getPosition();
}
@Override
publiclonggetItemId(intposition){
returnposition;
}
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
LayoutInflaterinflater=LayoutInflater.from(context);//加载视图的权限
layout=(LinearLayout)inflater.inflate(R.layout.cell,null);//布局文件
TextViewcontenttv=(TextView)layout.findViewById(R.id.list_content);//获取上面布局文件中的每一个内容
TextViewtimetv=(TextView)layout.findViewById(R.id.list_time);//查找时间
ImageViewimgiv=(ImageView)layout.findViewById(R.id.list_img);//查找图片
ImageViewvideoiv=(ImageView)layout.findViewById(R.id.list_video);//查找视频
cursor.moveToPosition(position);//查询
Stringcontent=cursor.getString(cursor.getColumnIndex("content"));//获取具体内容
Stringtime=cursor.getString(cursor.getColumnIndex("time"));//获取时间
Stringurl=cursor.getString(cursor.getColumnIndex("path"));//获取图片的缩略图
Stringurlvideo=cursor.getString(cursor.getColumnIndex("video"));//获取视频
contenttv.setText(content);//将内容传递进来
timetv.setText(time);//将时间传递进来
videoiv.setImageBitmap(getVideoThumbnail(urlvideo,200,200,
MediaStore.Images.Thumbnails.MICRO_KIND));//在列表显示视频缩略图
imgiv.setImageBitmap(getImageThumbnail(url,200,200));//在列表显示图片缩略图
returnlayout;
}
5.4添加图片和视频
在本设计中,不仅提供了以文本方式进行记事,还提供了以图片和视频方式进行记事。
publicvoidinitView(){
if(val.equals("2")){//图片
c_img.setVisibility(View.VISIBLE);//显示
v_video.setVisibility(View.GONE);//隐藏
Intentiimg=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);//跳转到系统相机
phoneFile=newFile(Environment.getExternalStorageDirectory()
.getAbsoluteFile()+"/"+getTime()+".jpg");//获取SD卡绝对路径
iimg.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(phoneFile));//存储获取的图片信息
startActivityForResult(iimg,1);//启动跳转
}
if(val.equals("3")){
c_img.setVisibility(View.GONE);//隐藏
v_video.setVisibility(View.VISIBLE);//显示
Intentvideo=newIntent(MediaStore.ACTION_VIDEO_CAPTURE);//跳转到手机系统信息
videoFile=newFile(Environment.getExternalStorageDirectory()
.getAbsoluteFile()+"/"+getTime()+".mp4");//获取SD卡绝对路径
video.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(videoFile));//存储获取的video信息
startActivityForResult(video,2);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 记事本 开发 报告 精品 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)