- 浏览: 360362 次
- 性别:
- 来自: 福州
文章分类
最新评论
-
loveskey:
找了好久,可算是找到了。感谢
dx.jar dx.bat -
zhaoyi168:
可以把工程的代码发给我吗?
ZJLN1982@yahoo.co ...
Athrun Demo -
ergodic09:
請問樓主 我目前在porting AR6003但是無法自己產生 ...
009-Android平台开发-WIFI function porting-WIFI功能移植 -
iedj99fei:
...
androi中xliff:g
ApkAsyncTask.java
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.view.View;
import android.view.View.OnClickListener;
/**
* AsyncTask中
* 第一个参数Apknfo和doInBackground(....)中的参数保持一致
* 第二个参数Bitmap和onProgressUpdate(...)中的参数保持一致,由publishProgress()传递该值
* 第三个参数Apknfo和onPostExecute(....)中的参数保持一致,也是doInBackground(....)返回值类型
* doInBackground(....)的返回值传给onPostExecute(....)执行,也即是onPostExecute(....)的参数
* @author huangqin
*
*/
public class ApkAsyncTask extends AsyncTask<ApkInfo, Integer, ApkValue>{
private ViewHolder mHolder;
private ApkValue mApkValue;
private Context mContext;
private ApkInfo mApkInfo;
public ApkAsyncTask(Context context, ViewHolder holder) {
this.mContext = context;
mHolder = holder;
mApkValue = new ApkValue();
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected ApkValue doInBackground(ApkInfo... params) {
mApkInfo = params[0];
mApkValue.setApkPic(resolverApkPic(mApkInfo.getApkItemPicUrl())); // download picture from internet
mApkValue.setApkName(mApkInfo.getApkItemName());
mApkValue.setApkFile(mApkInfo.getApkFileUrl());
//publishProgress(mBitmap);
return mApkValue;
}
@Override
protected void onPostExecute(ApkValue result) {
// refresh UI
mHolder.contentItemPic.setImageBitmap(result.getApkPic());
mHolder.contentItemName.setText(result.getApkName());
/*mHolder.contentItemDownload.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
}
});*/
super.onPostExecute(result);
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
}
@Override
protected void onCancelled() {
super.onCancelled();
}
private Bitmap resolverApkPic (String apkPicUrl) {
URL tmpURL;
Bitmap bmap = null;
// from http service
try {
tmpURL = new URL(apkPicUrl);
HttpURLConnection conn = (HttpURLConnection) tmpURL.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
bmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
// from sdcard
/*bmap = BitmapFactory.decodeFile(apkPicUrl);
int apkPicWidth = (int)(mWinWidth * 0.25);
int apkPicHeight = (int)(mWinHeight * 0.11);
bmap.createScaledBitmap(bmap, apkPicWidth, apkPicHeight, true);*/
if(bmap==null)
bmap=BitmapFactory.decodeResource(mContext.getResources(), R.drawable.loading);
return bmap;
}
}
ViewHolder.java
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
public class ViewHolder {
ImageView contentItemPic;
TextView contentItemName;
ImageButton contentItemDownload;
}
ApkValue.java
import android.graphics.Bitmap;
public class ApkValue {
private Bitmap mApkPic;
private String mApkName;
private String mApkFile;
public ApkValue() {
}
public Bitmap getApkPic() {
return mApkPic;
}
public void setApkPic(Bitmap bitmap) {
mApkPic = bitmap;
}
public String getApkName() {
return mApkName;
}
public void setApkName(String name) {
mApkName = name;
}
public String getApkFile() {
return mApkFile;
}
public void setApkFile(String fileUrl) {
mApkFile = fileUrl;
}
}
在UI界面初始化ApkAsyncTask,并执行execute方法。如下:
ApkAsyncTask mApkAsyncTask = null;
ViewHolder mHolder = new ViewHolder();
private ApkInfo mApkInfo = null; // A apk
private ArrayList<ApkInfo> mApkInfoList = null; // The total apks
mHolder = (ViewHolder)convertView.getTag();
mApkInfo = mApkInfoList.get(position);
mApkAsyncTask = new ApkAsyncTask(mContext, mHolder);
mApkAsyncTask.execute(mApkInfo);
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.view.View;
import android.view.View.OnClickListener;
/**
* AsyncTask中
* 第一个参数Apknfo和doInBackground(....)中的参数保持一致
* 第二个参数Bitmap和onProgressUpdate(...)中的参数保持一致,由publishProgress()传递该值
* 第三个参数Apknfo和onPostExecute(....)中的参数保持一致,也是doInBackground(....)返回值类型
* doInBackground(....)的返回值传给onPostExecute(....)执行,也即是onPostExecute(....)的参数
* @author huangqin
*
*/
public class ApkAsyncTask extends AsyncTask<ApkInfo, Integer, ApkValue>{
private ViewHolder mHolder;
private ApkValue mApkValue;
private Context mContext;
private ApkInfo mApkInfo;
public ApkAsyncTask(Context context, ViewHolder holder) {
this.mContext = context;
mHolder = holder;
mApkValue = new ApkValue();
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected ApkValue doInBackground(ApkInfo... params) {
mApkInfo = params[0];
mApkValue.setApkPic(resolverApkPic(mApkInfo.getApkItemPicUrl())); // download picture from internet
mApkValue.setApkName(mApkInfo.getApkItemName());
mApkValue.setApkFile(mApkInfo.getApkFileUrl());
//publishProgress(mBitmap);
return mApkValue;
}
@Override
protected void onPostExecute(ApkValue result) {
// refresh UI
mHolder.contentItemPic.setImageBitmap(result.getApkPic());
mHolder.contentItemName.setText(result.getApkName());
/*mHolder.contentItemDownload.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
}
});*/
super.onPostExecute(result);
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
}
@Override
protected void onCancelled() {
super.onCancelled();
}
private Bitmap resolverApkPic (String apkPicUrl) {
URL tmpURL;
Bitmap bmap = null;
// from http service
try {
tmpURL = new URL(apkPicUrl);
HttpURLConnection conn = (HttpURLConnection) tmpURL.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
bmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
// from sdcard
/*bmap = BitmapFactory.decodeFile(apkPicUrl);
int apkPicWidth = (int)(mWinWidth * 0.25);
int apkPicHeight = (int)(mWinHeight * 0.11);
bmap.createScaledBitmap(bmap, apkPicWidth, apkPicHeight, true);*/
if(bmap==null)
bmap=BitmapFactory.decodeResource(mContext.getResources(), R.drawable.loading);
return bmap;
}
}
ViewHolder.java
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
public class ViewHolder {
ImageView contentItemPic;
TextView contentItemName;
ImageButton contentItemDownload;
}
ApkValue.java
import android.graphics.Bitmap;
public class ApkValue {
private Bitmap mApkPic;
private String mApkName;
private String mApkFile;
public ApkValue() {
}
public Bitmap getApkPic() {
return mApkPic;
}
public void setApkPic(Bitmap bitmap) {
mApkPic = bitmap;
}
public String getApkName() {
return mApkName;
}
public void setApkName(String name) {
mApkName = name;
}
public String getApkFile() {
return mApkFile;
}
public void setApkFile(String fileUrl) {
mApkFile = fileUrl;
}
}
在UI界面初始化ApkAsyncTask,并执行execute方法。如下:
ApkAsyncTask mApkAsyncTask = null;
ViewHolder mHolder = new ViewHolder();
private ApkInfo mApkInfo = null; // A apk
private ArrayList<ApkInfo> mApkInfoList = null; // The total apks
mHolder = (ViewHolder)convertView.getTag();
mApkInfo = mApkInfoList.get(position);
mApkAsyncTask = new ApkAsyncTask(mContext, mHolder);
mApkAsyncTask.execute(mApkInfo);
发表评论
-
eclipse中安装插件地址
2014-03-07 15:08 730http://subclipse.tigris.org/up ... -
ubuntu13下载android源码
2014-02-27 18:23 605一、注意repo的正确地址 repo:curl " ... -
用例无法运行,报如下错:Exception during suite construction
2014-02-26 15:47 1204一 前提 1、 测试工程中的所有参数已配置好,如ins ... -
Jython调用自定义jar包中的接口
2014-01-26 10:37 4150<!--[if !supportLists]--> ... -
dx.jar dx.bat
2013-06-17 19:33 2198Android SDK中dx.jar, dx.bat文件的备份 ... -
Please ensure that adb is correctly located..... 问题
2013-04-16 09:44 938解决方法: 方法一、查毒杀毒,也许了病毒占用了adb ... -
PC端通过adb与设备端通信
2013-03-28 09:36 1466adb 全称Android Debug Bri ... -
有用网站
2013-02-28 11:09 882http://www.java2v.com/CN/Tuto ... -
Unable to execute dex: Multiple dex files define Lorg/taptwo/android/widget/Circ
2013-02-21 15:07 2549问题:[2013-02-21 15:01:02 - Dex ... -
android viewTree and decorView
2013-01-30 13:55 1674Android ViewTree and DecorView ... -
No active compatible AVD's or devices found. Relaunch this configuration after c
2013-01-29 10:56 8734问题:No active compatible AVD's ... -
代码对比工具
2013-01-24 15:33 617windows: http://www.scooterso ... -
android最新源码下载
2013-01-23 09:57 1026源码下载:https://source.android.co ... -
Run MonkeyTalk Scripts via Ant in Windows
2012-12-18 20:24 1241Run MonkeyTalk Scripts via ... -
Android中cpu,memory,Battery的计算
2012-11-20 19:59 65781 Memory的分配(RAM而非ROM) 网址: •ht ... -
http://code.taobao.org/p/TMTS/src/
2012-10-12 17:38 1005http://code.taobao.org/p/TMTS/s ... -
string.xml文件中的特殊符号转换符
2012-09-24 09:09 743strings.xml文件中需要对特殊符号(如%,'等)进行转 ... -
web server 中设置wifi代理
2012-09-24 09:07 871DefaultHttpClient httpClient = ... -
Android开发一些常见问题
2012-09-24 09:06 7211:当追踪问题时,代码中实在找不出问题所以,代码的逻辑完全正确 ... -
将log信息写入sdcard
2012-07-05 17:14 842File mFile; private void write ...
相关推荐
android异步加载网络图片实例
基于Android开发的异步加载网络图片
一个很完整的android异步加载网络图片案例
Android异步加载网络图片(线程),采用LruCache算法,使用线程回调接口,实现异步加载网络图片
android异步加载网络图片到ListView
Imageload异步加载网络图片
很久没上传资源了,今天特意把自己收集的,自己用过的资源上传。Android 异步加载网络的图片,开始的时候显示默认的,当加载完成图片后替换掉原来的默认图片,绝对不会发生内存溢出的问题。
Android 图片异步加载 加载网络图片
Android 开发中如何异步加载网络图片 二例
android平台实现异步加载网络数据的实例,供学习
这是一个Android异步图片加载的例子
Android AsyncTask用法和异步加载图片通过AsyncTask 从网络上异步加载一张图片
该库是gitHub上的一个开源工程,主要解决网络图片加载及显示(包括OOM处理,缓存等问题),demo在附件中sample目录可直接导入运行
演化理解 Android 异步加载图片
android Gallery实现异步加载网络图片 并只加载当前停止页面图
android Gallery实现异步加载网络图片 并只加载当前停止页面图.zip
一个非常好的 android gridview 异步加载图片的例子,需要17以上的api
Android图片异步加载,插件分享,适合新手学习
android 异步加载网络图片,防止oom,代码可以参考