ImageVerifierCode 换一换
格式:DOC , 页数:25 ,大小:653.50KB ,
资源ID:2089828      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2089828.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(手机app移动开发论文个人心情日记本的设计实现学士学位论文.doc)为本站上传会员【可****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

手机app移动开发论文个人心情日记本的设计实现学士学位论文.doc

1、杭州科技职业技术学院信息工程学院 毕业设计开题报告 毕业设计(论文) 题 目 个人心情日记本的设计 与实现 专 业 计算机网络技术 班 级 网络 学 号 姓 名 指导教师 2016 年 1 月 14 日 个人心情日记本 【摘要】据准确数据调查,全球人口已超过65亿,其中,互联网使

2、用人数在2014年8月已超过二十亿。这就意味着,全球有三分之一的人在使用着互联网,其中,手机人数又是二分之一。打个比方,十个人里面就有三个人会使用互联网,而在这三个人里面又有一个人会选择用手机上网。 这样庞大的一个数据,已经足够说明互联网正在占领着全球化的趋势。根据这项调查,又有有关人员深入研究,在一百个人里面仅只有三个人会保持每天写日记的好习惯。为什么要有写日记的习惯呢?写日记不仅能帮助你记录每日所发生的事情,是你倾诉的好对象。因此,本人为了扩大写日记的人数,打算研究一项专门用于写日记的软件。该安卓项目的设计目的主要是为了满足正在逐渐发展的杭州科技职业技术学院,与大学城领域日渐增多的广大学

3、生的需求。随着上大学时间增长,越来越发现找到一个有共同爱好,共同话题的朋友是多么的难得。从而造成了不少的学生不知道向谁吐槽心里话。或许有着小部分群体,依旧保持着手写日记的习惯,但随着手机越来越便捷化的发展,人们逐渐离不开了手机,这也就衍生了我想要研发一款手机日记本APP的浓厚兴趣。 本系统使用的是eclipse程序来编写Android代码,利用编程与SQLite数据库结构的有效结合,上下结合db与utils的关系,用的配置也是简单的BaseAdapter作为基础数据适配器,简单而又高效的进行开发。背景色调是选择最简单的小清新为主,不让客户产生厌烦的心理。为了更好的保护客户的隐私要求,进入日记

4、本之后还可以选择设置密码,显得更为人性化的服务。此软件在使用过程中并不需要上网,因此也不会造成客户流量的浪费。虽然本项目只是一款基础的日记本,但是会在今后不断的探索中将功能与维护性进一步的修正、改造与完善,满足各类客户的需求。 【关键词】 Android SQLite eclipse BaseAdapter 密码 手机日记 目 录 引言 4 第一章 项目概述 5 1.1 项目设计背景 5 1.2 本人要完成的主要工作 6 第二章 项目设计 7 2.1 项目总体架构 7 2.2 数据库设计 7 第三章 各项目的设计与实现 9 3.1 项目初界面 9 3.2 主

5、界面 10 3.2.1 写日记 11 3.2.2 查看日记 13 3.2.3 日记搜索 15 3.2.4 日记加密 17 3.3 更多功能 19 结论 20 致谢 21 参考文献 22 引 言 随着科技的进步与人们生活质量的提高,手机也成为了人们日常生活不可缺少的一部分。据准确数据调查,全球人口已超过65亿,其中,互联网使用人数在2014年8月已超过二十亿。这就意味着,全球有三分之一的人在使用着互联网,其中,手机人数又是二分之一。打个比方,十个人里面就有三个人会使用互联网,而在这三个人里面又有一个人会选择用手机上网。这样庞大的一个数据,已经足够说明互联网正在

