版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称实验6:数据存储与访问课程名称移动编程课程号16242215x0学院(系)数学与计算机专业计算机科学与技术班级计科1141班学生姓名学号实验地点 科技楼425实验日期2017.4.1一 、实验目的 1.熟悉在Android Studio开发环境下编写Android应用程序的流程;l 2.理解在Android Studio开发环境下进行用户界面设计的基本方法;l 3.掌握应用Android碎片控件Fragment开发适用于大屏幕的应用程序的方法。 4.掌握应用Android存储方法SharePreferences的应用方法。
2、二 、实验内容 在Android Studio开发环境下,使用Android的Fragment碎片控件、TextView文本标签控件、ListView列表控件、FrameLayout框架布局控件,利用SharePreferences存储方法,采用双页显示模式实现一个适用于大屏幕设备的简易新闻阅读器应用程序。3、 实验设备Android Studio 四、实验结果用户界面布局设计采用了水平线性布局方式,分为左右两个碎片Fragment;其中,左侧为新闻标题列表子界面,右侧为新闻详细内容子界面。当点击新闻标题列表中的某一标题时,右侧的Fragment将显示相应新闻标题的详细内容。5、 源代码主Ac
3、tivity的布局文件activity_main.xml的源代码<LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingTop="16dp" android
4、:paddingBottom="16dp" android:orientation="horizontal"> <FrameLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:id="+id/fl_title"></FrameLayout> <FrameLayout android:l
5、ayout_width="0dp" android:layout_height="match_parent" android:layout_weight="3" android:id="+id/fl_content"></FrameLayout></LinearLayout>新闻标题列表的布局资源文件news_title_frag.xml的源代码<?xml version="1.0" encoding="utf-8"?><Lin
6、earLayout xmlns:android=" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="+id/news
7、_title_list_view" /></LinearLayout>新闻标题列表子项的布局资源文件news_item.xml的源代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="ma
8、tch_parent"> <TextView android:id="+id/news_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /singleLine属性设置为true表示该TextView只能单行显示 android:ellipsize="end" /ellipsize属性用于设定当文本内容超出控件宽度
9、时,文本的缩略方 式,这里设置为end表示在尾部进行缩略 android:paddingLeft="10dp" android:paddingRight="10dp" android:paddingTop="15dp" android:paddingBottom="15dp" android:textSize="10sp" /> /textSize属性用于设置文本大小,推荐单位为sp(放大像素, scaled pixels)</LinearLayout>新闻内容的布局资源文件n
10、ews_content_frag.xml的源代码<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layo
11、ut_height="match_parent" android:orientation="vertical"> <TextView android:id="+id/news_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:padding="10dp" android:
12、textSize="15sp" /> <ImageView android:layout_width="match_parent" android:layout_height="1dp" android:scaleType="fitXY" / scaleType属性设置为fitXY,表示图像将填充 满整个控件的大小 android:src="drawable/spilt_line"/> <TextView android:id="+id/news_content
13、" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:padding="15dp" android:textSize="10sp" /> </LinearLayout> <ImageView android:layout_width="1dp" android:layout_height="
14、;match_parent" android:layout_alignParentLeft="true" android:scaleType="fitXY" android:src="drawable/spilt_line_vertical"/></RelativeLayout>Main_Activity.javapackage com.example.liheng1.mynewsapplication;import android.app.FragmentManager;import android.ap
15、p.FragmentTransaction;import android.content.Context;import android.content.SharedPreferences;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import java.util.ArrayList;public class MainActivity extends ActionBarActivity
16、private ArrayList<News> newsArrayList = null; private FragmentManager fManager = null; public MainActivity() Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); createNewsSPData(); /调用自定函数,若程序首次运行则生成新闻的 SharedP
17、references数据文件 / 读取新闻SP数据文件中的数据,以此生成新闻数组列表newsArrayList newsArrayList = new ArrayList<News>(); SharedPreferences SP_NewsCount = getSharedPreferences("NewsCount", Context.MODE_PRIVATE); int newsCount = SP_NewsCount.getInt("Count",0); for (int i = 1; i <= newsCount; i+) St
18、ring FileName = "News" / 新闻的文件名前缀 SharedPreferences SP_News = getSharedPreferences(FileName + i, Context.MODE_PRIVATE); News news = new News(); news.setTitle(SP_News.getString("NewsTitle",null); news.setontent(SP_News.getString("NewsContent", null); newsArrayList.add(ne
19、ws); fManager = getFragmentManager(); NewsTitleFragment ntFragment = new NewsTitleFragment(fManager, newsArrayList); FragmentTransaction ft = fManager.beginTransaction(); /显示新闻标题:将显示新闻标题的Fragment替换掉对应位置处的FrameLayout控件 ft.replace(R.id.fl_title, ntFragment); mit(); Override protected void onStop() sup
20、er.onStop(); createRunRecordSPData(); /调用自定函数,生成程序首次运行记录的 SharedPreferences数据文件 private void createNewsSPData() String RUN_RECORD = "AppRunRecord" / 记录 App是否首次运行的SP文件的文件名 String FIRST_RUN = "FirstRun" / 首次运行的标签名 String NEWS_COUNT = "NewsCount" / 记录 新闻数量的SP文件的文件名 String
21、COUNT = "Count" / 新闻数量的标签名 String FileName = "News" / 新闻的文件名前缀 SharedPreferences SP_RunRecord = getSharedPreferences(RUN_RECORD, Context.MODE_PRIVATE); if(SP_RunRecord.getBoolean(FIRST_RUN,true) int newsCount = 20; for(int i=1;i<=newsCount;i+) SharedPreferences SP_News = getSh
22、aredPreferences(FileName+i,Context.MODE_PRIVATE); SharedPreferences.Editor editor_News = SP_News.edit(); String newsTitle = "新闻标题" + i + ":若能正常显示此标题,则说明程序已经成功一半了" String newsContent = " 这是新闻标题 " + i + " 所对应的新闻内容,内容如下:" + "Fragment很多时候都是在平板应用开发中使用的,主要是为了解决
23、屏幕空间" + "不能充分利用的问题。n 本实验开发了一个适用于平板的简易新闻" + "阅读应用程序,在屏幕的左侧显示新闻列表,而在屏幕的右侧显示对应标题" + "的新闻内容。n 如果能够正常显示上述文字内容,则说明本程序" + "已经成功了" editor_News.putString("NewsTitle",newsTitle); editor_News.putString("NewsContent",newsContent); editor_Nmit(); S
24、haredPreferences SP_NewsCount = getSharedPreferences(NEWS_COUNT,Context.MODE_PRIVATE); SharedPreferences.Editor editor_NewsCount = SP_NewsCount.edit(); editor_NewsCount.putInt(COUNT,newsCount); editor_NewsCmit(); private void createRunRecordSPData() String RUN_RECORD = "AppRunRecord" / 记录 App是否首次运行的SP文件的文件名 String FIRST_RUN = "FirstRun" / 首次运行的标签名 SharedPreferences SP_RunRecord = getSharedPreferences(RUN_RECORD,Context.MODE_PRIVATE); if(SP_RunRecord.getBoolean(FIRST_RU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高处作业安全知识及专业技术培训考试试卷
- 协议签好后多久签合同
- 劳动合同不续签的协议
- 制石沙加工合同协议书
- 职业教育市场的潜在机会分析
- 公司欠货款协议书范本
- 卤味合作分销合同范本
- 关于房产分配合同范本
- 北京汽车订车合同范本
- 印刷公司购销合同范本
- 24年10月自考13003数据结构与算法试题及答案
- 2024年建筑艺术之美:桥梁建筑的魅力
- 医院培训课件:《成人住院患者静脉血栓栓塞症的预防护理》
- 冷库建设 投标方案(技术方案)
- 无人机技术探索
- 2024-2025学年六年级上册数学人教版期中考试试题(1-4单元)(含答案)
- 拍七令游戏课件
- 国家开放大学《Web开发基础》形考任务实验1-5参考答案
- GB/T 44329-2024混合气体的制备称量法
- 《进一步规范管理燃煤自备电厂工作方案》发改体改〔2021〕1624号
- 4039话机简单使用说明
评论
0/150
提交评论