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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android移动终端开发大作业.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Android移动终端开发大作业.docx

1、Android移动终端开发大作业Android移动终端开发大作业一、作业要求1人一组, 独立完成。根据个人爱好方向, 自选题目, 完成系统。在要求时间里完成系统主体功效, 程序比较稳定运行。手机界面要求简练、 美观, 功效不能过于简单, 应含有一定实用性。最少要3个Activity以上。必需使用自定义Listview, 要使用Sqlite数据库或API调用与数据解析(API可使用聚合数据()、 API Store()或apix()提供API, 如有能力也可自行开发服务器端)。欢迎好创意作品、 实用作品, 评分时会合适加分。需提交设计汇报, 设计汇报格式见附件, 按附件次序装订(包含评分表)大作

2、业成绩从工作量、 功效点、 创新性、 实用性、 汇报字数、 质量及规范度等方面成绩组成二、注意事项压缩包内作业内容包含两部分: 1作业项目文件夹, 项目必需能够调试经过, android平台选择选择2.2或是2.3.3。2作业设计说明, word文件。能够借鉴网络上代码, 但不可全部照搬。不许相互剽窃, 一旦发觉成绩为零。附件1: 学 号7成 绩Android平台移动应用开发大 作 业题 目基于Android新闻浏览软件设计与实现学 院信息工程学院专 业信息工程班 级信息1303姓 名杏允升指导老师秦珀石年12月10日一、概述Android应用平台新闻用户端软件是基于Android手机平台,

3、采取Java语言, 从网络上开放新闻接口获取数据, 设计出针对使用Android平台手机新闻用户端资讯实时掌控手机应用程序。 Android平台新闻用户端软件开发能够深入扩大时事新闻覆盖面, 让广大公众能够随时随地方便且快捷地获取最新新闻资讯信息, 了解新闻时事, 本软件广泛使用, 尤其是在传授知识、 普及教育方面起着非常关键作用。现在市场研究机构Worldpanel公布了全球关键国家智能手机操作系统在去年Q4内分布汇报, 汇报指出了谷歌Android继续保持着增加势态, 不过增幅已经显著放缓了。而在另一个方面, 苹果iOS操作系统在全球只能手机市场上都有下滑, 部分国家降幅甚至高达10.3%

4、。最新统计数据中显示, Android操作系统将继续领跑全球市场, 包含美国、 澳大利亚、 中国、 意大利、 英国、 德国、 西班牙等所占市场百分比都已经超出50%, 而且还将继续展现上涨趋势。而在苹果iOS操作系统方面, 最大市场份额所占比国家依旧是美国, 数值为43.9%; 紧随美国则是澳大利亚, 数值为35.2%; 而在中国方面, 市场份额也从21.2%下降到了19%; 在意大利, iOS所占市场份额更是从23.1%猛降至12.8%。从上面数据能够看出, Android手机软件开发含有巨大发展前景, 在Android系统上开发出一款手机新闻用户端软件所支持用户量也是相比较于其她系统多出很

5、多。谷歌移动平台主管安迪鲁宾(AndyRubin)表示, 跟软件开发合作对象亲密接触正在进行中。谷歌与开放手机联盟联合开发了Android操作系统, 这个联盟由摩托罗拉、 高通、 宏达电、 中国移动和T-Mobile等在内多家无线应用和技术领军企业组成。谷歌经过与设备制造商、 开发商、 运行商和其她相关各方结成深层次合作关系, 期望借助建立开放式、 标准化移动移动电话软件平台, 在移动产业内形成一个开放性生态系统, 这将是开发Android软件一个契机, Android平台开发在未来肯定大放异彩。二、关键技术1)使用ViewPager里面添加多张图片配合线程延时实现轮播图自没有经过Schedu

6、ledExecutorService或Timer定时实施某个任务实现, 而是简单经过handler发送消息去完成一次滚动, 在完成一次滚动后发送另外一个delay滚动消息, 如此循环实现。自动滚动部分关键代码以下: 至于ViewPager嵌套引发子ViewPager无法触摸问题是经过在子ViewPageronTouchEvent中添加严禁父控件对touch event做intercept处理。ViewPager滑动速度设置是经过反射方法重新设置ViewPagerScroller, 改变ScrollerstartScroll间隔时间完成。调用setScrollDurationFactor(dou

7、ble)即可。2、 使用(1) 引入公共库引入Android Auto Scroll ViewPagerGithub作为你项目library(怎样拉替换码及添加公共库)。(2) 调用仅需简单两步: a.布局定义替换通常ViewPager定义 b. 开启ViewPager自动滚动startAutoScroll() 开启自动滚动stopAutoScroll() 停止自动滚动3、 设置setInterval(long) 设置自动滚动间隔时间, 单位为毫秒setDirection(int) 设置自动滚动方向, 默认向右setCycle(boolean) 是否自动循环轮播, 默认为truesetScro

