Apachel (main
进行XAMPP安装目录校验, 对先决条件予以检查, 所有先决条件均已找到, 初始化模块, XAMPP的Apache服务已在端口80运行, XAMPP的Apache服务已在端口443运行, XAMPP的MySQL服务已在端口3306运行, 启动检查定时器控制面板就绪, 图2-1展示的用XAMPP启动Apache和MySQL服务器这一操作是在本机上开展的, 在装上XAMPP软件包之后将其打开, 呈现如图2-1所示画面, 启动Apache服务器以及MySQL数据库, 点击Admin进入管理界面, 新建一个名为newsdemo的数据库, 其排序规则设定为utf8, 接着建立一个名为news的数据库表, 构建六个字段, 之后插入两条与之相应的新闻数据, 呈现如图2-2的情况。
请你明确一下需求, 你提供的这个内容不太清晰, 不太知道具体要怎么改写。你可以详细说说, 比如按照什么规则或者针对哪些部分进行改写之类的。
有一张名为news的数据库表在图2 - 3中, 且该数据库表news里存在六个字段, 其中第一个字段被称作id, 它是新闻的序号, 此序号作为新闻的主键, 其作用是让每条新闻都不会重复, 接着与新闻内容相关的是另外五个字段, 分别是title(标题), desc(新闻简要概述), 还有time(新闻时间), 以及content_url(新闻内容链接), 最后是pic_url(新闻图片链接)。经由一个PHP网页达成最终效果, 这个网页是http: //xxx/getNewsJSON.php , 把工作表里的全部数据转变成JSON数据格式, 如此便能获取图下方的JSON字符串, 它是一个由数组包裹的JSON对象, 这里面含有5个键值对, 这5个键值对分别对应的是新闻的5个元素。运用Hbuilder, 针对图2-4编写PHP文件是以图2-4的形式呈现, 借着HBuider编辑器打造PHP网页, 实现连接数据库, 并且将当前数据转化输出为JSON格式, 创建一个名为getNewsJSON.php的文件用以获取JSON数据, 还有一个名为mysql_connect.php的文件用于连接数据库, 代码详情可见附录。因为服务器搭建在本机,在浏览器中访问地址 http://127.001/NewsDemo/getNewsJSON.php 可以看到这时生成了格式为 utf-8的JSON数据,如图2-5,证明数据解析成功- |1 http7/1JSO N .ph p x , localhost / / ne... x i +J K I 1 27X),Qa 1 / Nff Wi Dem o/g pt Ke v 口 能,C? | | Q 面ST 墨A 令 自專會 ? 三 1邑 访问最塞0火犯官方站点新手上賂卫 呈用网址O 鲜宝(原周宝特卖)
图2 - 5, 进行本机测试, 以浏览JSON数据, 2.3完成新闻列表界面的布局, 在本节, 于Android界面里实现了新闻列表界面的布局, 主界面运用垂直线性布局, 打造了新闻列表项listview, 声明了一个NewsAdapter的类, 该类继承自BaseAdapte, 还实现了图2 - 6的四个方法。public class NewsAdapter extends Bas e Adapt er , 该Ad込ptz包含列表项的个数由public int getCount(){}决定 , 第position^的列表项内容由public Object getltem(int position)决定 , 第position处的列表项ID由public long getltemld(int position)!决定 , 第position处的列表项组件由public View getVie^int position. View convert View,View Group parent: 1::j决定 , 图2-6 adapter实现的四个方法其中第四个方法getView ()是非常重要的 , 如图2-7 , 在News2程序界面的最外层是一个listview , 它里面有两项 , 对应了两条新闻 , getView是指的其中某一项的布局 , 也就是右边的view , 包括了新闻缩略图 , 新闻标题 , 新闻梗概 , 和布局右上侧的新闻时间 , 用NewsAdapter将新闻与布局适配起来。口n
请你明确一下问题, 比如对这段内容进行润色、提取关键信息等, 这样我才能更准确地按照要求改写。不然不太清楚你具体想要怎样的改写。单看这段内容比较混乱, 不太明晰确切要怎么处理它。
看起来你提供的内容有些混乱且包含乱码。请你检查一下准确内容, 以便我能更准确地为你改写。不过就现有来猜, 大致改写如下: 标题为1筛显学院5编训师范, w描述: 筛显学院“网训”65位师每人千余元“包邮”, 时间为201S - 07 - 05 13:12:48, 内容链接为nhttp:\A/\/a0.$html?_t=t, 图片链接为http: VVrxn\/pic\/yc\/W020150702522803835686.jpgH;另一个标题为*幻核10亿为国资护航/描述: 城市某运营商幻核10亿为国资护航, 时间为2015 - 07 - 05 13:15:14, 内容链接为nhttp: VVnewsT\/201507V762106.5html, 图片链接为http:\A/VnewsVUploadFiles_481S V2015075V2015070513092218jpgB, 但真是建议你把准确清晰内容给我, 这样改写才更靠谱。
图2 - 8借助IP测试浏览JSON数据, 鉴于我们需访问网络, 故而需编写一个HttpUtils的工具类并实现getNewsJSON ()方法, 该方法用于传入可获取JSON数据的url, 并对JSON数据予以解析;其一, 运用new Thread ()方法开设一个线程, 开启输入流, 逐行读取数据, 每读完一行便要实施拼接;其二, 鉴于在字符串拼接层面, StringBuilder相较于单纯使用String的那种“ +”方式高效许多, 因此此处采用StringBuilder方法进行拼接。当获取到 JSON 数据之后, 运用 handler.sendmessag() 方法去通知主线程。接着于 MainActivity 当中实现 Handler () 方法, 以此调用其中的 handlerMessage() 回调方法来获取到 JSON 数据, 随后的步骤便是针对其展开解析。鉴于JSON数据的格式呈现为数组形态, 其内含有若干数量上不定的JSON对象, 针对于JSON数据进行解析这一操作而言, 能够去查看下面所给出的代码, 在起始阶段先把获取得来jsonData传递进去, 借助jsonArray.length()得出JSON对象的数量, 随后编写出一个循环, 以此来获取到JSON当中的每一个对象。创建了一个JSONArray, 名为jso nArray , 它是通过传入jso nData来构建的。接下来, 有一个循环, 这个循环的索引变量是i , 从0开始计数, 只要i小于jsonArray的长度, 就会执行循环体中的代码。在循环体里, 从jsonArray中获取第i个JSONObject对象, 将其赋值给object。然后, 从object中获取名为title的字符串值, 存到Stri ng类型的title变量里。同时, 还从object中获取名为desc的字符串值, 存到String类型的desc变量里。然而, 只是这样解析出来是远远不够的 , 因为得到的数据目前处于分散状态 , 在组织层面看起来显得杂乱无章。为了能够让这些数据得到更好的组织 , 也就是形成这样的结构: 每个新闻对应5个元素 , 另一个新闻同样对应5个元素 , 此时我们要新建一个javabean类 , 假定它名为News。那么这个News对象内部会设有5个属性 , 这5个属性分别对应新闻的5个元组。借助这种方式 , 能够很好地将获取到的数据有序地组织起来 , 以便于后续使用。该方法里的成员属性和构造方法如下 , 并且要实现get ()和set()方法。通过在程序里定义一个List类型的集合, 该集合的每一个元素都是News这种类型, 把它命名为newslist,当在OnCreate()方法内对newslist进行初始化之后, 就能够把解析完成的JSON对象的5个元素添加至newslist当中, 对adapter方法予以更新, 并且将ListNews添加于成员属性以及构造方法里。其中, public class News {私有的String类型的title;私有的String类型的desc;私有的String类型的time;私有的String类型的conten t_url;私有的String类型的pic_url;具有public News(String title ,String desc,String time,String content_url,String, pic_url)这个构造函数, 在其中设置setTitle(title);设置setDesc(desc);设置setTime(time);设置setC onten t_url(c onten t_url);设置setPic_url(pic_url);。对于图片的加载这一状况, 鉴于涉及网络出访事宜, 因此贝嚅于HttpUtils工具类之中透过使用setPicBitmap()方法予以达成。在2.5的情况之下, 要对新闻列表界面的跳转加以达成并且将其详情予以展示, 就需为listview增加值的选定事件, 以此让点击对应于此的新闻列表项能够用以查看与之对应的新闻详情。如图2 - 9所示的实现机制, 在MainActivity里存在诸多新闻条目, 当点击其中某一个新闻条目时, 会把新闻项的content_url, 也就是该新闻的具体地址传入名为BrowseNewsActivity的Activity中用于浏览新闻, 此Activity仅有一个控件WebView, WebView等同于一个自带浏览器, 可直接调用webView.loadUrl(), 将content_url这个地址传入以在WebView上加载出该网页, 依此思路, 需新建一个BrowseNewsActivity以及对应的布局文件, 使用getSettings().setJavaScriptEnabled(true方法启用当前WebView的JavaScript, 即等同于当前页面中的相应代码, 又该getSetti ngs().setCacheMode(WebSetti ngs.LOAD_CACHE_ELSE_NETWORK)方法设置为, 在没有网络时读取本地缓存, 有网络时则直接访问。没太理解你提供的内容确切含义, 感觉表述比较混乱,不太合适按照要求改写这样晦涩且含义不明的句子呀。你可以详细解释一下或者提供更清晰准确的表述以便改写。



