- 浏览: 384438 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (269)
- FY_UML (3)
- FY_JAVA (12)
- FY_JavaScript脚本 (7)
- FY_JSP (3)
- FY_Tapestry框架 (12)
- FY_Spring框架 (3)
- FY_Manager (5)
- FY_Junit(单元测试) (3)
- SERVER (14)
- FY_Struts2框架 (3)
- FY_SVN (2)
- FY_NoSQL (2)
- FY_jquery_sir (13)
- FY_hibernate_sir (8)
- FY_设计模式_sir (6)
- FY_Extjs_sir (10)
- FY_CI_sir (5)
- FY_Oracle_sir (11)
- FY_MySql_sir (10)
- FY_Hadoop_sir (3)
- FY_SOA_sir (1)
- 中文分词技术 (1)
- FY_Android (52)
- FY_架构 (2)
- FY_PhoneGap (2)
- FY_Webstorm (5)
- FY_Sencha Touch (3)
- HTML5应用快速开发 (1)
- FY_python (0)
- HADOOP (1)
- AI (0)
最新评论
-
antao592:
楼主,HkDataSourceWrapper中的getCurr ...
结合spring jdbc 实现分表分库的数据库访问构思 -
bonait:
不错,看看我的这个怎么样www.zipin168.com
So Easy京东商城 -
chenzheng8975:
...
So Easy京东商城 -
yzhenxing:
我导入demo后少com.google.android.gms ...
google地图demo -
echoaiya:
非常感谢~~
google地图demo
--------------------------------------------AndroidManifest.xml---------------------------------
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ch31"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="15" />
<!-- sdcard读写权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- sdcard创建目录与文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- 网络访问权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
--------------------------------------------MainActivity.java-------------------------------------
package com.ch31;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
/**
*
* 项目名称:com.ch31
* 类名称:MainActivity
* 类描述: 异步任务=handler+thread
* 创建人:方勇
* 创建时间:2012-12-26 上午11:48:02
* Copyright (c) 方勇-版权所有
*/
public class MainActivity extends Activity {
/* 目录/mnt/sdcard */
private File rootDie;
/* 输出文件名称 */
private String outFileName = "a07.rar";
/*进度条对话框*/
private ProgressDialog pdialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* 检查sdcard并创建目录文件 */
checkAndCreateDir();
/* 异步下载 */
new MyAdyncTask().execute("http://192.168.4.134:8080/tool.rar");
}
@Override
protected Dialog onCreateDialog(int id) {
/*实例化进度条对话框*/
pdialog = new ProgressDialog(this);
/*进度条对话框属性设置*/
pdialog.setMessage("download.....");
pdialog.setMax(100);
pdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pdialog.setIndeterminate(false);//无限循环模式
pdialog.setCancelable(true);//可取消
/*显示对话框*/
pdialog.show();
return pdialog;
}
private void checkAndCreateDir() {
/* 获取sdcard目录/mnt/sdcard */
rootDie = Environment.getExternalStorageDirectory();
/* 新文件的目录 */
File newFile = new File(rootDie + "/mydownload1/");
if (!newFile.exists()) {
/* 创建目录 */
newFile.mkdirs();
}
}
/*异步任务,后台处理与更新UI*/
class MyAdyncTask extends AsyncTask<String, String, String> {
/* 后台线程 */
@Override
protected String doInBackground(String... params) {
/*URL*/
try {
URL url = new URL(params[0]);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
/*URL属性设置*/
conn.setRequestMethod("GET");
/*URL建立连接*/
conn.connect();
//conn.setDoInput(true);
/*下载文件的大小*/
int fileOfLength = conn.getContentLength();
/*每次下载的大小与总下载的大小*/
int totallength = 0;
int length = 0;
/*输入流*/
InputStream in = conn.getInputStream();
/*输出流*/
FileOutputStream out = new FileOutputStream(new File(rootDie+"/mydownload1/",outFileName));
/*缓存模式,下载文件*/
byte[] buff = new byte[1024*1024];
while((length = in.read(buff))>0){
totallength+=length;
String str1 = ""+(int)((totallength*100)/fileOfLength);
//publishProgress(new String[]{str1,"aa","bb"});
publishProgress(str1);
out.write(buff,0,length);
}
/*关闭输入输出流*/
in.close();
out.flush();
out.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/*预处理UI线程*/
@Override
protected void onPreExecute() {
showDialog(0);
super.onPreExecute();
}
/*结束时的UI线程*/
@Override
protected void onPostExecute(String result) {
dismissDialog(0);
super.onPostExecute(result);
}
/*处理UI线程,会被多次调用,触发事件为publicProgress方法*/
@Override
protected void onProgressUpdate(String... values) {
//System.out.println(values[1]);
pdialog.setProgress(Integer.parseInt(values[0]));
//super.onProgressUpdate(values);
}
}
}
--------------------------------------------结果----------------------------------------------------
发表评论
-
史上最快 Android N(安卓7.0)运行效率暴增至600%
2016-10-15 10:08 921谷歌I/O 2016开发者大会在公司总部正式拉开 ... -
So Easy京东商城
2014-12-10 16:51 1571So Easy京东商城 我和17位小伙伴们 ... -
过期Gallery取代方案horizontalscrollView之菜单导航效果
2014-03-23 16:19 2411效果 ------------------------- ... -
过期Gallery取代方案horizontalscrollView之京东效果
2014-03-23 15:57 3874效果 ------------------------- ... -
过期Gallery取代方案horizontalscrollView之幻灯片效果
2014-03-21 17:33 2619效果 ------------------------- ... -
tabhostandbadgeview
2014-03-19 13:45 1027效果 -------------------------- ... -
Android优秀开源项目大全
2014-03-18 15:17 1978以下是开源项目 1、and ... -
Android分页控件xlistview
2014-03-18 14:51 1662strings.xml ----------------- ... -
过期Gallery取代方案horizontalscrollView之普通画廊
2014-03-17 22:48 2438activity_main.xml ---------- ... -
viewpage
2014-03-17 18:08 1051strings.xml ----------------- ... -
FragmentStatePagerAdapter分页
2014-03-17 17:27 799ViewPager ViewPager 如 ... -
FragmentPagerAdapter与FragmentStatePagerAdapter差异
2014-03-17 17:20 1310简介 平常使用的FragmentPagerAdapter和F ... -
抽屉菜单
2014-03-16 12:51 1836strings.xml ----------------- ... -
px和dip以及sp的区别
2014-03-08 17:01 711显示单位px和dip以及sp的区别 dip: devi ... -
fragment生命周期
2014-03-06 16:59 886Fragment必须被写成可重用的模块。因为fragmen ... -
过期API_AlertDialog
2014-03-02 10:07 1144layout----------------------- ... -
Android_Jni 操作指南
2014-01-10 14:45 945Android_Jni 操作指南 NDK(Nati ... -
各种各样圆形进度条
2013-11-11 16:30 559http://www.apkbus.com/android-1 ... -
红杏出墙__实训版
2013-04-20 18:59 1078红杏出墙__实训版 -
google地图demo
2013-04-09 14:25 3201---------------------------- ...
相关推荐
9. **异步编程**:由于Android应用的主线程不允许执行耗时操作,因此会使用到AsyncTask、IntentService、Handler、RxJava等异步处理机制。 10. **Gradle构建系统**:Android项目使用Gradle进行构建,管理依赖和打包...
5. **异步操作**:Android中的AsyncTask、Handler、Looper以及IntentService等机制,用于处理耗时操作,防止阻塞主线程。这些异步技术的使用方法和最佳实践可能在本章中有所阐述。 6. **BroadcastReceiver**:广播...
《Android OPhone开发完全讲义源码Ch14》是一份深入探讨Android OPhone平台开发的教程资料,其中包含了第14章的源代码。在这一章节中,开发者将了解到如何利用Android SDK和OPhone特有的功能来构建高效、功能丰富的...
8. **AsyncTask**:在Android中,异步任务是处理耗时操作(如网络请求、数据库操作)的常用方式,避免阻塞主线程。源码可能包含使用AsyncTask的实例。 9. **Fragment**:从Android 3.0开始引入,Fragment允许在单个...
还可能包含对Android的异步处理机制的理解,比如AsyncTask和IntentService。在Android中,避免在主线程执行耗时操作是提高用户体验的关键。因此,了解如何正确使用这些异步机制对于编写流畅的应用至关重要。 网络...
《Android SDK范例开发大全 第3版 源代码 CH8》是一本专注于Android应用程序开发的实战指南,其中包含了丰富的示例代码,旨在帮助开发者深入理解Android SDK的各种功能和使用方法。这部分源代码对应的是书中的第八章...
- AsyncTask:Android提供的轻量级异步任务处理类,适合短时间、不耗时的任务。 - Handler/Looper/Messenger:用于处理主线程和子线程之间的消息通信,实现UI更新。 8. **权限管理** (可能在相关章节) - Android...
6. **高级特性**:ch24和ch25可能涉及更高级的Android开发话题,如多线程处理,使用AsyncTask或IntentService,或者是关于通知、权限管理、动画效果以及Material Design设计原则的应用。 通过这些源代码,读者不仅...
在本章“ch03”中,我们将探索Android应用的基础架构,包括Activity、Intent、BroadcastReceiver以及Service等核心组件。这些组件构成了Android应用的核心功能,理解和掌握它们对于任何Android开发者来说都是至关...
综上所述,"Android SDK开发范例大全source_CH04"包含的内容广泛,涉及了Android开发的诸多核心技术和最佳实践。通过学习并实践这些示例,开发者可以提升自己的Android开发技能,更好地理解和运用Android SDK。
此外,Android的AsyncTask或者LiveData可以处理网络操作与UI更新的异步问题。了解JSON或其他数据格式的解析也是必要的。 6. **权限管理**: Android Ophone中,应用需要声明并获取相应的权限才能访问某些资源或...
《Android Ophone开发完全讲义源码:深入理解ch09-12》 在Android应用开发领域,尤其是针对Ophone平台的开发,深入理解源码是提升技能的关键。本讲义聚焦于ch09至ch12的核心知识点,旨在帮助开发者更全面地了解...
8. **AsyncTask和线程管理**:在Android中,由于UI线程不能进行耗时操作,因此需要使用AsyncTask或其他线程管理工具。这部分源码可能会展示如何在后台线程执行任务,然后在主线程更新UI。 9. **数据存储**:Android...
AndroidLife The Android's life is very interesting and rich. 1. ImageScaleTypesActivity Introduce the ImageView scale properties 介绍ImageView scale属性 Detailed introduction Screenshot: 2....
《Android OPhone开发完全讲义源码Ch04》是一份深入探讨Android OPhone平台开发的教程资料,其中包含了第四章的源代码。这一章节主要聚焦于Android应用程序的架构、UI设计以及与设备硬件交互的基础知识。在Android ...
《Android SDK开发范例大全(第二版)CH06》是一个关于Android开发的章节资源,主要聚焦于SDK的使用和实战技巧。这个压缩包可能包含了该章节的所有代码示例、讲解文档和其他相关材料,帮助开发者深入理解Android应用...
《Android SDK开发范例大全(第二版)CH03》是针对Android应用程序开发的一本详尽教程,由清华大学出版社出版。这本书的第三章涵盖了Android SDK中的关键知识点,旨在帮助开发者深入理解和实践Android应用的构建过程。...
在CH04这个目录下,我们可以预期找到与第四章内容相关的源码,这通常会涵盖以下关键知识点: 1. **活动(Activity)管理**:Activity是Android应用的基本构建块,用于展示用户界面。源码可能会包含如何创建、启动、...
1. **Ch01 - Android基础** - Android系统架构:了解Android系统的层次,包括Linux内核、硬件抽象层、运行时库、应用程序框架和应用程序。 - Android Studio:Android的官方集成开发环境(IDE),包括项目创建、...
AsyncTask是Android开发中用于处理轻量级异步任务的重要工具。它允许开发者在后台线程执行耗时操作,然后在UI线程更新结果,从而避免了主线程被阻塞导致应用无响应的问题。本Demo主要展示了AsyncTask的用法和生命...