当前位置: 首页 > news >正文

太平鸟品牌门户网站建设网站国外推广

太平鸟品牌门户网站建设,网站国外推广,网站开发部门工资入什么科目,网站规划与建设需求分析版权声明#xff1a;未经博主允许不得转载标题图AsyncTask了解AsyncTask异步#xff0c;需要了解一下异步任务(多线程)#xff0c;什么是线程#xff0c;可以这么说线程好比边吃饭边看电视#xff0c;AsyncTask是为了方便后台线程中操作更新UI#xff0c;本质为Handler异…版权声明未经博主允许不得转载标题图AsyncTask了解AsyncTask异步需要了解一下异步任务(多线程)什么是线程可以这么说线程好比边吃饭边看电视AsyncTask是为了方便后台线程中操作更新UI本质为Handler异步消息处理机制。学习AsyncTask需要知道它的参数它要实现的方法onPreExcecute()onPostExecute()后台线程操作doInBackground()显示进度onProgressUpdate()等方法。在这里混个眼熟下面会用代码讲一下如何用。在这里我们创建一个类public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//这里创建一个内部类继承AsyncTaskpublic class DownloadAsyncTask extends AsyncTask{}}我们在这里点击去看底层AsyncTaskpublic abstract class AsyncTask {//其中Params为类型参数Progress为进度为返回结果}在这里继承实现的方法有//在异步任务之前Overrideprotected void onPreExecute() {super.onPreExecute();// 准备工作}Overrideprotected Boolean doInBackground(String... strings){//处理事件}Overrideprotected void onPostExecute(Boolean aBoolean){super.onPostExecute(aBoolean);//执行完执行结果 处理}//当我们的进度在变化的时候Overrideprotected void onProgressUpdate(Integer... values) {super.onProgressUpdate(values);//收到进度然后处理也是在UI线程中。}//取消/*Overrideprotected void onCancelled(Boolean aBoolean) {super.onCancelled(aBoolean);}Overrideprotected void onCancelled() {super.onCancelled();}*/在这里通常执行onPreExcecute(执行前)doInBackground(执行中)onPostExecute(执行后)onProgressUpdate这些方法。在这里写个例子如何下载一个从网络上下载一个apk请求网络数据下载文件。在这里我会比较详细地讲解一下如何获取url以及请求网络的事情。设置一个点击下载文件的按钮//定义一个方法private void setButtonListener(){mDownloadButton.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {DownloadAsyncTask asyncTask new DownloadAsyncTask();asyncTask.execute(APK_URL);}});}在这里讲解一下申请asyncTask应用可以理解就是在创建对象嘛public class DownloadAsyncTask extends AsyncTask{...}那么这个execute还没讲那就点击进入看一下源码吧~MainThreadpublic final AsyncTask execute(Params... params) {return executeOnExecutor(sDefaultExecutor, params);}//通过execute实现下面就进入执行中的代码//解释一下这里的Boolean是由这个定义的public class DownloadAsyncTask extends AsyncTask{}////String... strings 表示数组可变参数可能为空Overrideprotected Boolean doInBackground(String... strings){}执行前Overrideprotected void onpreExecute(){super.onPreExecute();//解决UI问题}执行中的代码进行下载//String... 为数组Overrideprotected Boolean doInBackground(String... strings) {//预防为空if (strings ! null strings.length0){//传入的参数是url由上面的// DownloadAsyncTask asyncTask new DownloadAsyncTask();//asyncTask.execute(APK_URL);//决定String apkurl strings[0];try{//给你一个下载地址url那么你就要创建一个url对象URL url new URL(apkurl);//String apkurl strings[0];//构造一个URLConnection 打开连接 url.openConnection()URLConnection urlConnection url.openConnection();//输入流 读取数据InputStream inputStream urlConnection.getInputStream();//接下来获取下载内容的总长度int contentLength urlConnction.getContentLength();//接下来就是找个地方存放就跟放在目录哪里一下为字符串String mFilePathEnvironment.getExternalStorageDirectory() File.separator FILE_NAME// Environment.getExternalStorageDirectory() 为目录比较实用// File.separator 相当//// FILE_NAME为文件名可改为“what.apk”.//对下载地址进行处理File apkFile new File(mFilePath);//接下来就是文件输入到目录中//先读取再写入//判断文件if(apkFile.exists()){boolean result apkFile.delete();if(!result){return false;}}//文件进度条已经下载了多少int downloadSize 0;//定义一个读取数组长度接下来进行。。。byte[] bytes new byte[1024];//1024没有规定可以自己决定//读取多长int length;//创建一个输出流写OutputStream outputStream new FileOutputStream(mFilePath);//写到这个路径while( (length inputStream.read(bytes)) ! -1){outputStream.write(bytes,0,length);downloadSizelength;//发送进度publishProgress();}....}}执行后Overrideprotected void onPostExecute(Boolean aBoolean) {super.onPostExecute(aBoolean);//也是在主线程中执行结果 处理//处理UI}最后进度变化//当我们的进度在变化的时候Overrideprotected void onProgressUpdate(Integer... values) {super.onProgressUpdate(values);if (values ! null values.length 0){}}重点要添加网络权限以及读取权限ListViewListView是我们在Android开发中常用到的一个控件用来展示数据我们在微信列表项文章列表随处可见。深入了解public class AppListAdapter extends BaseAdapter{}public abstract class BaseAdapter implements ListAdapter, SpinnerAdapter {}public interface ListAdapter extends Adapter {}public interface SpinnerAdapter extends Adapter {}创建布局android:idid/main_list_viewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent实现控件声明private ListView mListView;mListViewfindViewById(R.id.main_list_view);步骤了解一下Adapter(适配器)public class AppListAdapter extends BaseAdapter{}//获取包名String packageName mAppInfos.get(position).activityInfo.packageName;获取应用名String className mAppInfos.get(position).activityInfo.name;//拼接-点击方法ComponentName componentName new ComponentName(packageName,className);final Intent intent new Intent();//通过Intent设置组件名intent.setComponent(componentName);startActivity(intent);BaseAdapter中抽象方法public int getCount();public Object getItem(int arg0);public long getItemId(int arg1);public View getView(int position, View convertView, ViewGroup parent);public View getView(int position, View covertView, ViewGroup parent){if(converView null){converView mInflater.inflate(R.layout.list_item, null);}}static class ViewHolder{public ImageView image;public TextView title;}Overridepublic View getView(int position,view convertView, ViewGroup parent){ViewHolder holder;if(convertView null){holder new ViewHolder();convertView mInflater.inflate(R.layout.list_item, null);holder.holder.convertView.setTag(holder);}else{holder(ViewHolder)convertView.getTag();}}编辑 达叔定位分享 AndroidJava 知识点我是简书的达叔小生。
http://www.sadfv.cn/news/71612/