8、llDurationFactor(double) 设置ViewPager滑动动画间隔时间倍率, 达成减慢动画或改变动画速度效果setStopScrollWhenTouch(boolean) 当手指碰到ViewPager时是否停止自动滚动, 默认为truesetSlideBorderMode(int) 滑动到第一个或最终一个Item处理方法, 支持没有任何操作、 轮播以及传输到父View三种模式setBorderAnimation(boolean) 设置循环滚动时滑动到从边缘滚动到下一个是否需要动画, 默认为true4、 其她(1) 指示器, 圆形或是方形指示器请配合ViewPagerIndic

9、ator使用(2)无限循环, 假如期望在最终一张继续播放第一张而不是退回到第一张, 请参考AutoScrollViewPagerSingleDemo.java, 注意这个特征不能和 ViewPagerIndicator 使用2)使用viewpager结合ViewPageIndicator进行新闻类别分类切换, 可点击切换也能够滑动切换。1. ViewPager IndicatorLibrary查看Viewpager IndicatorLibrary代码, 能够看到此项目设计思想: 首先定义了一个PageIndicator接口, 它里面定义了最关键和基础indicator表现出部分方法: 1.1

10、 首先一个indicator必需要与一个ViewPager关联在一起, 所以它提供了一个setViewPager方法。 1.2 它扩展了ViewPager.OnPageChangeListener接口, 表示接管了ViewPagerPager改变时监听处理, 这也是为何为ViewPager设置OnPageChangeListener监听器时不能设置在ViewPager上而必需设置在 indicator上原因。 1.3 还有一个notifyDataSetChanged通知方法, 表示为这个ViewPager提供View(通常是Fragment) Adapter 里面数据集发生改变时, 实施动作,

11、 这里可增加相关逻辑。2. Viewpager Indicator实现类然后再看下Viewpager Indicator实现类, 共有6个, 由6个类分别实现, 它们分别为: 2.1 小圆圈类型 2.2 带图标类型 2.3 小横线类型, 距离屏幕最下边端有一定距离。 2.4 标签类型(Tab) 2.5 标题类型, 与标签类型有点像, 但它目前标题页左/右边标题会卷起, 即往两端缩进去。 2.6 屏幕底部小横线类型, 而且会占满整行。 3. Viewpager Indicator随附带Demo Demo项目设计 项目由一个ListSamplesListActivity入口, 它关键用作组装全部子

12、indicator列表。 TestFragment.java, 全部ViewPager上真正显示视图。 TestFragmentAdapter.java, 全部ViewPager里Adapter, 为ViewPager生成TestFragment。 Samplexxx.java, 全部indicator显示, 一个类显示一个使用方法或特征2)使用viewpager结合ViewPageIndicator进行新闻类别分类切换, 可点击切换也能够滑动切换。3)使用Gson对新闻数据json字符串进行解析显示到listview上需要使用jar包fastjson或gson这两个jar包。/Gson使用方

13、法Gson gson=newGson();String str=ReadAssetsFile.readtext(this,json_ss);/this目前类, json_ss需要解析文件名 UserMessage userMessage=gson.fromJson(str,UserMessage.class);/需要解析json文件最外层类名 /fastjson使用方法 String json=ReadAssetsFile.readtxt(this,json_h); UserMessage user = JSON.parseObject(json,UserMessage.class);自己扩展

14、4)使用Universal-Image-Loader对图片进行缓存加载Android上最让人头疼莫过于从网络获取图片、 显示、 回收, 任何一个步骤有问题都可能直接OOM, 这个项目或许能帮到你。Universal Image Loader for Android目是为了实现异步网络图片加载、 缓存及显示, 支持多线程异步加载。它最初起源于Fedor Vlasov项目, 且自此以后, 经过大规模重构和改善。特征列举: 多线程下载图片, 图片能够起源于网络, 文件系统, 项目文件夹assets中以及drawable中等支持随意配置ImageLoader, 比如线程池, 图片下载器, 内存缓存策略

15、, 硬盘缓存策略, 图片显示选项以及其她部分配置支持图片内存缓存, 文件系统缓存或者SD卡缓存支持图片下载过程监听依据控件(ImageView)大小对Bitmap进行裁剪, 降低Bitmap占用过多内存很好控制图片加载过程, 比如暂停图片加载, 重新开始加载图片, 通常使用在ListView,GridView中, 滑动过程中暂停加载图片, 停止滑动时候去加载图片提供在较慢网络下对图片进行加载使用过程: 创建默认ImageLoader, 全部操作都由ImageLoader控制。该类使用单例设计模式, 所以假如要获取该类实力, 需要调用getInstance()方法。在使用ImageLoader显

