[image]5delphi xe 安卓 image手机不联网 的情况下如何进行

[image]5 不想用安卓手机软件新版本,可是不更新就用不了怎么办?有会修改安卓手机软件程序的么_百度知道
[image]5 不想用安卓手机软件新版本,可是不更新就用不了怎么办?有会修改安卓手机软件程序的么
我有更好的答案
界面简化,适合流量少的用户,只是你不知道或者不喜欢而已,排案在2月份会完成同步数据,可以发送给好友群以及说说;可开机启动;动态表情增大并且修改了风格,Qzone照片详情界面可点击图片打开;支持视频(视频互通)、支持语音这是官方论坛客服的公告:
1,安卓2。
QQ2011:
支持视频通话并且支持视频互通;支持动态表情.3版前几天日也刚上线;所以至此到春节不会有新版上线;手机QQ空间。总之功能传统而强大,界面也相当亮丽。传统风格的QQ。
最新版本是2011正式版0229,增加涂鸦功能,手写字体和手绘画;可使用和接收自定义表情;3种可选皮肤,群管理;可PC同时在线和push(离线推送),不会漏消息;气泡式聊天风格;聊天记录漫游和下载上传。最新版本是2,年后2月份会出2012年预概版作为2012年主线版;
2、手机QQ2.3系列版不能积累活跃天数问题
2;支持表情和图片涂鸦,2.0.0系列版经过数月的多重测试已经趋于成熟,头像和空间等功能。这个版本仿苹果风格的.X。
QQforAndroid和MobileQQ是两个不同的版本,为不同人群的需要而设计的不同架构的QQ。简单来说,累计活跃天数并不是2.3系列版本自身的问题,而是pc后台数据未同步,目前前者就是QQ2011,而后者就是QQ2:
耗流量少;
还有,具有截屏,消息推送.3有自己的优点;可直接点击聊天图片接收;两个版本可以共存,也就是可以装在同一部手机中并且可以同时运行,不会有冲突。
QQ2,寻找附近的人,多端登录管理,耗电少.3,可使用和接收自定义表情;可自选皮肤、超级QQ等功能也得到了加强、关于2012年安卓手机QQ出版规划
近期各平台都推出了贺岁2012年版
VpnVip资讯教程,软件使用平台。
操作系统/系统故障
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。用html5和jquey mobile做的静态网页,用phonegap封装成安卓app,如何让手机不联网就能正常使用_百度知道
用html5和jquey mobile做的静态网页,用phonegap封装成安卓app,如何让手机不联网就能正常使用
用html5和jquey mobile做的静态网页,用phonegap封装成app。安装到手机后,联网正常使用,不联网只显示app开始图片并弹出系统窗口提示手机未联网,然后一直就是开始图片。怎么能让不联网也正常使用?
我有更好的答案
这个应该是在index页面里改代码就好了。
那要看你应用的实现方式啊。既然是静态的,正常使用完全没问题。
你一般是用什么软件来封装?
之前一般用phonegap,最近发现HBuilder打包也可以也蛮不错的。
为您推荐:
其他类似问题
phonegap的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。平板/笔记本
终端云服务专区
移动数据联网的情况下,怎么显示实时网速?
&登堂入室&
来自:浏览器
5X全网通,更新了b415之后,在WIFI的情况下显示实时网速,可在移动数据联网的情况下不显示,大家都有这种情况吗,怎么才能调出来?显示实时网速的开关是开启的。
width:100%">
&渐入佳境&
来自:浏览器
重启下就好了,我以前也是的
width:100%">
&炉火纯青&
来自:浏览器
楼主,在主屏幕,点击:设置-全部设置-显示-显示网速,打开/关闭即可,你可以重新关闭打开一下试试,不行的话重启看看。
width:100%">
&炉火纯青&
来自:浏览器
width:100%">
1000万花粉
纪念花粉俱乐部注册花粉数超过1000万
我家住在黄土高坡家有小女【夜赏艺术中心】【花粉随手拍】雪中小景古塔四季飞 雪 阅 江 楼
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
关注花粉俱乐部
举报邮箱:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利Android实现调用系统图库与相机设置头像并保存在本地及服务器
转载 & & 作者:qq_
这篇文章主要介绍了Android实现调用系统图库与相机设置头像并保存在本地及服务器 ,需要的朋友可以参考下
废话不多说了,直接给大家贴代码了,具体代码如下所述:
* 1、实现原理:用户打开相册或相机选择相片后,相片经过压缩并设置在控件上,图片在本地sd卡存一份(如果有的话,没有则内部存储,所以还
* 需要判断用户是否挂载了sd卡),然后在服务器上存储一份该图片,当下次再次启动应用时,会默认去sd卡加载该图片,如果本地没有,再会去联网请求
* 2、使用了picasso框架以及自定义BitmapUtils工具类
* 3、记得加上相关权限
* &uses-permission android:name="android.permission.INTERNET"&&/uses-permission&
&uses-permission android:name="android.permission.CAMERA"/&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"&&/uses-permission&
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ImageV//要设置的头像
private Button btn_//调用相册按钮
private Button btn_//调用相机按钮
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv=(ImageView) findViewById(R.id.iv);
btn_photo = (Button) findViewById(R.id.btn_photo);
btn_camera = (Button) findViewById(R.id.btn_camera);
btn_photo.setOnClickListener(this);
btn_camera.setOnClickListener(this);
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_photo://打开系统相册
Intent intent=new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent,100);
case R.id.btn_camera://打开系统相机
Intent intent2=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent2,200);
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==100&&resultCode==RESULT_OK&&data!=null){//系统相册
Uri imageData = data.getData();
String path=getPath(imageData);
Bitmap bitmap = BitmapFactory.decodeFile(path);
Bitmap bitmap1 = BitmapUtils.zoom(bitmap, iv.getWidth(), iv.getHeight());
Bitmap bitmap2 = BitmapUtils.circleBitmap(bitmap1);
//加载显示
iv.setImageBitmap(bitmap2);
//bitmap图片上传到服务器......
//bitmap图片保存到本地
saveImage(bitmap2);
}else if(requestCode==200&&resultCode==RESULT_OK&&data!=null){//系统相机
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
BitmapUtils.zoom(bitmap,iv.getWidth(),iv.getHeight());
bitmap=BitmapUtils.circleBitmap(bitmap);
//加载显示
iv.setImageBitmap(bitmap);
//bitmap图片上传到服务器......
//bitmap图片保存到本地
saveImage(bitmap);
* 数据的存储。(5种)
* Bimap:内存层面的图片对象。
* 存储---&内存:
BitmapFactory.decodeFile(String filePath);
BitmapFactory.decodeStream(InputStream is);
* 内存---&存储:
bitmap.compress(Bitmap.CompressFormat.PNG,100,OutputStream os);
private void saveImage(Bitmap bitmap) {
File filesD
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//判断sd卡是否挂载
//路径1:storage/sdcard/Android/data/包名/files
filesDir = this.getExternalFilesDir("");
}else{//手机内部存储
//路径:data/data/包名/files
filesDir = this.getFilesDir();
FileOutputStream fos =
File file = new File(filesDir,"icon.png");
fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100,fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
if(fos != null){
fos.close();
} catch (IOException e) {
e.printStackTrace();
//如果本地有,就不需要再去联网去请求
private boolean readImage() {
File filesD
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//判断sd卡是否挂载
//路径1:storage/sdcard/Android/data/包名/files
filesDir = getExternalFilesDir("");
}else{//手机内部存储
//路径:data/data/包名/files
filesDir = getFilesDir();
File file = new File(filesDir,"icon.png");
if(file.exists()){
//存储---&内存
Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
iv.setImageBitmap(bitmap);
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
private String getPath(Uri uri) {
int sdkVersion = Build.VERSION.SDK_INT;
//高于4.4.2的版本
if (sdkVersion &= 19) {
Log.e("TAG", "uri auth: " + uri.getAuthority());
if (isExternalStorageDocument(uri)) {
String docId = DocumentsContract.getDocumentId(uri);
String[] split = docId.split(":");
String type = split[0];
if ("primary".equalsIgnoreCase(type)) {
return Environment.getExternalStorageDirectory() + "/" + split[1];
} else if (isDownloadsDocument(uri)) {
final String id = DocumentsContract.getDocumentId(uri);
final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"),
Long.valueOf(id));
return getDataColumn(this, contentUri, null, null);
} else if (isMediaDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
Uri contentUri =
if ("image".equals(type)) {
contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
} else if ("video".equals(type)) {
contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
} else if ("audio".equals(type)) {
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
final String selection = "_id=?";
final String[] selectionArgs = new String[]{split[1]};
return getDataColumn(this, contentUri, selection, selectionArgs);
} else if (isMedia(uri)) {
String[] proj = {MediaStore.Images.Media.DATA};
Cursor actualimagecursor = this.managedQuery(uri, proj, null, null, null);
int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
actualimagecursor.moveToFirst();
return actualimagecursor.getString(actual_image_column_index);
} else if ("content".equalsIgnoreCase(uri.getScheme())) {
// Return the remote address
if (isGooglePhotosUri(uri))
return uri.getLastPathSegment();
return getDataColumn(this, uri, null, null);
else if ("file".equalsIgnoreCase(uri.getScheme())) {
return uri.getPath();
* uri路径查询字段
* @param context
* @param uri
* @param selection
* @param selectionArgs
public static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
Cursor cursor =
final String column = "_data";
final String[] projection = {column};
cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
if (cursor != null && cursor.moveToFirst()) {
final int index = cursor.getColumnIndexOrThrow(column);
return cursor.getString(index);
} finally {
if (cursor != null)
cursor.close();
private boolean isExternalStorageDocument(Uri uri) {
return "com.android.externalstorage.documents".equals(uri.getAuthority());
public static boolean isDownloadsDocument(Uri uri) {
return "com.android.providers.downloads.documents".equals(uri.getAuthority());
public static boolean isMediaDocument(Uri uri) {
return "com.android.providers.media.documents".equals(uri.getAuthority());
public static boolean isMedia(Uri uri) {
return "media".equals(uri.getAuthority());
* @param uri The Uri to check.
* @return Whether the Uri authority is Google Photos.
public static boolean isGooglePhotosUri(Uri uri) {
return "com.google.android.apps.photos.content".equals(uri.getAuthority());
* 判断本地是否有该图片,没有则去联网请求
protected void onResume() {
super.onResume();
if(readImage()){
//BitmapUtils工具类public class BitmapUtils { /**
* 该方法用于将图片进行圆形处理
public static Bitmap circleBitmap(Bitmap source){
//默认只对宽进行处理
int width=source.getWidth();
Bitmap bitmap=Bitmap.createBitmap(width,width,Bitmap.Config.ARGB_8888);
Canvas canvas=new Canvas(bitmap);
Paint paint=new Paint();
//设置抗锯齿
paint.setAntiAlias(true);
canvas.drawCircle(width/2,width/2,width/2,paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(source,0,0,paint);
* 该方法用于图片压缩处理,注意width、height参数的类型必须是float
public static Bitmap zoom(Bitmap source,float width,float height){
Matrix matrix=new Matrix();
//图片进行压缩处理
matrix.postScale(width/source.getWidth(),height/source.getHeight());
Bitmap bitmap = Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, false);
以上所述是小编给大家介绍的Android实现调用系统图库与相机设置头像并保存在本地及服务器 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具基于 Android 代码 系统的 手机 天气预报 软件 毕业论文_甜梦文库
基于 Android 代码 系统的 手机 天气预报 软件 毕业论文
广东 XX 大学 12 届学生业论文/ 毕业论文/设计题 目: 手机天气预报系统姓名:X 同学系别:信息工程院专业:计算机应用技术班级:09 应用(1)班指导老师: 指导老师:X 老师日期:2012 年 4 月 20 日1 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学独 创 性 声 明本人声明所呈交的毕业论文(设计)是本人在指导教师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文 (设计)中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得广东科贸 职业学院或其他教育机构的证书而使用过的材料。 与我一同工作的同志对本论文 (设计)所做的任何贡献均已在论文中作了明确的说明并表示谢意。论文(设计)作者签名:签字日期:年月日2 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学基于 Android 系统的手机天气预报软件摘要随着智能手机的快速普及,智能手机操作系统市场风生水起。为了 让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法 就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互 联网访问 Web 网站并处理各种各样的业务。因此,智能手机的应用软件及 其需要的服务将有广阔的发展前景。 在如今这个智能手机系统群雄纷争的时候, 2008 年 Google 推出了一 款名为 Android 的开源智能手机操作系统,它采用 Linux 内核,开放手机 联盟(OHA)成员可以任意使用和修改 SDK 包,系统的开源性使其具有良好 的拓展性。这款软件包括了操作系统、用户界面和应用程序,即智能手机 工作所需要的全部软件。Android 的最大特点是其开放性体系架构,不仅 具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括 丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从 业人员来说,Android 平台具有无限的吸引力。 本文就在分析讨论 Android 手机软件开发技术原理的基础上,开发 出能为用户提供更好的基于 Android 平台的 3G 手机气象软件。关键词: 关键词:Android手机天气预报软件系统1 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学目 录基于 Android 系统的手机天气预报软件 ....................................................................................... 1 第一章 绪论 .................................................................................................................................... 1 1.1 研究内容 ........................................................................................................................... 1 1.2 研究意义 ........................................................................................................................... 1 1.3 研究现状和发展趋势 ........................................................................................................ 1 第二章 系统分析 .......................................................................................................................... 3 2.1 研究目标 ............................................................................................................................ 3 2.2 需求分析 ........................................................................................................................... 3 2.3 性能分析 ........................................................................................................................... 3 2.4 系统研究内容 .................................................................................................................... 3 2.5 项目需求分析 .................................................................................................................... 4 2.6 系统构架图 ........................................................................................................................ 4 第三章 系统开发环境及相关技术 ................................................................................................ 5 3.1 Android 开发环境介绍 ...................................................................................................... 5 3.2 Android 开发平台搭建 ................................................................................................... 5 第四章 Google android 移动平台的相关理论................................................................................ 7 4.1 Goolge android 移动平台的概述...................................................................................... 7 4.1.1 Android 系统的特点: ....................................................................................... 7 4.1.2Android 的功能: ................................................................................................. 7 4.2 Google android 移动平台开发过程研究[4] ....................................................................... 8 4.3 Google android 移动平台下的应用研究[5] ....................................................................... 9 4.4 小结 .................................................................................................................................... 9 第五章 掌上手上天气预报系统程序设计................................................................................... 11 5.1 用户界面设计 ............................................................................................................... 11 5.2 主要代码介绍 ................................................................................................................. 12 5.3 获取城市列表数据 ......................................................................................................... 15 5.4 解析数据列表 .................................................................................................................. 16 5.5 主要查询城市天气预报方法 .......................................................................................... 17 第五章 结论 .................................................................................................................................. 21 致谢: ............................................................................................................................................ 22 参考文献 ........................................................................................................................................ 232 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学第一章 绪论1.1 研究内容 .Android 平台 3G 手机气象软件是基于 Android 手机平台,运用 Java 语 言,从 Google 上获取天气预报信息,开发出针对使用 Android 平台的手机天气 预报系统。1.2 研究意义 .Android 平台 3G 手机气象软件的开发可以进一步扩大气象信息的覆盖 面, 让广大公众能够在第一时间方便且快捷地获取最新的气象预报 (预警) 信息, 以便提前预防,把气象灾害造成的损失降到最低。同时也可以强化气象公共服务 的职能,完善公共服务体系、改善公共服务手段、增加公共服务产品、提高公共 服务质量,更好地发挥了气象事业对经济社会发展的现实性作用。1.3 研究现状和发展趋势[1] .据 Gartner 最新数据显示,2010 年第二、三季度全球智能手机销售继续大 幅增长,其中第三季度安卓占全球智能手机市场的 25.5%,仅次于塞班,成为第 二大智能手机系统。2010 第二、三季度与去年同期相比,增度分别是 15.4%及 22%,增势迅猛。而塞班系统较 09 年的市场份额,尽管终端销量有大幅度提升, 但增势下滑 10%,形势非常严峻。其他操作系统的表现则要平稳很多。如图 1-1 所示各种手机系统的发展趋势。1 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学图 1-1 各手机系统发展趋势安卓是首款开源代码的操作系统,采用 Linux 内核,开放手机联盟(OHA) 成员可以任意使用和修改安卓的 SDK 软件包。 系统的开源性使其具有良好的拓展 性,一方面,为众多移动应用开发者提供了良好的系统性平台,有利于移动应用 的集合;另一方面,终端厂商可以针对自身的特殊需要“定制化开发”。与此相 比,尽管 2010 年 2 月,塞班基本完成开源工作,但由于代码臃肿,用户界面设 计缺失,塞班的开源并无实际意义,错失发展良机。 据 Informa 预测,2012 年,安卓手机销量将超过诺基亚塞班手机,届时安 卓将成为全球最大的智能手机平台。谷歌表示目前安卓手机每日平均激活量为 20 万部,销售速度加速上涨。 我们认为,安卓在全球市场的成长壮大,塞班市场份额不断下跌已成不 争事实。安卓操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这 三点为安卓在智能手机市场赢得更多的发展机遇。系统的免费让更多的厂商加 入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富 吸引了更多用户选择,这也是谷歌值得众多厂商学习的地方。此外,谷歌通过 OHA 联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端 产品中,确保用户体验持续改善。2 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学第二章2.1系统分析研究目标(1)了解 Android 应用程序的设计和开发过程; (2) 使用多种组件进行 Android 平台 3G 手机气象软件的开发。 本软件是基于 Eclipse 的开发环境,依托 Google 气象数据建立气象信息数 据库,开发出了针对 Android 平台的手机天气预报系统。2.2 需求分析本软件是一个 App Widget 应用程序,启动程序后可以进行城市、更新频率 的设置,可以通过图片和文字显示当前和未来的天气状况,包括温度、湿度、风 向和雨雪情况等。这些天气数据是通过后台服务获取的,这个后台服务可以按照 一定时间间隔,从 Google 上获取天气预报信息,并将天气信息保存在数据库中。 从上面的描述中可以基本了解软件的功能需求: (1) 启动 App Widget 应用程序; (2) 设置界面:对要显示天气预报的城市及更新频率进行设置; (3) 显示界面:通过文字和图片显示当前的天气情况,包括日期、时间、城 市、最高温度、最低温度、当前温度等。 (4) 详细界面: 通过文字图片动画显示当前的天气情况, 包括城市当前天气、 温度、风向、风速、湿度;同时显示今后四天的天气情况。2.3 性能分析程序响应速度快、安全性高、信息处理速度快。2.4 系统研究内容1) 数据源的选取 2) 界面的设计3 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学3) 代码的设计 4) 程序的测试 5) 产品的发布2.5 项目需求分析1、能够查询数据库存中城市的天气情况。 2、系统能通过手机查看并显示天气数据。 3、系统必须具有安全性,可靠性,独立性。2.6 系统构架图图 2-1 系统构架图4 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学第三章 系统开发环境及相关技术3.1 Android 开发环境介绍Android 的上层应用程序是用 Java 语言开发,同时还需要基于 Dalvik 虚拟机,所以,Google 公司推荐使用主流的 Java 继承开发环境 Eclipse。只有 Eclipse 还不够,因为是使用 Java 语言进行开发,还应该有由 SUN 公司提供的 Java SDK(其中包括 JRE:Java Runtime Environment)。此外,Android 的应用 程序开发和 Java 开发有较大区别的, 所以还需要有 Google 提供的 Android SDK。 同时,还需要在 Eclipse 安装 ADT,为 Android 开发提供开发工具的升级或者变[2]更,是 Eclipse 下开发工具的升级下载的工具。 简言之, 需要以下软件, 才能搭建 Android 开发环境, 从而进行 Android 应用程序的开发。 a) Java SDK b) Eclipse c) Android SDK d) ADT3.2Android 开发平台搭建[6]Android 开发平台搭建步骤: ①首先到 http://www.eclipse.org/downloads/下载 Eclipse 集成开发环境并且解压,这里推荐下载 Java EE 集成版本,可以为平台的搭建省下不少工作。 接着再去 http://java.sun.com/javase/downloads/index.jsp 站点下载后安 装 下 载 http://dl.google.com/android/android-sdk-windows-1.5_r1.zip , Android SDK1.5 后解压。第一步下载工序就结束了。 ②双击 Eclipse 解压后目录中的 eclipse.exe 然后启动, 选择 Eclipse 菜单 中的 Help-& Install New Software-& 选项卡上的 Available Software,点击 右侧的“Add”输入 http://dl-ssl.google.com/android/eclipse/后确定,然 后在“Work with”下拉菜单中选择刚才输入的网址。过一会就会出现一个 Developer Tools 选项, 勾上以后点击 Next 以后 Eclipse 会自动网上查找 Android 开发工具插件,然后找到 Android DDMS 和 Android Development Tools,选中 这两个点击 Finish,Eclipse 就会自动下载并安装 Android 插件了,最后会提示5 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学重启 Eclipse。 ③重启后选择 Eclipse 菜单中的 Windows-& Preferences 在左侧的 Android 项目中 SDK Location 中填入 Android SDK 解压后的目录,然后点击 Apply。 ④在 WindowsXP 的系统变量中的 path 变量中添加一个值,该值指向解压后 的 Android SDK 目录下的 tools 文件夹。6 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学第四章 Google android 移动平台的相关理论Goolg 4.1 Goolge android 移动平台的概述Android 是 Goolge 公司于 07 年 11 月 5 日宣布的基于 LINUX 平台开源手机 操作系统,该平台由操作系统,中间件,用户界面和应用软件组成,Android 是 Goolge 开发的基于 linux 平台的开源手机操作系统。它包括操统,用户界面和 应用程序--------移动电话工作所需的全部软件, 而且不存在任何以往阻碍移动 产业创新的专有权障碍,谷歌与开放手机联盟合作开发了 Android,这个联盟由 包括中国移动,摩托罗拉,高通,宏达在内的 30 多家技术和无线应用的领军企 业组成。通过与运营商,设备制造商,开发商和其他有关各方结成深层次的合作 伙伴关系,希望借助建立标准化,开放式的移动电话软件平台,在移动产业内形 成一个开放式生态系统.系统的特点: 4.1.1 Android 系统的特点:1、开放性。Google 与开放性手机联盟合作开发了 android,Google 通过 与动行商,通过与运营商,设备制造商,开发商和其他有关各方结成深层次的合 作伙伴关系,希望借助建立标准化,开放式的移动电话软件平台,在移动产业内 形成一个开放式生态系统。 2、应用程序无界限。Android 上的应用可以通过标准 API 访问核心移动设 备功能。通过互联网,应用程序可以声明它们的功能可提供其它应用程序使用。 3、应用程序是在平等的条件下创建的,移动设备上的应用程序可以被替换 或扩展,即使是拨号或主屏幕这样的核心组件。 4、应用程序可以轻松地嵌入网络。应用程序可以轻松地嵌入 HTML,javascript 和样式表,还可以通过 Webview 显示内容。 5、应用程序可以并行运行。Android 是一种完整的多任务环境,应用程序 可以在其中并行运行,在后台运行时,应用程序可以生成通知引起注意。的功能: 4.1.2Android 的功能:1、支持虚拟键盘。虚拟键盘的出现意味着基于 Android1.5 或以上的版本的 移动设备可以同时支持特理键盘和虚拟键盘。 2、使用 widget 实现桌面的个性化。可以用 widget 修饰自已的桌面。大多7 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学数小的 Web 应用都是从网络上获得实时数据并展示给用户的,android 预装了 5 个桌机 Widget,包括数字时钟,日历,音乐播放器,相框。 3 、 用 在 线 文 件 快 速 浏 览 数 数 , 类 似 于 OSX Leopard 的 Quicklook 特 征,Android 的在线文件夹可显示的数据条目, 比如联系人, 喜欢的应用, E-mail 信息,播放列表,书签,RSS 源等,并不需要运行系统程序处理特定的数据条目。 4、视频录制和分享。Android 还有录制和分享视频的功能,对回放和 MPEG-4,3GP 等视频也有了更好的支持。可以通过 E-mail,MMS 或直接上传到 youtube 等方式来分享视频。 5、更快,更兼容的浏览器,Android 的基于 Webkit 内核的浏览器带来了重 要的调速半置,这得益于新的 Wenkit 渲染引擎和优化的 JAVA 脚本编译器。 6、Voice search 语音搜索。带有语音识别技术的 Google 手机已于 2008 年 11 月面世,它支持语音搜索功能,该功能增强了默认的搜索能力,已超过了纯 文本搜索。 7、立体蓝牙和免提电话。除了增强的免提电话体验,Android 还支持立体 蓝牙(A2Dphe 和 AVCRP),并有自动配对功能。 8、强大的 GPS 技术.Android 内部提供了大量的 GPS 组件,我们可以很轻松 地获得设备当前的位置等信息,让导航等功能更加完善。 9、Android 系统硬件检测,android 可自动检测和修复 SD 卡的文件系统, 允许第三方应用显示 Android 系统的硬件特征, 为了让用户下载到与自已的设备 匹配的应用,我们可以检测用户设备的硬件信息,让满足应用要求的设备安装该[1]程序,当更多的 android 设备建立在不同的硬件上时,这个功能显得很实用。4.2 Google android 移动平台开发过程研究[4] .Android 移动平台作为 21 世纪的新秀,受到了越来越多的开发者的钟爱, 在这股开发的浪潮中, 逐渐形成了具有 Android 一套具有 Android 特色的开发流 程。 由于 Android 的优越性,其开发显得非常的有规律可寻。大致的开发流程如 下: 需求分析:作为一个软件,它必须有其存在的意义和价值,而这个价值和意 义就需要靠需求分析来确定。 功能分析。作为一个手机软件,它的使命就是给用户使用的。如何提供用户 最好的用户体验就值得每一个程序员的深思, 这也是确保一个程序成功的关键所 在。 界面设计:作为一个手机软件,其只能在极有限的区域中显示自已,如何在8 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学有限的空间里更完美的展现出自已的独特之处就显得更为重要了。 测试:在任何一个软件开发行业中,无论是 J2EE,J2SE,J2ME 等等其他开 发中,测试时必不可少的一环,在 Android 开发中,由于手机的搞频率使用,和 硬件系统上的不足,使得对软件的要求更加的严格,这就要求在开发完成后,再 对其进行严格的测试,而测试又包括了:单元测试,系统测试等等方面的测试。 系统开发:作为一个软件的主体部分,系统开发的好坏直接决定了该系统的 性能和寿命。 发布:在完成一个系统的开发后,就要对其发布,经过广大用户的考验,只 有经过这个过程,才算是一个合格的产品,在 Android 平台中,Google 提供了 完整的发布机制------Google maket。4.3 Google android 移动平台下的应用研究[5] .Android 系统提供给应用开发者本身就是一个框架,所有的应用开发都必须 遵守这个框架原则。我们在开发应用时就是在这个框架上进行扩展,下面来看看 android 这个框架都有些什么功能可供我们使用。 Android.app:提供高层的程序模型和基本的运行环境 Android.content:包含对各种设备上的数据进行访问和发布 Android.database:通过内容提供者浏览的操作数据库 Android.graphics:地层的图形库,包含画布,颜色过滤,点,矩形,可以 将它们直接绘制到屏幕上。 Android.location:定位和相关服务的类 Android.net: 提供帮助网络访问类,超过通常的 java.net*接口。 Android.media: 提供一些类管理多种音频,视频的媒体接口。 Android.os:提供了系统服务,消息转输和 IPC 机制。 Android.opngl:提供 OpenGL 的工具。 Android.provider:提供访问 Android 的内容提供者的类。 Android.telephony:提供与拨打电话相关的 API 交互。 Android.view 提供基础的用户界面接口框架。 Android.util:涉及工具性的方法,例如时间日期的操作。 Addroid.webkit:默认浏览器操作接口。 Android.widget 包含各种 UI 元素在应用程序的布局中使用。4.4 小结本单主要通过三个方面:1.Google android 移动平台的概述:2.google9 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学android 移动平台开发过程的研究:3.google android 移动平台下的应用研究, 概要的介绍了 Google android 移动平台相关知识,对 google android 移动平台 有初步的认识和了解,为后面的开发做了坚实的基础。10 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学第五章 掌上手上天气预报系统程序设计5.1用户界面设计根据需求分析可以知道,应用程序应包含三个主要的用户界面,这里需要进 一步分析每个用户界面中应该包括哪些显示内容。 在“设置页面”中,需要对要显示天气预报的城市及更新频率进行设置。在 “显示页面”中,显示当前的天气状况,包括城市名称、温度、湿度、风向、雨 雪情况和获取数据时间等信息。在“详细页面”动态显示当前天气情况,还要显 示未来四天的天气情况。 根据对用户界面显示内容的分析,绘制出用户界面的草图,如图 4-1 所示。图 4-1基于 Android 平台的智能手机访问服务器的主要技术是数据交互方法。基 于 Android 操作系统的天气实况预报系统设计的核心是通过调用通信协议 SOAP (Simple Object AccessProtocol)的接口,从 Web Service 提供商中提取天 气预报的数据信息,为客户端服务。其基本功能是当用户运行天气预报系统程序 时,在手机屏幕上显示出中国的城市名称,用户单击任意一个城市名,可获得该 城市的天气实况预报信息。用户也可以输入城市名称,点击查询获得天气预报信 息。WeatherForecast 工程目录结构及其源代码文件如图 4-2 所示11 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学图 4-25.2 主要代码介绍 .1.AsyncImageLoader 类 该类功能是根据 url 判断图片是否存在于 Cache, 如果存在那么通知回调函数,如果不存在则开启新线程下载图片,完成之后通知 回调函数.public class AsyncImageLoader { public AsyncImageLoader() { } public Bitmap loadImage(final String strUrl,final ImageCallback imageCallback) { Bitmap bitmap = StringBuffer sb = new StringBuffer(strUrl); sb.deleteCharAt(0); final String imageUrl = sb.toString();//分离出图片的真实地址 //根据图片真实地址查找图片是否在缓存,如果在缓存中直接返回该图片 //不能直接使用 strUrl,否则会导致相同的图片被存在缓存当中 if (ConstData.imageCache.containsKey(imageUrl)) { SoftReference&Bitmap& sr = ConstData.imageCache.get(imageUrl);12 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学bitmap = sr.get(); if (bitmap != null) { Log.i(&info&, &already--&& + strUrl); } } else { Log.i(&info&, &not exit!!--&& + strUrl); ! }2: FileUtils 类 该类功能是对外部存储设备进行设置。public class FileUtils { private String SDPATH; public String getSDPATH() { return SDPATH; } //得到外部存储设备目录 public FileUtils(){ SDPATH = Environment.getExternalStorageDirectory()+&/&; } /** * 在 SD 卡上创建文件 * @throws IOException */ public File createSDFile(String fileName) throws IOException{ File file = new File(SDPATH+fileName); file.createNewFile(); } /** * 在 SD 卡上创建目录 * */ public File createSDDir(String strDir){ File file = new File(SDPATH+strDir); file.mkdir(); } /** * 判断 SD 卡上的文件是否存在 */ public boolean isFileExists(String fileName){ File file = new File(SDPATH+fileName); return file.exists(); }3:HttpDownloader 类 该类功能是创建一个 URL 对象和连接 HTTP,调用者 使用 URI(通用资源标识符)对不同的数据集的数据进行操作。URI 用来地位任 何远程或本地的可用资源public class HttpDownloader { private URL private S private BufferedR private StringBuffer sb = new StringBuffer(); public String download(String urlStr){ try{13 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学//创建一个 URL 对象 url = new URL(urlStr); //打开一个 HTTP 连接 HttpURLConnection urlConn = (HttpURLConnection)url.openConnection(); //使用 IO 流读取数据,读取字节流-&将字节流转化成字符流-&再用 BufferedReader 读取 buffer = new BufferedReader(new InputStreamReader(urlConn.getInputStream())); while((line = buffer.readLine()) != null){ sb.append(line); //使用 append()方法附加数据,最后使用 toString()方法转化成 字符串 } }catch(Exception e){ e.printStackTrace(); }finally{ try { buffer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return sb.toString(); }4:CurrentWeatherCondition 类是对当前天气类。package cn.aisky. public class CurrentWeatherCondition { private String currentH private String currentC private String currentW public String currentI public String currentT public void setCurrentHumidity(String s) { currentHumidity = } public void setCurrentCondition(String s) { currentCondition = } public void setCurrentImagePath(String s) { currentImage = } public void setCurrentTemperature(String s) { currentTemperature = } public void setCurrentWind(String s) {14 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学currentWind = } public String getCurrentImagePath() { String ret = new String(&http://google.com& + currentImage); } public String getCurrentWeather() { String ret = new String(&实时天气:&+this.currentCondition+ & & +&温度:& + this.currentTemperature+&°C& + & & + this.currentHumidity + & & + this.currentWind); } }5.3 获取城市列表数据 .Android 没有提供 Web Service 的组件库, 但可以通过修改在 PC 或 J2ME 上 使用的开源 Web Service Java 库作为 AndroidWeb Servic 库使用。kSOAP2 (http://ksoap2.sourceforge.net)是一个在智能手机上的 SOAP Web Service 客户端包,可用于资源受限制的 Java 环境如 Applets 或 J2ME 应用程序。在 GoogleCode 上有一个项目 ksoap2-android (http://code.google.com/p/ksoap2-android/)可用在 Android 平台上实现 轻量级的 SOAP 库,即使用 ksoap2-android 的 API 来调用远端 Web Service 的 服务。 因此需要在 CitiesWeatherForecast.java 的 onCreate()中进行数据获取 的初始化工作。通过定义一个方法 public List&String&getAllCitiesNAMEs() 可获得中国城市名称列表。也就是说,采用它提供的获得全球各个国家城市的方 法 GetCitiesByCountry,通过 http://www.webservicex.net/globalweather.asmx 上的 WebService 可提供 天气预报服务。譬如,通过 Constant.java 中的 public class Constant{},设 置 SOAP Action 要调用的方法名、命名空间以及 Web Service URL 值,其源代 码为:import android.graphics.B public class ConstData { static final String[] mCities={ &北京&, &上海&, &广州&, &阳江&, &湛江&, &珠海&, &中山&, &佛山&,15 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学&东莞&, &汕头&,// &汕尾&,// &惠州&,// &大连&,// &哈尔滨&,// &海口&,// &长春&,// &长沙&,// &成都&,// &福州&,// &昆明&,// &南京&,// &南宁&,// &青岛&,// &深圳&,// &沈阳&,// &太原&,// &乌鲁木齐&,// &西安&,// &西宁&,// &厦门&,// &徐州&,// &银川&,// &郑州&,// &香港&}; static final String[] pCities={ &beijing&,&shanghai&,&guangzhou&,&jiangmen&,&nanchang&,&jiujiang&,&wuhan&,&ganzhou &, &tianjin&,&chongqing&,&tangshan&,&shijiazhuang&,&dalian&,&haerbin&,&haikou&,&chuangch un&, &changsha&,&chengdu&,&fuzhou&,&kunming&,&nanjing&,&nanning&,&qingdao&,&shenzhen&,& shenyang&, &taiyuan&,&wulumuqi&,&xian&,&xining&,&xiamen&,&xuzhou&,&yinchuan&,&zhengzhou&,&ho ngkong& }; //图片缓存 public static HashMap&String,SoftReference&Bitmap&& imageC }5.4 解析数据列表 .Android 操作系统对 xml 字符串数据的操作功能很强提供了 dom、 sax 以及 xmlpul 3 种方式。Android SDK 提供了 android.sax 包以方便 SAX Handler 的 开发,可用来解结果字符串在本设计实例的 CitiesWeatherForecast.java 文件 中, 解析 xml 数据时先通过 RootElement root=new RootElement &NewDataSet&) ( 获得 xml 数据的根节点; 然后再寻找其子节点直到找到 City 子节点并设置一个16 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学监听器 setEndTextElementListener()来获得 City 子节点的值;最后使用 org.xml.sax,SAXParser 来解析 xml 数据把数据存入 List&String&并返回:SAXParserFactory factory=SAXParserFactory.newInstance(); SAXParser parser=factory.newSAXParser(); XMLReader xmlreader=parser.getXMLReader(); xmlreader.setContentHandler(root.getContentHandler()); InputSource is=new InputSource (new StringBufferInputStream(xmlStr)); xmlreader.parse(is);5.5 主要查询城市天气预报方法。 . 主要查询城市天气预 方法。 查询城市天气预报查询城市天气预报信息主页面 WeatherActivity 继承 android.app.Activity,写 onCreate 方 法。onCreate 方法是查询页面的初始化方法,在这个方法中我们要初始页面中 Button, Spinner 等控件信息,showCity 方法,列表显示查询天气预报信息的城市名称。 updateWeatherInfoView 方法,更新显示选中城市的当前天气信息。updateWeatherorecastView 方法,更新显示选中城市未来四天的天信息。getCityWeather 方法,通过网络得到选中城市 的天气预报信息。17 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学第六章 系统测试至此已经完成了WeathForecastweather工程的代码编写工作, 在这一章节对 WeathForecastweather工程进行测试,步骤及结果如下: (1) 启动Android虚拟机 在工程名WeathForecastweather上点右键,然后选择“Run As” ,然后选择 “Android Application” Android虚拟机启动较慢。如下图6-1所示: 。图 6-1Android 登陆界面如图 6-2 中显示的是一列城市列表, 这个效果需要在 WeatherForecast.java 的 onCreate()中进行数据获取的初始化工作。通过定义一个方法 public List&String&getAllCitiesNAMEs()可获得中国城市名称列表。18 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学图 6-2 城市列表如图 6-3 中显示的是我们选择一个城市点查询键,然后可以通过 UI 显示这 个城市一周内的天气信息。6-3 城市天气信息19 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学查询完广州这个城市之后,我们再点另外一个城市进行查询,如选择北京和 湛江,操作步骤和上面一样。如图 6-4 所示。图 6-3 城市天气信息20 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学第五章 结论如今,随着智能手机操作的兴起,很多软件开发人员着手去研究手机多媒体 这个方面,由 Google 发布的 Android 手机系统更是得到了众多手机开发人员的 青睐。作为智能手机,娱乐与通讯一样具有重要的意义。 本文针对上述问题展开研究, 完成了基于 android 手机的天气预报的系统设 计与实现,其功能基本符合用户的需求,能够实现各个模块的设计要求 经过数个月的努力, Android 平台 3G 手机气象软件终于完成了。 由于对 JAVA 浓厚的兴趣引发了我对 Android 的好奇心, 从一开始什么都不懂一直摸索着运用 了很多高级技术完成了这个软件。在这个过程中, 我学会了很多知识, 比如 Android 环境的搭建、 Intent、 Activity、 Service、 ContentProvider、SQLite 等,但我学会的最重要的一点是,利用现有的资源去解决问题,在 图书馆、在网络上寻找答案。21 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学致谢:这次课程设计是做一个基于 android 平台的应用程序开发, 在老师刚给我们 题目的时候,我有点点的茫然,不知道从何开始下手,甚至自己心里有点点的急 躁。通过老师的细心讲解,并在网上搜索一些相关的资料,逐渐地对这个相对有 一定难度的课程设计有了相当的了解,并且还有点点的激动,觉得这个蛮有意思 的。老师给的题目是要我们做个 Android 应用开发,具体做什么可以自己定,说 实话,最开始的时候我完全没有思路,因为之前学的不是很好,但是自己又想做 好,把它当成一个项目来完成,我看了看一个完整项目的整个实现过程,包括了 需求分析、概要设计、实现、测试、人员安排等,让我们对公司完成项目的模式 有了一个大概的模型,然后结合老师跟我们说的这次课程设计的一个设计环境, 让我对这次课程设计有了一定的信心。我希望通过这次的课程设计,能让自己把 这方面的知识把握的更加的到位。 设计刚开始时候,我就忙于写论文,而忽略了课程设计的核心,从没考虑去 定个题目,然后分析怎么样去做。从而自己思路全无,而又急功近利,导致自己 变的异常的心不在焉, 看到同学们的课程设计代码部分的模型已经颇有几分成色 了,而自己还是在起跑点,现在回想起来,让我感动诧异的是,我非但没有一丝 丝的着急,反而有种莫名的自负感,觉得自己这个东西只要几个小时就能完成似 的,结果当然是时间稍纵即逝,而自己的设计一拖再拖。还好,在关键的时候, 自己还是能够把握自己, 能够驾驭自己懒惰的心理, 开始认认真真的做课程设计, 从需求分析,再到总体设计,一步一步来,每一个阶段都用心去实现。当然,其 中也遇到过很多麻烦,但是通过询问老师和同学讨论,还是顺利的完成了既定的 目标,而自己在这其中也受益良多。 从这次课程设计当中,看到了自己很多方面的不足,比如专业知识不到位, 情绪波动较大,有时候很难控制自己的情绪,同时,发现最大的一个缺点就是自 己现在自律越来越差了,而且精神也越来越差,变得非常懒。所以以后应当在自 制能力方面更好的锻炼自己,提高自己的自律,好好规划好自己的每一天,同时 应当巩固专业知识。在此,我要感谢给我帮助的老师和同学,是他们在我对一些 问题迷茫的时候给于我帮助和支持。22 广东 XX 大学 2012 届毕业论文基于 Android 手机天气预报系统X 同学参考文献[1] 靳岩,姚尚朗. Google Android 开发入门与实战[M].人民邮电出版社 [2] 景保玉.2010 中国移动应用开发现状与趋势大调查[J],2011 年 01 月 12 日 [3]马超,孙仁贵.Android 应用开发全程实录[M]. 人民邮电出版社,. [4]柯元旦.Android 内核剖析[M].电子工业出版社, [4](英)Herbert Schildt Java 参考大全(J2SE 5 Edition)[M],清华大学出版社 [5] [1]邓凡平.深入理解 Android[M].机械工业出版社,. [6] 王向辉,张国印,沈洁.Android 应用程序开发[M].清华大学出版社,2010 年 3 月23
更多相关文档

我要回帖

更多关于 安卓imageview全屏 的文章

 

随机推荐