6、占领着全球化的趋势。根据这项调查,又有有关人员深入研究,在一百个人里面仅只有三个人会保持每天写日记的好习惯。相对于书本知识,人们更加与侧重与手机搜索,或是以打字来代替生活中的一些手写。其中,书信的减少就是最明显的一项变化。电话与短信以及现在更加流行的腾讯产品都成为了手机用户日常中重要的交流工具。随之也有着越来越多的生活中常用的东西被制作成APP软件,便于手机用户更加便捷的使用,其中个人日记本就是一项较为流行的成果。 Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android是由Linux+Java 构成的开源软件,允许所有厂商和个人在其

7、基础上进行开发。Android 平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。 经过多年的发展, 第三代数字通信(3G)技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。 第一章 项目概述 1.1 项目设计背景 Android是一个以Linux系统为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的Open

8、 Handset Alliance持续领导与开发中。此外,现在Android已发布的最新版本为Android 6.0。 Android最初是由Andy Rubin等人开发制作,最初开发这个系统的主要目的是为了创建一个以数码相机为主的先进操作系统,但是后来随着时间的发现这在市场上的需求并不够大, 且加上智能手机市场快速成长,于是Android被改造为一款面向智能手机的操作系统。在2005年8月被美国科技企业Google收购。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括

9、通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。 Android手机是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,例如:手机。在2011年第一季度,Android手机在全球的市场份额首次超过塞班系统,跃居全球第一。2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2014年第一季度,Android平台手机已占所有移动平台流量来源的42.8%,首都超越ios。 由以上数据可知,电子产品的日益扩大与发展,人们逐渐离

10、不开了手机与电脑,基本上各个出门就是低头一族,为了延续与继承日记本的良好习性,本人逐渐衍生出要研发一款专门在手机上使用的个人日记。此个人日记本是一项基于人们往日手写日记的习惯制作而成,主要侧重于女生群体,以简单而又小清新的色调为主,能让用户在使用的时候心情能够更加的放松,并且此日记本并不需要消耗流量,能时时刻刻,想写就写。 每个人都会有着多多少少的小秘密,或是一些难以与人沟通的话语,那么就都可以倾诉给个人日记本。表露了自己的心情后,能释放心中的压力。如果有些密码不想让别人看到或者是担心谁误拿了自己的手机,怕被看到里面的日记,所以在设计时,体贴而又人性化的在设置中可以进行自行添加密码,是否需要

11、添加密码,全由用户自主选择。当然,一旦你选择了添加密码,你便为为自己的小秘密增添了一份枷锁,谁也偷窥不到啦。 为了更加有真实感,特地模拟了实际日记本所特有的日期记录,使用时先说明今天年份月份及日子,讲述自己一天以来的所见所闻和感受,最后别忘了给自己这特殊的一天赋予一个心情,毕竟每个人每天的心情都会有所差别的。 写完日记记得返回主界面,除了写日记一个选项外,还有查看日记,搜索日记,设置密码三个主按钮。点击进入查看日记,你可以看到按日期排布的你以往所写的所有日记,偶尔看看其中一篇,顿时令你想起当日情景,这是多么美好的一件事件啊,帮你留住自己的记忆。如果你有一天突然想看一篇日记,但又想不起来具体

12、日期了,那么你就选择搜索按钮,进入后输入关键字,进行全数据库搜索。这样是不是就能节省你不少的时间了?好处多多,想必关于设置密码也就不用过多介绍了吧,自主选择是否要对日记进行加密。 本日记本在设计方面,使用Android的Activity的布局及组件设计;使用Android的Intent组件完成各个Activity的数据传递及页面跳转; Java对象在互联网传输中的数据对象序列化。目的在于掌握Java手机应用开发技术和移动软件平台开发技术。像是在数据库DiaryDao中,分别放置了delete、search、insert、query来进行删除、查询、插入、获取功能。而在锁设置方面,有check

13、clear、getlock和savelock来检查、清除、获取密码、保存密码。在以Java语言为基础,结合Android移动开发平台,并利用Android提供的SDK,完成在Android平台上运行的“日记”查询软件,形成一款具有一定功能的手机应用软件。 个人日记本的使用,使用户减缓了心中的压力与不快,能够更好的与他人相处,促进了人与人之间的融洽。用它,于你,于他,于大家,人人和谐。 1.2 本人要完成的主要工作 在此次毕业作品设计中,本人主要需要做的是依据现有的Android编程技术设计一款适合安卓智能手机使用的日记本软件。使其数据能够即使记录,并在用户有需要的时候可以查看。将一个现