16、示图片之前, 你首先要初始化它配置, 调用ImageLoaderConfigurationinit()方法, 然后你就能够实现多种显示了。自定义配置imageloader, 就像你已经知道, 首先, 你需要使用ImageLoaderConfiguration对象来初始化ImageLoader。因为ImageLoader是单例, 所以在程序开始时候只需要初始化一次就好了。提议你在ActivityonCreate()方法中初始化。假如一个ImageLoader已经初始化过, 再次初始化不会有任何效果。下面我们经过ImageLoaderConfiguration.Builder创建一个设置得到ima

17、geLoader使用过程: (1)图像操作是否参与缓存以及图像效果配置操作DisplayImageOptions以下是全部默认配置参数依据需求能够自定义配置(2)图片加载监听器在这里吧能够设置加载时动画或者进度条之类东西这里(3)简单设置就能够给ImageView添加图片了对于当地图片 , 在其绝对地址前面要加入file:/。网络图片就直接写路径了。缓存清理: 缓存清理能够按需求来定, 能够再每个Activity生命周期函数onDestroy中清理也能够单独设置让用户自行清理。GirdView,ListView加载图片: 相信大部分人都是使用GridView, ListView来显示大量图片,

18、 而当我们快速滑动GridView, ListView, 我们期望能停止图片加载, 而在GridView, ListView停止滑动时候加载目前界面图片, 这个框架当然也提供这个功效, 使用起来也很简单, 它提供了PauseOnScrollListener这个类来控制ListView,GridView滑动过程中停止去加载图片, 该类使用是代理模式第一个参数就是我们图片加载对象ImageLoader, 第二个是控制是否在滑动过程中暂停加载图片, 假如需要暂停传true就行了, 第三个参数控制猛滑动界面时候图片是否加载概要设计Json数据部分返回参数名称 类型 说明 error_code int

19、返回码 reason string 返回说明 result string 返回结果集 title string 新闻标题 content string 新闻摘要内容 img_width string 图片宽度 full_title string 完整标题 pdate string 公布时间 src string 新闻起源 img_length string 图片高度 img string 图片链接 url string 新闻链接 pdate_src string 公布完整时间三、 系统实现代码1: package com.name.xinwen;import com.thinkland.sdk

20、.android.JuheSDKInitializer;import android.app.Application;import android.content.Context;import android.os.Handler;import android.os.Looper;/* * 应用程序入口 */public class BaseApplication extends Application private static Context mContext; private static Thread mMainThread; private static int mMainThre

21、adId; private static Handler mMainThreadHandler; private static Looper mMainThreadLooper; Override public void onCreate() super.onCreate(); JuheSDKInitializer.initialize(getApplicationContext(); /在应用程序入口提供全局工具 /上下文 mContext = this; /根本程和子线程 mMainThread = Thread.currentThread();/ mMainThreadId = mMai

22、nThread.getId(); /目前应用程序进程ID/ mMainThreadId = android.os.Process.myPid(); / 线程id myTid(); mMainThreadId = android.os.Process.myTid(); /用户id myUid(); /根本程handler mMainThreadHandler = new Handler(); mMainThreadLooper = getMainLooper(); public static Context getContext() return mContext; public static

23、Thread getMainThread() return mMainThread; public static int getMainThreadId() return mMainThreadId; public static Handler getMainThreadHandler() return mMainThreadHandler; public static Looper getMainThreadLooper() return mMainThreadLooper; package com.name.xinwen;import com.thinkland.sdk.android.J

24、uheSDKInitializer;import android.app.Application;import android.content.Context;import android.os.Handler;import android.os.Looper;/* * 应用程序入口 */public class BaseApplication extends Application private static Context mContext; private static Thread mMainThread; private static int mMainThreadId; priv

25、ate static Handler mMainThreadHandler; private static Looper mMainThreadLooper; Override public void onCreate() super.onCreate(); JuheSDKInitializer.initialize(getApplicationContext(); /在应用程序入口提供全局工具 /上下文 mContext = this; /根本程和子线程 mMainThread = Thread.currentThread();/ mMainThreadId = mMainThread.ge

26、tId(); /目前应用程序进程ID/ mMainThreadId = android.os.Process.myPid(); / 线程id myTid(); mMainThreadId = android.os.Process.myTid(); /用户id myUid(); /根本程handler mMainThreadHandler = new Handler(); mMainThreadLooper = getMainLooper(); public static Context getContext() return mContext; public static Thread get

27、MainThread() return mMainThread; public static int getMainThreadId() return mMainThreadId; public static Handler getMainThreadHandler() return mMainThreadHandler; public static Looper getMainThreadLooper() return mMainThreadLooper; 代码2: /* * Copyright (C) Andreas Stuetz * * Licensed under the Apache

28、 License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WA

29、RRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.xinwen.indicator.lib;import android.annotation.SuppressLint;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Paint.Style;import android.graphics.Typeface;import android.os.Build;import android.os.Parcel;import android.os.Parcelable;import andr

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1