相关文章:

  • 乐山做美食推荐的网站wordpress ajax评论
  • 支付公司网站制作费怎么做分录韶关网站建设的公司
  • 地方网站域名免费代理服务器proxy
  • 做公司网站要钱吗骨骼型的网站
  • 萍乡网站建设哪家好哦网站建设yu
  • 泉州企业网站建设公司洛阳做网站公司电话
  • 百度做公司网站需要多少钱提供免费网站建设
  • 买衣服的网站排行榜建中英文网站
  • 中国建设执业资格注册管理中心网站北京微网站设计
  • 网站目录结构 权限wordpress百度云加速插件
  • 做视频网站了几百万做基金哪个网站好
  • 杨浦手机网站建设怎么查网站接入商
  • 慢慢网站建设中企动力大连分公司
  • 海门建设厅网站深圳营销型网站建设案例
  • 论文收录网站阿里巴巴国际站工作怎么样
  • 郑州网站开发顾问怎么判断一个网站做的好不好
  • 能免费用服务器的网站wordpress缩略图采集火车头
  • 如何做网站框架仿站网站源码下载
  • 有些网站下方只有版权没有ICP网店系统源码
  • 怎么做网站做站点深圳的网站建设的公司
  • 如何修改网站模板傻瓜式在线做网站
  • 岳阳市交通建设投资公司门户网站wap网站什么意思
  • 网站建设使用情况二级域名免费网站怎么申请
  • 临沂市建设工程监理公司网站网站建设 ipv6
  • 中小企业网站功能模块及数据库表东莞建筑公司都有哪些
  • 有可以做ssgsea的网站么新郑网站建设
  • 网站建设与电子商务的教案2手房产App网站开发
  • 网站轮播广告动画怎么做的网站正在建设中网页
  • 还能用的wap网站做宣传图册在什么网站
  • 重庆建网站优化网站太卡怎么优化