14、实中的日记本完整的还原到手机端上。 在设计项目时,本人是在Java环境下,采用Eclipse开发环境,利用Android SDK插件模拟手机平台,使用各种课堂上学到的知识运用到软件中,完成所定制的各项功能。 该项目有专门设计的数据库,及时记录与保存用户每次所写的日记。 以上就是本人本次的工作任务。 第二章 项目设计 2.1 项目总体架构 该项目主要分为写日记、查看日记、搜索日记、设置密码、替换背景、用户帮助6个子模块。 个人心情日记本 open 设置密码 more 写日记 查看日记 搜索日记 退出 日期 心情 标

15、题栏 正文 往日日记 搜索 帮助 无密码 数字密码 图 图2-1 项目设计图 2.2 数据库设计 本系统后台数据库选用SQLite数据库,数据库中有多张数据表,介于多数表格内容有相似重合的地方,所以为了方便浏览,仅简单的截取了两张数据表以供参考,这两张数据表分别是日记表(diary),密码表(lock)具体表结果如下: 日记表:diary 字段名 数据类型 说明 data data 主键、自动增长 week datetime 非空 diarytitle varchar(255) 标题 title varchar(255)

16、正文 feeling varchar(40) 心情 密码表:lock 字段名 数据类型 说明 int int 主键、自动增长 lock varchar(40) 非空 确定 lock double(6,2) 非空 No lock Varcahr(40) null 第三章 各项目的设计与实现 3.1 项目初界面 使用过只能手机App的用户都知道,每次登陆一个App都会有个最初的登录界面,所以在设计时,我也先进行设计了一个初级界面,如下图所示: 图3-1 open 因为只是一个简单的界面,只有一个按钮,所以代码也来的相对的简单,关

17、键代码如下: protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.open); open = (Button)this.findViewById(R.id.open); open.setOnClickListener(new

18、 OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub sp=getSharedPreferences("pass", Context.MODE_PRIVATE); String passWay=sp.getString("passway", null); Intent i=new Intent(OpenActivity.this,MainActivity.class); startActivi

19、tyForResult(i, 0); ... ... 3.2 主界面 在主界面中放了五个按钮,分别为写日记、查看日记、日记搜索、日记加密、退出,另外在左下角还有一个小小的图标“more”,点击进入能够查看用户帮助,提供基本操作。 图3-2 主界面 以下为主界面的主要代码,先对文本中会用到的数据进行定义: private void init() { setContentView(R.layout.set_diary); addDiary = (Button) this.findViewById(R.id.diary_add); seeDiary

20、 (Button) this.findViewById(R.id.see_diary); searchDiary = (Button) this.findViewById(R.id.search_diary); ... ... @Override protected void onResume() { super.onResume(); } class MyListener implements OnClickListener { @Override public void onClick(View v) { switch (v.get

21、Id()) { case R.id.diary_add: Intent intent = new Intent(MainActivity.this, AddActivity.class); startActivity(intent); break; } ... ... //退出界面 private void exitDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setIcon(R.drawable.qui

22、t); builder.setTitle(getString(R.string.quit)); builder.setMessage(getString(R.string.is_quit)); builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismis

23、s(); finish(); } }); builder.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.setCancelable(false);

24、builder.create().show(); } ... ... 3.2.1 写日记 点击“写日记”按钮,你会看到如下界面,分为日期部分,心情部分,标题部分,正文部分。其中心情部分区内共有六种心情,分别为开心、无奈、伤心、哭泣、生气、害羞。用户可以根据当天的心情选择适合自己的表情。 图3-3 写日记 如果你在任何东西都没填写的状态下按下返回键,那么会有提示框告诉你:“sorry,save fail!” 只有在填写了内容的情况下退出才会正常保存日记。 图3-4 保存失败 在代码方面其实并没有做特别多的功能,除了基本的文本,日期,时间等等外

