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

四平公司做网站网络营销推广方案思路

四平公司做网站,网络营销推广方案思路,wordpress qq 群,中国建设网官方网站硅灰Loaders#xff0c;获取数据的东西。 总体流程是#xff1a;通过getLoaderManager().initLoader(0,null,this)获得Loader#xff0c;如果没有#xff0c;那么就会调用接口函数获取#xff0c;注意#xff1a;有ID#xff0c;所以要在获取的接口函数里进行相应的选择。 会…  Loaders获取数据的东西。   总体流程是通过getLoaderManager().initLoader(0,null,this)获得Loader如果没有那么就会调用接口函数获取注意有ID所以要在获取的接口函数里进行相应的选择。    会自动更新数据 一个主要依赖Activity或者Fragment存在的。 通过getLoaderManager().initLoader(0,null,this)方法初始化LOADER。 要继承LoaderManager.LoaderCallbacks包括 LoaderManager.LoaderCallbacks includes these methods: onCreateLoader() — Instantiate and return a new Loader for the given ID.onLoadFinished() — Called when a previously created loader has finished its load.onLoaderReset() — Called when a previously created loader is being reset, thus making its data unavailable.These methods are described in more detail in the following sections.   第一个用于创建LOADER一般来说只有init的时候ID对应的LOADER不在的时候才会运行该方法。   第二个一般用来获取数据后的填充适配器。   第三个用于重置。     Loader可以自定义一般使用继承AsyncTaskLoader的类。    /*** A custom Loader that loads all of the installed applications.*/ public static class AppListLoader extends AsyncTaskLoaderListAppEntry {final InterestingConfigChanges mLastConfig new InterestingConfigChanges();final PackageManager mPm;ListAppEntry mApps;PackageIntentReceiver mPackageObserver;public AppListLoader(Context context) {super(context);// Retrieve the package manager for later use; note we dont// use context directly but instead the save global application// context returned by getContext().mPm getContext().getPackageManager();}/*** This is where the bulk of our work is done. This function is* called in a background thread and should generate a new set of* data to be published by the loader.*/Override public ListAppEntry loadInBackground() {// Retrieve all known applications.ListApplicationInfo apps mPm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES |PackageManager.GET_DISABLED_COMPONENTS);if (apps null) {apps new ArrayListApplicationInfo();}final Context context getContext();// Create corresponding array of entries and load their labels.ListAppEntry entries new ArrayListAppEntry(apps.size());for (int i0; iapps.size(); i) {AppEntry entry new AppEntry(this, apps.get(i));entry.loadLabel(context);entries.add(entry);}// Sort the list.Collections.sort(entries, ALPHA_COMPARATOR);// Done!return entries;}/*** Called when there is new data to deliver to the client. The* super class will take care of delivering it; the implementation* here just adds a little more logic.*/Override public void deliverResult(ListAppEntry apps) {if (isReset()) {// An async query came in while the loader is stopped. We// dont need the result.if (apps ! null) {onReleaseResources(apps);}}ListAppEntry oldApps mApps;mApps apps;if (isStarted()) {// If the Loader is currently started, we can immediately// deliver its results.super.deliverResult(apps);}// At this point we can release the resources associated with// oldApps if needed; now that the new result is delivered we// know that it is no longer in use.if (oldApps ! null) {onReleaseResources(oldApps);}}/*** Handles a request to start the Loader.*/Override protected void onStartLoading() {if (mApps ! null) {// If we currently have a result available, deliver it// immediately.deliverResult(mApps);}// Start watching for changes in the app data.if (mPackageObserver null) {mPackageObserver new PackageIntentReceiver(this);}// Has something interesting in the configuration changed since we// last built the app list?boolean configChange mLastConfig.applyNewConfig(getContext().getResources());if (takeContentChanged() || mApps null || configChange) {// If the data has changed since the last time it was loaded// or is not currently available, start a load.forceLoad();}}/*** Handles a request to stop the Loader.*/Override protected void onStopLoading() {// Attempt to cancel the current load task if possible.cancelLoad();}/*** Handles a request to cancel a load.*/Override public void onCanceled(ListAppEntry apps) {super.onCanceled(apps);// At this point we can release the resources associated with apps// if needed.onReleaseResources(apps);}/*** Handles a request to completely reset the Loader.*/Override protected void onReset() {super.onReset();// Ensure the loader is stoppedonStopLoading();// At this point we can release the resources associated with apps// if needed.if (mApps ! null) {onReleaseResources(mApps);mApps null;}// Stop monitoring for changes.if (mPackageObserver ! null) {getContext().unregisterReceiver(mPackageObserver);mPackageObserver null;}}/*** Helper function to take care of releasing resources associated* with an actively loaded data set.*/protected void onReleaseResources(ListAppEntry apps) {// For a simple List there is nothing to do. For something// like a Cursor, we would close it here.} } 上面是官方的代码。 构造方法传入context。 loadInBackground是后台真正获取数据的代码。 deliverResult提交数据给客户端可以直接返回。 onStartLoading处理要开始的请求官方在这里进行了更新的监听。 onStopLoading要求停止官方直接使用cancelLoad()。 onCanceled()取消的操作官方建议对资源进行释放。 onReset重置详细看代码。   这样的话就能从头到尾自定义和使用一个Loader了。转载于:https://www.cnblogs.com/yutoulck/p/3619264.html
http://www.zqtcl.cn/news/513564/

相关文章:

  • 深圳手机网站开发什么网站可以做英语题
  • 网站优化什么意思图片展示网站
  • 建德做网站米趋外贸网站建设
  • 国外优秀的设计网站八爪鱼磁力搜索引擎
  • 网站建设优化陕西网络营销推广方法与策略
  • 网站建设推广者怎样找到客户百度seo排名帝搜软件
  • 绵阳网站托管网站建设第一品牌
  • 张家港网站建设培训班电商seo引流
  • 网站安全怎么做手机网站 焦点图
  • 阿里云做网站的代码网上申请入团网站
  • 精品课程网站怎么做建筑图纸符号大全解释
  • 高权重网站 内页做跳转给新网站许昌做网站公司哪家专业
  • 咸阳网站建设工作室网站建设经
  • 网站怎么做短信接口新浪wordpress
  • 方维o2o 2.9蓝色团购网站程序源码模板做一电影网站怎么赚钱
  • 口碑好网站建设资源新昌网站建设
  • 苏州做网站的公司排名泉州网络推广专员
  • 无为县做互联网网站备案的时候网站建设方案书要吗
  • 修改网站的备案主体dede网站地图不显示文章列表
  • 建立个人网站的成本织梦html5手机网站模板
  • 怎么自己建一个网站吗php网页设计培训
  • 深圳大型论坛网站建设wordpress国内加速
  • 仿站怎么做广告装饰公司名字
  • 黄冈网站推广收费标准wordpress导航页面设置密码
  • 做网站会犯法吗贵州省建设厅城乡建设网站
  • 做网站和做公众号资金盘网站怎么建设
  • 全国最好的网站建设案例推广方法视频
  • 嘉兴网站建设策划方案在海口注册公司需要什么条件
  • 旅游网站国际业务怎样做建设企业官方网站企业登录
  • 北京市昌平网站建设小米网络营销案例分析