毕业论文-基于android的日记本的设计与开发_第1页
毕业论文-基于android的日记本的设计与开发_第2页
毕业论文-基于android的日记本的设计与开发_第3页
毕业论文-基于android的日记本的设计与开发_第4页
毕业论文-基于android的日记本的设计与开发_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 III中的字体规模进行调查, 在系统中对字体的各个规模进行了规定,设计合理。(2)程序运行效果图如果5-5所示:图5-5字体大小设置(3)字体大小选择的部分代码如下:/判断所选字体大小if (v.getId()=R.id.ll_font_small) if (sharedPreferences.getInt(font_size, 0)=R.id.iv_small_select) this.finish();else if(sharedPreferences.getInt(font_size, 0)=R.id.iv_nomal_select)editor.putInt(font_size, R

2、.id.iv_small_select);mit();WriteDiaryactivity.diaryInfo.setTextSize(14f);findviewById(R.id.iv_nomal_select).setVisibility(view.GONE);this.finish();5.2.4 分享功能(1)描述:该功能模块可以以邮件或者信息或者微信等功能分享自己的心情日记,使 用更加多元化。(2)程序运行效果图如图5-6所示:图5-6分享功能(3)实现该功能代码: Intent intent=new Intent(Intent.ACTION_SEND);intent.putExtr