25、就是在离开的时候进行了判断,判断是否有值在文本编辑框内放入,若是有,则退出时自动保存;若是没有,那么显示保存失败。 private void init() { this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.add_diary); preferences = getSharedPreferences("image", MODE_PRIVATE); date = cal.getTime(); simpleDateFormat = new SimpleDateF

26、ormat("yyyy-MM-dd"); timeTextView = (TextView) this.findViewById(R.id.time); timeTextView.setText(simpleDateFormat.format(date)); weekendTextView = (TextView) this.findViewById(R.id.weekend); weekendTextView.setText(DateToWeek(date)); feelingSpinner = (Spinner) this.findViewById(R.id.

27、feeling); context = (EditText)this.findViewById(R.id.edit_diary_context); diaryTitle = (EditText)this.findViewById(R.id.edit_title); back = (ImageView)this.findViewById(R.id.back_add_diary); back.setOnClickListener(new BackListener()); ArrayAdapter adapter=ArrayAdapter.c

28、reateFromResource(this, R.array.feeling, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); feelingSpinner.setAdapter(adapter); feelingSpinner.setPrompt(getString(R.string.feeling)); setBackground(); } ... ... 数

29、据库方面代码如下: public class Diary { private String date; private String weekend; private String feeling; private String context; private String diaryTitle; private int id; public String getDate() { return date; } public void setDate(String date) { this.date = date; }

30、 public String getWeekend() { return weekend; } ... ... @Override public String toString() { return "Diary [date=" + date + ", weekend=" + weekend + ", feeling=" + feeling + ", context=" + context + ", diaryTitle=" + diaryTitle + ", id=" + id + "]"; } ... ... 3.2.2

31、 查看日记 当你点击“查看日记”按钮,并且此时里面并没有日记时,会出现如下提示框,当点击“确定”键,用户会直接跳转到写日记的界面。 图3-5 提示写日记 以下为查看日记界面的基本代码,当用户进入查看日记按钮后,程序会自行进行文本刷新,将所有文本按写的先后顺序排序出来。 private void init() { setContentView(R.layout.set_info_diary); diaryDao = new DiaryDao(this); diaries = new ArrayList(); back = (ImageView)

32、this.findViewById(R.id.see_back_diary); context = (ListView) this.findViewById(R.id.diary_list); refresh(); myDialog(); back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); myReceiver = new BroadcastReceiver() {

33、 @Override public void onReceive(Context context, Intent intent) { refresh(); }; IntentFilter iFilter = new IntentFilter(); iFilter.addAction("com.android.receivemsg"); iFilter.setPriority(Integer.MAX_VALUE); // 注册广播接收器 registerReceiver(myReceiver, iFilter); ... ... //用户所有

34、的日记 private void myDialog() { if (diaries.isEmpty() || diaries.size() < 0) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getString(R.string.prompt));//提示 builder.setIcon(R.drawable.warning); builder.setMessage(getString(R.string.is_add_diary));

35、 builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(SeeActivity.th

36、is, AddActivity.class); startActivity(intent); finish(); unregisterReceiver(myReceiver); } }); builder.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInte

37、rface dialog, int which) { finish(); unregisterReceiver(myReceiver); } }); builder.setCancelable(false); builder.create().show(); } ... ... 3.2.3 日记搜索 点击进入“日记搜索”界面,你会发现里面其实并没有什么东西,只有一个搜索框,只需将用户需要搜索的文本内容在文本框内输入,再点击左边的搜索按钮即可。将会将所有出现过关键字的所有日记都搜索出来。 图3-6 日记搜索

