在返回对象的sqlite查询中使用加载器
这是我一直在做的所有事情来从数据库中获取数据 - 我的片段将调用DBHELPER,它将运行查询并将结果数据传递到对象中. 我应该使用装载机,以便在UI线程中没有进行查询,但是以前我没有打扰,因为我的应用程序的数据库很小.向前迈进,这是一个坏主意,因为我的应用程序越来越大,数据库也是如此.因此,现在我正在阅读有关加载程序(包括CursorLoader和自定义加载程序)的所有内容,但是我在应用程序中实现它仍然存在问题. 所以这是我当前的代码(简化,只是显示相关部分): public class CategoryEdit extends Fragment{ private DbControl dbc; private ObjectCategory objCategory; private int categoryID = 3; private EditText etName; @Override public void onActivityCreated(Bund
2 2024-02-18
编程技术问答社区
刷新时RecyclerView重新加载相同的数据
我有一个问题,当我滑动以刷新数据时,第一个滑动是可以的...我正在使用装载机. 我以前试图清除,但我不明白我的代码有什么问题,如果有人可以向我解释.谢谢. 在这里我的代码: public abstract class NewsFragment extends Fragment implements LoaderManager.LoaderCallbacks> { protected ItemAdapter mArticleAdapter; protected RecyclerView mRecyclerView; protected NewsFragment.OnNewSelectedInterface mListener; protected RecyclerView.LayoutManager mManager; protected SwipeRefreshLayout mSwipeRefr
0 2024-02-17
编程技术问答社区
不保留加载器,总是在方向改变时创建
我有一个Activity A,其中包含一个Fragment B,其中包含Fragment C. 当前,Fragment B's LoaderManager管理一个CursorLoader.数据给予Fragment C. 在方向更改上,丢失了加载器:initLoader始终导致系统调用onCreateLoader.但是,文档说: 如果尚不存在加载程序,则创建一个,并且(如果当前启动了活动/片段)启动加载程序.否则最后创建的加载程序将被重复使用. 我如何获得这种行为? 解决方案 这是一个开放的错误,Google知道并希望计划修复 https://code.google.com/p/android/问题/细节?id = 183783
0 2024-02-14
编程技术问答社区
OnLoadFinished()被调用两次
我试图弄清楚我在装载机方面是否做错了什么.我正在使用支持库,并且有一个片段,该片段在onCreate()调用initloader()设置为loaderCallbacks,但是在旋转时,它在onloadFined()中都会接收到结果两次,这是一次呼叫init的结果(并且已经拥有数据),并且由于碎片性在OnStart()中的所有加载器中循环并提供结果,因此由于它已经具有数据,因此碎片性循环并提供了结果. 如果我只调用Init一次(在片段的第一次启动时),它不会将自己设置为加载程序的回调,因此根本不会接收到OnloadFined的调用.似乎只能在OnloadFined()(例如清除列表适配器等)中完成某些昂贵的事情,所以OnloadFined OnloadFined仅应调用一次,所以我只是想弄清楚这是否是错误或是否是错误只是在错误的时间或其他方式调用init. 有人对此问题有任何见识吗? 解决方案 我也有类似的问题,原因是我的代码中有initLoader和restartLo
与CursorLoader和MergeCursor一起使用分页功能,关闭旧的游标
正如标题所说的那样,当试图由SimpleCursorAdapter和a CursorLoader支持的ListView分页时,旧光标正在关闭,因此下面的例外情况正在抛弃.前2页加载良好(第一个不使用MergeCursor,第二页是第一个使用MergeCursor的页面).我不会在任何光标上称任何close(). 有趣的是,在调试时,我看不到任何要设置为真实的光标上的封闭标志,它的价值.然后,可能是MergeCursor的问题.让我知道你们是否有解决方案,我没有想法. 堆栈跟踪: android.database.StaleDataException: Attempting to access a closed CursorWindow.Most probable cause: cursor is deactivated prior to calling this method. at android.database.AbstractWindowedCursor
0 2024-02-13
编程技术问答社区
安卓系统。改变数据集后,旋转器不更新
在我的应用程序中,Spinne显示了活动项目(我使用支持库的加载程序来加载它们).启动器的初始效果很好,并且仅显示活性项目. 但是我得到了以下问题: 当我在另一个活动中编辑这些项目并将其存储(活动并停用其中一些)时,请回去(Back-button),然后我会看到旋转器中的"旧"列表.适配器可以使用正确的数据获得新的光标,但旋转器不会刷新他的列表. 我该怎么做才能刷新旋转器列表? in onCreate() i初始化旋转器 _ItemSpinner = (Spinner) getView().findViewById(R.id.spn_itemss); _ItemAdapter = new AdvancedCursorAdapter( getActivity(), R.layout.spinner_2line_item, null, _ColumnList, _ColumnViews, 0); _ItemSpinner.setAdapter(
0 2024-02-13
编程技术问答社区
安卓ajax加载器
我正在尝试执行Ajax加载程序,但它在Android 1.5中不起作用,此版本不支持GIF文件. 有没有sugention?谢谢. 解决方案 我使用CSS3解决了问题. pre-Loader CSS3中的动画 demo 其他解决方案 Google显然正在研究它.但是没有运气,即使在最新的Android平台
0 2024-02-13
编程技术问答社区
安卓加载器与点击按钮的AsyncTask的比较
我有一项活动,该活动不需要加载时服务器的数据 - 只需ui 的普通init UI有多个按钮. 用户单击其中之一,然后应用将请求发送到服务器(REST CALL) 显示请求正在处理旋转器(约10秒) 目前它使用asynctask-因此,如果应用程序将肖像更改为景观 - 活动将重新启动,我放松了过程 第二选项是使用加载程序 - 问题是它是在按钮点击上启动的 - 不在活动开始 上 这导致许多例外 - 当LoaderManager将事件发送到非启动项目 时 有解决方案吗? 几个评论: - 例如10秒 - 锁定用户到一个方向不是一个选择 - 服务对简单的休息呼叫 过于杀伤 解决方案 public class TestActivity extends FragmentActivity { private Button one; private Button two; private final int ONE_ID = 0;
0 2024-02-13
编程技术问答社区
安卓SQLite查询、插入、更新、删除,总是需要在后台线程中进行?
我目前使用加载程序从我的ContentProvider获取数据(以自动更新我的光标).但是,这种方法对于查询数据库是直接的,它似乎不适合任何其他数据库操作(例如插入,更新,删除). 我的问题是: 所有SQLITE操作都需要在背景线程上,还是可以安全地进行简单操作,例如在UI线程上插入,更新或删除单行? 什么是一个不错的设计模式,以确保所有查询都通过背景线程?我想实现异步,我是否应该创建一个supertask,以便可以说扩展异步并执行每个sqlite操作? (奖金:您可以提供简单的例子吗?) 解决方案 我在我的UI线程上完成了SQLite操作.我想这个问题确实变成了您的疑问是否需要很长时间.我从来没有花费太长时间来在我的SQLITE数据库上执行SQL调用. 话虽如此,如果您打算编写可能需要一些时间加载的复杂查询,您将需要以异步或线程运行,并使用回调在需要时更新UI. 这是关于Android上SQLite的出色教程(它还解决了您所谈论的一些复杂的SQL时序问
0 2024-02-13
编程技术问答社区
使用AsyncTask加载位图图像
我试图在某人通过我的应用程序工作时将图像加载到后台.我写的逻辑是: public class ImageLoader extends AsyncTask { private String URL; private int type; ImageLoader(String Url, int Type) { URL = Url; type = Type; } @Override protected Bitmap doInBackground(Context... arg0) { AssetManager assetMgr = arg0[0].getAssets(); Bitmap bitmap = null; try { bitmap = BitmapFactory.deco
0 2024-02-13
编程技术问答社区
Android java无法加载类
嗨,我无法在我的Android应用中加载类,我可以加载基本类,但是当我在该类中初始化上下文时,就无法加载 public class main { // Initalize context Context mContext; public main(Context mContext){ this.mContext = mContext; } public boolean main() { Log.d("MYLOG", "main() called successfully when there context is not initialized like above"); // some code here } } 我的类加载代码 try{ final File tmpDir = context.getDir("dex", 0); final DexClassLoader classload
0 2024-02-12
编程技术问答社区
Eclipse。Android SDK内容加载器
每次i 在日食上开始一个新项目,这发生了: parseSdkContent failed Could not initialize class android.graphics.Typeface 我该怎么办才能解决这个问题?我有所有建议的插件以及此页面上的所有内容 https://developer.android.com/training/basics/firstapp/index.html?hl=p 谢谢大家! 解决方案 这个问题今天发生在我身上,对我有用的是删除C:/Users/user中的.android文件夹.祝你好运! 其他解决方案 删除C:/users/user [.android]暂时有用,当您重新启动Eclipse时,它再次出现!
2 2024-02-10
编程技术问答社区
在游标中使用加载器
我想使用CursorLoaders从数据库加载日期,但是问题是我不想处理cursoradapter或我想拥有Cursor的IT denants. 这是我所做的 class MyClass implements LoaderCallbacks { Cursor mCursor; ... ... ... @Override public Loader onCreateLoader(int id, Bundle bundle) { if (type == V_TYPE_PART) { // load all parts return new CursorLoader(getActivity(), PartTableMetaData.CONTENT_URI, PartTableMetaData.
2 2024-02-09
编程技术问答社区
loader和AsyncTask的区别是什么?
我想知道android加载器和异步箱之间的区别, 这里的演示器上的演示: package com.android.loaderdemo; import org.json.JSONArray; import org.json.JSONObject; import android.app.Activity; import android.app.LoaderManager.LoaderCallbacks; import android.content.AsyncTaskLoader; import android.content.Context; import android.content.Loader; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.widget.TextView; import com.android.webprocess
4 2024-02-03
编程技术问答社区
装载器和onLoaderReset Android
我在我的应用程序中实现了一个加载程序,以查询数据库的数据.我通过实现LoaderCallbacks侦听器来聆听发生的更改.我的问题是当我的数据更改时使用onLoaderReset(Loader loader)方法时,我想无效并释放与加载程序关联的任何数据.在所有示例中,在此方法中都有以下调用: mAdapter.swapCursor(null); 但事实是,我不使用适配器中的光标中的数据,而是在应用程序中以其他方式使用它. (例如,直接从onLoadFinished(Loader loader, Cursor data)中的返回的光标) @Override public void onLoadFinished(Loader loader, Cursor data) { if (data.moveToFirst()) {
2 2024-02-03
编程技术问答社区
在调用initLoader后,有时无法得到onCreateLoader的回调。
我有一个活动,可以在创建Initloader时调用它,以便加载活动将显示的数据.通常,这可以正常工作.我有断点,以查看一切都发生的顺序.首先,我致电Initloader,然后得到onCreatEloader回调,然后是OnloadFined Rownback,一切都很好. 但是,我注意到,如果我更改了Android上的方向,则我没有获得onCreatEloader回调或OnloadFined回调,从而导致页面上没有显示数据.我仍然会在initloader调用上获得断点,所以我知道这正在发生,但是我没有出错,我找不到任何文档,解释了为什么我在调用initlader后不会收到回调. . 有趣的是,如果我返回原始方向,我确实会得到回调. so,总结: 我在肖像方向上开始活动 我致电Initloader 我得到了increateLoader和onloadfined callbacks 我更改为景观 我致电Initloader 没有onCreatEl
0 2024-02-03
编程技术问答社区
带有MVP的Dagger 2,避免在视图上创建额外的presenter对象。
我有一个用Loader实现MVP模式的应用程序,以在视图娱乐中维护演示者对象(有一篇有关此我设法使它起作用了,但是现在我的演示者被创建了两次.首先,它是使用onCreateLoader初始化的工厂类创建的,但是当添加匕首2实现时,我创建了两个对象(在工厂类中和注射时). 现在,我避免在onCreateLoader中创建一个新的演示者,而是通过注入的主持人.问题是在查看娱乐中:每次被破坏和重新创建视图时,都会以OnCreate/OnCreateView注入新的演示者.这是场景: 注入新的演示者: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ... getControllerComponent().inject(this); ... } 初始化Loader,onCreate
0 2024-02-01
编程技术问答社区
根据ListItem的特定变量在ListItem上膨胀布局
我正在使用SimpleCursorAdapter和a ListView显示带有加载程序的一些数据. 在cursor我有int的项目中,该项目从0到3. 我希望具有此INT等于0-1的项目具有布局(右对齐,一种颜色),并且具有2-3的项目具有另一个布局(左对齐,另一种颜色). much like a chat app, where sent messages are on the right and received ones are on the left. 有什么简单的方法可以做到吗?类似于0-1 i膨胀布局的开关_1和2-3 i膨胀layout_2. 编辑:我添加了我要填充的列表段的代码.用作开关的int是mycontentprovider.data.e_type. 我无法掌握它,但是也许有人可以清楚地解释我必须写的内容! import com.actionbarsherlock.view.Menu; import com.actionbarshe
0 2024-01-31
编程技术问答社区
Android-Universal-Image-Loader在gridview中滚动时不保留加载的图片
我正在使用 android-universal-image-loader 远程图片到我的GridView单元格中的ImageView. 在这里,成像装载机配置: new ImageLoaderConfiguration.Builder(Config.context) .threadPriority(Thread.NORM_PRIORITY - 2) .memoryCacheSize(20 * 1024 * 1024) // 20 Mb .memoryCache(new LruMemoryCache(20 * 1024 * 1024)) .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) .tasksProcessingOrder(QueueProcessingType.LIFO) .enableLogging() // Not necessary in common .build(); 和显示选项
0 2024-01-31
编程技术问答社区
Dex加载器无法执行多个dex文件的定义
好吧,现在我真的被困在这里.我不知道该怎么办,去哪里或其他任何事情! 我一直在试图卸载,重新安装SDK和Eclipse-versions,试图将其谷歌搜索,但是Nu-uh ... nothing !!! 我可以在模拟器中运行我的应用程序,但是我不能导出它... [2011-10-07 16:35:30-DEX加载器]无法执行DEX:多个DEX文件定义LCOM/DreamHawk/kalori/da​​tabaseHelper; 这是数据库Helper package com.dreamhawk.kalori; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import android.content.Context; import android.database.C
0 2024-01-30
编程技术问答社区