3、a(Intent.EXTRA_SUBJECT, 分享);/设置分享标题intent.putExtra(Intent.EXTRA_TEXT, diaryInfo.getText();/设置分享内容intent.setType(text/plain);/设置分享内容类型intent.setFlags(Intent.FLAG_activity_NEW_TASK);/设置打开方式 this.startactivity(Intent.createChooser(intent, getTitle();5.2.5 天气功能(1)使用了下拉列表菜单功能,添加了几种天气供用户选择。在该功能下可以自己设 置天气,

4、没有使用联网设置,天气可以代表用户的心情,更加人性化。(2)程序运行效果图如图5-7所示:图5-7天气功能(3)实现该功能代码:weatherSpinner=(Spinner)findviewById(R.id.weather);/天气选择下拉框/天气信息下拉框的适配器ArrayAdapter adapter=ArrayAdapter.createFromResource(this, R.array.weather, android.R.layout.simple_spinner_item); adapter.setDropDownviewResource(android.R.layout.s

5、imple_dropdown_item_1line);weatherSpinner.setAdapter(adapter);/为下拉框设置适配器 weatherSpinner.setPrompt(getString(R.string.weather);/为下拉框设置标题5.3 日记列表(1)描述:日记列表是对所写的日记进行排列,按照时间、日记生成的顺序,排 列出日记的摘要,更方便用户查询,翻看,进行更多的操作。(2)程序运行效果如图5-8所示: 图5-8日记列表(3)实现该功能代码: /从数据库中获取日记信息DataBaseHelper dbHelper=new DataBaseHelper(

6、activity.getBaseContext(), mydiary.db);SQLiteDatabase db=dbHelper.getReadableDatabase();Cursor cursor=db.query(tableName, null, null, null, null, null, id desc);listInfo.clear();while(cursor.moveToNext()MyDiaryInfoModel myDiaryInfo = new MyDiaryInfoModel();String date = cursor.getString(cursor.getCo

7、lumnIndex(date);String week=cursor.getString(cursor.getColumnIndex(week);String weather = cursor.getString(cursor.getColumnIndex(weather);String diaryInfo=cursor.getString(cursor.getColumnIndex(diaryinfo);float fontSize=cursor.getFloat(cursor.getColumnIndex(fontsize);int id = cursor.getInt(cursor.ge

8、tColumnIndex(id);/将取到的日记信息保存在对象中myDiaryInfo.setDate(date);myDiaryInfo.setWeek(week);myDiaryInfo.setWeather(weather);myDiaryInfo.setDiaryInfo(diaryInfo);myDiaryInfo.setFontSize(fontSize);myDiaryInfo.setId(id);/将对象放到list中listInfo.add(myDiaryInfo);cursor.close();db.close();5.4 信息安全功能(1)描述:该功能可以实现对日记的保密

9、工作,分为数字密码和图形密码两个部 分。多种选择供用户选择,方便使用。(2)程序运行效果如图5-9所示: 图5-9信息安全功能5.4.1 数字密码(1)描述:此功能对数字密码的长短没有限制,如果想添加密码又怕繁琐,短密 码也是可以进行保密的。而长密码一般不超过12位。在该界面输入数字两次输入 相同密码进行确认即可完成设置。(2)程序运行如图5-10所示: 图5-10数字密码(3)实现该功能代码: setPass=(EditText)textEntry.findviewById(R.id.set_pass);/输入密码框confirmPass=(EditText)textEntry.findvi

10、ewById(R.id.confirm_pass);/ 再次输入密码框/判断两次输入密码是否一致if (!confirmPass.getText().toString().trim().equals()&confirmPass.getText().toString().trim().equals(setPass.getText().toString().trim() /将密码信息保存起来preferences=getSharedPreferences(pass, Context.MODE_PRIVATE);Editor editor=preferences.edit();editor.putS

11、tring(passway, digitalpass);editor.putBoolean(isSet, !isSet);editor.putString(password, setPass.getText().toString().trim();mit();dialog.dismiss();Toast.makeText(PasswordSetactivity.this, R.string.pass_set_success, Toast.LENGTH_LONG).show();5.4.2 图形密码(1)描述:九宫格的设置,可以根据用户喜好,连贯起任意点设置密码,一次设 置,一次确认密码即可完成

12、手势密码的设置。(2)程序运行效果图如图5-11所示:图5-11图形密码(1)实现该功能的主要代码如下: /保存手势 public void saveLockPattern(List pattern) Editor editor = preference.edit(); editor.putString(KEY_LOCK_PWD, patternToString(pattern); mit(); /将手势转化为字符串 public static String patternToString(List pattern) if (pattern = null) return ; final int

13、 patternSize = pattern.size(); byte res = new bytepatternSize; for (int i = 0; i patternSize; i+) LockPatternview.Cell cell = pattern.get(i); resi = (byte) (cell.getRow() * 3 + cell.getColumn(); return Arrays.toString(res);5.5 搜索功能 (1)描述:在已生成的日记列表中,直接搜索记忆中的关键字,系统会关联到日记 的相关内容,如果确认无误是所查找的日记内容,直接点开就进入到

14、日记编辑查看 页面。 (2)程序运行效果图如图5-12所示:图5-12搜索功能(3)实现该功能主要代码如下: /根据输入内容在数据库中查找日记DataBaseHelper dbHelper=new DataBaseHelper(activity.getBaseContext(), mydiary.db);SQLiteDatabase db=dbHelper.getReadableDatabase();Cursor cursor = db.query(DIARY_INFO, null, diaryinfo like % + editText.getText().toString() + %, n

15、ull, null, null, id desc);listInfo.clear();while(cursor.moveToNext()MyDiaryInfoModel myDiaryInfo = new MyDiaryInfoModel();String date = cursor.getString(cursor.getColumnIndex(date);String week=cursor.getString(cursor.getColumnIndex(week);String weather = cursor.getString(cursor.getColumnIndex(weathe

16、r);String diaryInfo=cursor.getString(cursor.getColumnIndex(diaryinfo);float fontSize=cursor.getFloat(cursor.getColumnIndex(fontsize);int id = cursor.getInt(cursor.getColumnIndex(id);/将日记信息保存到对象中myDiaryInfo.setDate(date);myDiaryInfo.setWeek(week);myDiaryInfo.setWeather(weather);myDiaryInfo.setDiaryIn

17、fo(diaryInfo);myDiaryInfo.setFontSize(fontSize);myDiaryInfo.setId(id);listInfo.add(myDiaryInfo);cursor.close();db.close(); 5.6 帮助功能(1)描述:该模块实现帮助用户了解各模块的功能及使用方法,更加方便用户使 用。(2)程序运行效果图如图5-13所示:图5-13帮助功能(3)实现该功能主要代码如下: AlertDialog.Builder mydlg = new AlertDialog.Builder(this); mydlg.setIcon(android.R.dra

18、wable.ic_dialog_info);/设置图标 mydlg.setTitle(R.string.help);/设置标题 mydlg.setMessage(R.string.help_info);/设置对话框内容 /设置确定按钮 mydlg.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int whichButton) ); /创建对话框 AlertDialog alert =mydlg.create();5.

19、7 关于(1)描述,该功能包含了版本信息,开发者信息(2)程序运行效果如图5-14所示:图5-14关于界面(3)实现该功能主要代码如下: AlertDialog.Builder mydlg = new AlertDialog.Builder(this); mydlg.setIcon(android.R.drawable.ic_dialog_info);/设置图标 mydlg.setTitle(R.string.about);/设置标题 mydlg.setMessage(R.string.about_info);/设置对话框内容 /设置确定按钮 mydlg.setPositiveButton(R

20、.string.ok, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int whichButton) ); /创建对话框 AlertDialog alert = mydlg.create();6 测试用例6.1 系统测试6.1.1 系统测试过程中出现的问题由于技术的不熟练缘故,在本次设计的过程中出现了很多的问题,比如说高低版本不能正确显示,但是通过老师的指导还有同学的帮助,还有同事的协助,也都正确完成。在测试中,针对各个模块设计用例,以检测各个模块功能是否完善,还需改进。6.

21、1.2 系统测试目的与意义系统测试的目的是在真实系统工作环境下通过与系统的需求定义作比较,检验完整的软件配置项能否和系统正确连接,发现软件与系统/子系统设计文档和软件开发合同规定不符合或与之矛盾的地方。系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合起来,在实际运行(使用)环境下,对计算机系统进行的测试。是为了发现缺陷并度量产品质量,按照系统的功能和性能需求进行的测试。 6.2 测试过程测试的过程就是把一切可能的因素考虑在内,按照“最不利”原则去进行测试,例如在本应该输入数字的地方尝试输入汉字,会有产生什么样的结果

22、,按照这样的思路尽可能多的设计不重复的用例,这样就可以在将系统交到客户手中之前使系统更加完善起来,减少了系统维护成本。6.2.1 验证密码模块测试密码验证的模块测试中,主要是对两种方式的密码进行验证。在数字密码设置功能中添加1234密码,退出程序重新进入输入密码1234,成功进入主界面。同样在手势密码设置功能中添加手势,退出程序重新进入,输入手势,成功进入主界面。密码验证功能模块正常运作,确认无误。测试如表6-1,各项功能均正常显示。表6-1 验证密码测试结果用例目标测试验证密码模块是否正常运作需求描述输入密码后可以正常进入界面步骤操作输入数据预期结果1添加1234密码后重新进入应用并进行验证

23、1234顺利进入主界面2添加手势密码后重新进入应用并进行验证无顺利进入主界面6.2.2 日记输入模块测试在写日记模块测试中,主要是测试日记输入模块中的各项功能是否可以正常运作。经过测试后,各项功能均可正常运行。测试如表6-2,各项功能均正常显示。用例目标测试日记输入模块中的各项功能是否正常运作需求描述各项功能均达到需求步骤操作输入数据预期结果1点击写日记并添加内容后回退到主界面今天是个好天气回退到主界面后日记显示在日记列表中2在日记输入界面菜单中删除日记删除退回到主界面后之前编写的日记消失3在字体大小设置中选择不同的字体小字体比正常的变小大字体比正常的变大超大字体比大号还要大4将日记分享到各项

24、应用程序中电子邮件关联到系统自带电子邮件功能中,输入正确的邮编地址完成发送信息关联到信息功能,输入正确的收件人完成发送备忘录关联到备忘录功能,进入系统备忘录界面,点击保存完成分享5选择不同的天气晴朗日记编写界面天气显示为晴朗多云日记编写界面天气显示为多云降雪日记编写界面天气显示为降雪表6-2日记输入测试结果6.2.3 日记列表模块测试日记列表模块的测试主要是检测输入的日记能否正确显示在日记列表中。在测试过程中,输入了三篇日记,成功退出保存后,在日记列表中成功显示出三篇日记。测试如表6-3,各功能均正常显示。用例目标测试日记列表模块是否正常运作需求描述正常显示添加的多个日记步骤操作输入数据预期结

25、果1保存3篇日记日记在列表中显示所有输入的日记3篇表6-3日记列表测试结果6.2.4 搜索模块测试在搜索模块的测试主要是测试在搜索框中输入关键字后,能否在列表中显示出与搜索内容相同的日记。添加了某篇带有天气字样的日记,在搜索功能中输入“天气”后,在列表中显示出了带有“天气”的日记。测试如表6-4,各功能均正常显示。用例目标测试搜索模块是否正常运作需求描述正常显示搜索结果步骤操作输入数据预期结果1在搜索框中输入“天气”天气在下方列表中显示出与日记内容带有“天气”的日记表6-4搜索模块测试结果6.2.5 信息安全模块测试在信息安全模块的测试中,主要是验证是否能够正常添加密码,并且在密码验证时能否正

26、确实现。在设计用例后,正确地完成了该功能的正确使用。测试如表6-5,各功能均正常显示。表6-5信息安全测试结果用例目标测试信息安全模块是否正常运作需求描述正常添加数字和手势密码步骤操作输入数据预期结果1点击信息安全按钮,进入到数字密码添加1234添加数字密码后再重新进入应用,需要数字密码的验证2点击信息安全按钮,进入到手势密码添加1234添加手势密码后再重新进入应用,需要手势密码的验证6.3 非功能测试6.3.1 实时性测试通过用户的点击操作,一般在两秒内能实现。6.3.2 安装/反安装测试 在用户手机上进行安装和反安装正常,反安装是删除所有安装内容。结果是在两 项测试中,均无误,准确实现程序

27、的安装。6.3.3 兼容性测试在引用本软件时,能与其他软件同时正常工作,不会引起兼容性问题。6.4 用户界面测试用户界面测试是对界面的窗口切换、各个界面元素布局、形状等的测试,各项具体测试如下表6-6所示均正常。表6-6用户界面测试结果测试内容反映窗口切换正常各个界面元素的文字显示正常各个界面元素支持点击操作正常名利执行顺序合理性正常界面元素布局合乎统一的约定正常界面元素形状合乎统一的约定正常界面上的字体合乎统一的约定正常图片合乎统一的约定正常总 结本次的毕业设计将我大学四年所学的所有软件工程理论知识都用到了具体的实践中去,即深化了理论知识,同时也锻炼了动手实践能力。在这段日子里,查阅了许多有

28、关android系统设计的资料,翻阅了许多相关书籍,结合自己的经验,才完成了本次的设计与开发;虽然学校曾经有过很多次相应的课程设计和实训来作为动手练习的基础,但是在本次毕业设计的具体实践中还是遇到了很多小问题,经过自己的努力、老师的指导以及朋友的帮助,最终还是完成了整个设计过程与功能开发。通过本次毕业设计,我锻炼了自己的自学能力,也从中学到不少在学校课堂上学不到的东西;通过多次反复思考与设计、测试,我也深刻的体会到软件开发的艰辛,问题解决后的喜悦心情,同时也培养了我独立思考问题的能力,增强了我理论联系实际的能力,为自己以后的工作奠定了良好的基础。总之,借由这次课程设计,我接触到了许多相关的资料

29、,丰富了设计与开发的整体思路,深刻领会到实践出真知的人生真谛,此后我会继续深入学习,在兴趣之上,我相信自己会得到更大的提高和进步,把android 系统在以后的生活中应用的更广泛,为人类的美好明天尽出自己最大的努力。 参考文献 HYPERLINK /result.aspx?q=%e4%bd%9c%e8%80%85%3a(%c3%89tienne+Payet) t _blank tienne Payet, HYPERLINK /result.aspx?q=%e4%bd%9c%e8%80%85%3a(Fausto+Spoto) t _blank Fausto Spoto. Static analy

30、sis of android programsJ. Information and Software Technology, 2012, Vol.54 (11): 1192-1201赵朋飞. HYPERLINK /Article/CJFDTOTAL-KJXX201131007.htm t _blank 智能手机操作系统Google android分析J.科技信息.2011年31期靳岩,姚尚朗.Google android开发入门与实践M.北京:人民邮电出版社,2009赵亮,张维. HYPERLINK /Article/CJFDTOTAL-DNZS200929041.htm t _blank 基

31、于android技术的界面设计与研究J.电脑知识与技术,2009年29期杨丰盛.android应用开发揭秘M.北京:机械工业出版社,2010Namheun Son,Yunho Lee,Dohyun Kim.A study of user data integrity during acquisition of android devicesJ.Digital Investigation,2013,Vol.10:S11-S13于龙.多功能日记本的设计与实现.西北大学,2012E2EColud工作室.深入浅出Google androidM.北京:人民邮电出版社,2009余志龙,陈昱勋,郑明杰,陈小

32、凤,郭秩均.Google android SDK开发范例大全M.北京:人民邮电出版社,2009 HYPERLINK /result.aspx?q=%e4%bd%9c%e8%80%85%3a(Antonio+Corradi) t _blank Antonio Corradi, HYPERLINK /result.aspx?q=%e4%bd%9c%e8%80%85%3a(Mario+Fanelli) t _blank Mario Fanelli, HYPERLINK /result.aspx?q=%e4%bd%9c%e8%80%85%3a(Luca+Foschini) t _blank Luca

33、Foschini, HYPERLINK /result.aspx?q=%e4%bd%9c%e8%80%85%3a(Marcello+Cinque) t _blank Marcello Cinque. Context data distribution with quality guarantees for android-based mobile systemsJ.Security Comm.Networks, 2012, Vol.6 (4)印旻,王行言.Java语言与面向对象程序设计M(第二版).北京:清华大学出版社,2007张仕成.基于Google android平台的应用程序设计开发与研

34、究J.电脑知识与技术.2009 HYPERLINK /result.aspx?q=%e4%bd%9c%e8%80%85%3a(Reed) t _blank Reed, HYPERLINK /result.aspx?q=%e4%bd%9c%e8%80%85%3a(Brad) t _blank Brad. How android conquered the mobile world in just three yearsJ. Network World (Online),2010致 谢作者在设计(论文)期间都是在王铮老师全面、具体指导下完成进行的。王铮老师渊博的学识、敏锐的思维、民主而严谨的作风使

35、学生受益非浅,并终生难忘。感谢闫宇帅老师等在毕业设计工作中给予的帮助。感谢我的学友和朋友对我的关心和帮助。英文文献原文The basic of description of android systemThe mainstream of the next generation of open operating systems will not be on the desktop, but will appear in the phone that we carry every day. Open environment will lead these new applications may

36、 be integrated into these online services that already exist, of course, as with growing data services on mobile phones support the security flaws on the phone is also becoming increasingly clear. The nature of the next-generation operating system, whether to provide a complete integrated security p

37、latform. By the Open Mobile Alliance (open Handset Alliance led by Google) developed the android system is a widely optimistic about an open source phone system, the system provides a basic operating system, a middle ware application layer, a java development tools and a system Application collector

38、 (collection of system applications). The android the SDK since 2007 on the release of the first android phone in October 2008 before the birth. Google opened since then on his own time, Taiwans HTC, the manufacturer of the T-Mobile G1 estimate G1 shipments have more than one million at the end of 2

39、008. According to industry insiders expect the G1 mobile phone sales in 2009 continue. Many other mobile phone suppliers in the near future plans to support this system. Around an android and a huge developer community has been established, while a lot of new products and applications on the android

40、. androids main selling point is that it enables developers to seamlessly expand online services to mobile phones. This is the most obvious example is Googles tightly integrated with Gmail, Calendar and Contacts Web applications through the system. Users only need to provide an android user name and

41、 password, the phone automatically sync with Google services. The other vendors are quickly adapt their existing instant messaging, social networking and gaming services. android and many companies find new ways to integrate their existing business to the android. Traditional desktop and server oper

42、ating system has been working for the integration of security features. These individuals and business applications on a single platform is very good, however a business phone platform like android is not very useful. It gives the hope of many researchers. android is not parked in the body for other

43、 platform application support: the implementation of the application depends on a top-level JAVA middle ware, the middle ware running on the embedded Linux kernel. Therefore, developers should deploy their applications to the android must use a custom user interface environment. In addition, the and

44、roid system applications limit the application to call each other API collaboration, and the other to authenticate the user application. Although these applications have certain safety features, some of our experienced developers to create android applications who revealed that the design of securit

45、y applications is not always straight forward. android uses a simple permission label distribution mode to restrict access to resources, but the reasons for the necessity and convenience of other applications, the designers have increased the confusion on this system. This paper attempts to explain

46、the complexity of the android security, and pay attention to some of the possible development defects and application security. We try to draw some lessons learned, and hope that the safety of the future. android application framework for developers is a mandatory framework. It does not have a main

47、() function function or a single entry point for the implementation of the contrary, the developer must in the design of application components. We developed applications to help the API of the android sdkThe android system defines four kinds of component type. activity component that defines the ap

48、plication user interface. Usually, the application developer defines each activity screen. activity can start, it may pass and return values. Can be handled at a time only a keyboard system activity, all other activity will be suspended at this time. service components perform background processing.

49、 The need for some operations when an activity, after the disappearance of the user interface (such as downloading a file or playing music), it usually take such action specially designed services. Developers can also use a special daemon at system startup, the service is usually defined a remote pr

50、ocedure call (RPC), and other system components can be used to send the interface command and retrieve data, as well as to register a callback function. ContentProvider component storage and share data with relational database interfaces. Each Content supplier has an associated rights to describe it

51、s contents contains. Other components when used as a handle to execute SQL queries (eg SELECT, INSERT, or DELETE content. Content suppliers are typically stored the values on the database records, data retrieval is a special case, the file is also shared by the content provider interface. The compon

52、ents of the Broadcast receiver as to send a message from the mailbox to the application. Typically, the broadcast message, the application code implicit destination. Therefore, the radio receiver subscribe to these destinations receive messages sent to it. The application code can also be solved exp

53、licitly Broadcast receivers, including the name space allocation. The main mechanism of the interaction of the components of the Component Interaction, is an intent, which is a simple message object, which contains a destination address and data components. The android API defines his approach into

54、intent, and use that information to initiate an activity such as start an activity (startactivity (An intent) start services (the startservice (An intent) and radio (sendBroadcast (An intent). android framework to inform the calls to these methods began to perform in the target application code. Thi

55、s process, the internal components of communication is called an action. Simply put, the Intent object defined in the Intent to implement the action . One of the most powerful features of the android is allowed a variety of intent addressing mechanism. The developer can solve the space of a target c

56、omponent using its applications, they can also specify an implicit name. In the latter case, the system determines the best components of an action by considering the installed applications and user choice. Implicit name is called the action string because of his special type of the requested action

57、. Such as a view action string, in an intent data field points to an image file, the system will directly referring to the preferred image viewer. Developers can also use the action string a large number of radio to send and receive. Receiver at the receiving end, the developers use an intent filter

58、 to customize the special action string. android Department, including the additional goal of the resolution rules, but an optional string type of data manipulation is the most common.android applications are written in the Java programming language.The compiled Java code along with any data and res

59、ource files required by the application is bundled by the apt tool into an android package,an archive file marked by an .apk suffix.This file is the vehicle for distributing the application and installing it on mobile devices;its the file users download to their devices.All the code in a single.apk

60、file is considered to be one application.In many ways,each android application lives in its own world:By default,every application runs in its own Linux process.android starts the process when any of the applications code needs to be executed,and shuts down the process when its no longer needed and

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论