38、 图3-14 日记搜索 关于日记搜索界面的关键代码,主要重点是放在编辑框的监听器上面,当监听器监听到有文本被放入进来了,就会对文本进行识别,再进行全日记搜查,直到找出相对应的日记。 //编辑框监听器 class SearchInfoListener implements TextWatcher{ @Override public void afterTextChanged(Editable s) { } @Override public void beforeTextChanged(CharSequence s, int start, int c

39、ount, int after) { } class ItemLongPressListener implements OnItemLongClickListener{ @Override public boolean onItemLongClick(AdapterView parent, View v, final int position, long id) { AlertDialog.Builder builder = new AlertDialog.Builder(SearchActivity.this); builder

40、setTitle(getString(R.string.op)); builder.setIcon(R.drawable.operate); builder.setItems(new String[]{getString(R.string.share),getString(R.string.transmit), getString(R.string.delete),getString(R.string.backups),getString(R.string.empty)}, new DialogInterface.OnClickListener() { @Override

41、 public void onClick(final DialogInterface dialog, int which) { // TODO Auto-generated method stub if (which == 0) { Intent intent=new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.share)); intent.putExtra(Intent.EXTRA_TITLE, diaries.get(position

42、).getDiaryTitle()); intent.putExtra(Intent.EXTRA_TEXT, diaries.get(position).getContext()); intent.setType("text/plain"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); SearchActivity.this.startActivity(Intent.createChooser(intent, getTitle())); dialog.dismiss(); ... ...

43、 AlertDialog.Builder builder = new AlertDialog.Builder(SearchActivity.this); builder.setMessage(getString(R.string.delete_sure)); builder.setTitle(getString(R.string.delete)); builder.setIcon(getResources().getDrawable(R.drawable.delete)); builder.setPositiveButton(getString(R.string.o

44、k), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int which) { // TODO Auto-generated method stub diaryDao.delete(diaries.get(position).getId()); System.out.println("id ->"+diaries.get(position).getId()); refresh();

45、 Toast.makeText(SearchActivity.this, getString(R.string.delete_over), Toast.LENGTH_SHORT).show(); dialogInterface.cancel(); Intent intent = new Intent(); intent.setAction("com.android.info.delete"); SearchActivity.this.sendBroadcast(intent); } }); ... ... @Override public

46、void onClick(DialogInterface dialogInterface, int which) { String fileName = Time.getTime(); Stringinfo=diaries.get(position).getDiaryTitle()+ "\n"+diaries.get(position).getDate()+""+diaries.get(position).getWeekend()+" "+diaries.get(position).getFeeling()+"\n"+diaries.get(position).getContex

47、t(); if (FileWorking.wirteData( fileName, info)) { Toast.makeText(SearchActivity.this, getString(R.string.save_success_sd),0).show(); } else { Toast.makeText(SearchActivity.this, getString(R.string.save_failed_sd),0).show(); } ... ...图3-15 日记搜索主代码 3.2.4 日记加密

48、 在用户点击“日记加密”按钮后,会进入如下界面。可以选择是要‘数字密码’还是‘无密码’。 图3-7 日记加密 在点击“数字密码”界面后,会出现如下界面。会提示用户设置密码,并确认密码。 图3-8 设置密码 图3-17 设置密码 日记本整体设置采用了多个方法的监听器,因此,在设置密码这方面,同意也用到了监听器模块,专门针对是否有密码进行了监听。主要代码如下图显示: class DigitalPassListener implements OnClickListener{ public void onClick(View v) { LayoutInflat

49、er factory=LayoutInflater.from(SetPasswordActivity.this); final View textEntry=factory.inflate(R.layout.digital_password, null); AlertDialog.Builder builder=new AlertDialog.Builder(SetPasswordActivity.this) .setTitle(getString(R.string.set_password)).setView(textEntry) .se

50、tPositiveButton(getString(R.string.set), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { setpass=(EditText)textEntry.findViewById(R.id.set_password); confirmpass=(EditText)textEntry.findViewById(R.id.confirm_password); if (!confirmpass.

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服