在PageViewer Android中从BaseAdapter类内部调用Fragment
嗨,我是Android的新手,并且正在我的项目中使用PageViewer来显示Tab Swiping和其他此类内容 我使用了4个选项卡,并为每个选项卡使用了片段 现在,我有一个列表中的1个按钮,在同一选项卡上拨打另一个片段,即我需要在同一选项卡上替换片段. 我已经在链接中看到了这个堆栈问题,该问题说使用广播听众来呼吁片段.我在片段类中使用了它. http://stackoverflow.com/questions/22265378/how-to-call-a-fragment-from-baseadapter-class-android/22265433#22265433 我遇到了一个错误,我需要在框架布局上打电话 如果我使用Android ID,如果我将其更改为 @+ID,则会给出错误
0 2024-02-19
编程技术问答社区
安卓机房数据库交易
使用Android的新房间数据库,我有一个需要进行两个顺序操作的要求: removeRows(ids); insertRows(ids); 如果我运行此操作,我会看到(检查数据库)缺少一些行 - 我认为它们在插入后被删除.即第一个操作与第二操作并行运行. 如果我使用这样的交易块,那么一切都很好 - 第一个操作似乎在执行第二个操作之前完成: roomDb.beginTransaction(); removeRows(ids); roomDb.endTransaction(); insertRows(ids); ,如果我在介于两者之间的睡眠中也可以: removeRows(ids); Thread.sleep(500); insertRows(ids); 房间似乎没有太多文档,并且想知道我是否应该像上面有顺序操作一样使用交易块,或者有任何更好的方法. 编辑:@commonsware指出后,@Query是异步的,而@Insert和@Delete是同步的
2 2024-02-17
编程技术问答社区
传入的片段必须在外向片段上方显示
我试图用另一个片段从容器中替换一个片段.为此,我使用此代码: FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.setCustomAnimations(R.anim.open_next, R.anim.close_next, R.anim.open_main, R.anim.close_next); transaction.replace(R.id.frag_container, new Activity_SendTrack(), "newFragment"); transaction.addToBackStack("Activity_Fragment2"); transaction.commit(); 一切都与一个例外情况完美,传入的片​​段在外向片段下方是动画.我希望新传入的片段在外向片段上方显示.我该如
0 2024-02-14
编程技术问答社区
动画片段和后栈
我在使用或理解如何弹出时遇到了麻烦 片段转移后堆栈处理习惯 动画.具体来说,我希望它称为" out"动画,但是 似乎没有. 我有一种处理碎片交易的简单方法 (fragmentTransaction)在我添加片段并应用自定义的地方 过渡,以便它将淡入/淡入淡出.我也将其添加到 后堆栈,以便用户可以使用 后按钮,本质上是在片段之前导航到状态 加入. protected void changeFragment() { FragmentTransaction ft = fm.beginTransaction(); ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out); ft.add(R.id.fragment_container, new TestFragment()); ft.addToBackStack(null); ft.commit();
0 2024-02-14
编程技术问答社区
片段交易中的片段重复
好的,每当我尝试更换应用程序中的片段时,它只会添加容器内部的片段,另一个片段就是,并留下当前片段.我尝试调用替换并引用视图包含片段,并引用片段本身.这两个工作都没有.我可以在片段交易管理器的视图中添加片段,但是即使我在添加后尝试将其删除,也行不通.任何帮助,将不胜感激.这是我的文件. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //Setup the actionabar. Use setDrawableBackground to set a background image for the actionbar. final ActionBar actionbar = getActionBar(); actionbar.setDisplayShowTit
0 2024-02-14
编程技术问答社区
用谷歌IO REST模式的SQLite交易'的ContentProvider?
我正在尝试在此视频中实现Virgil Dobjanschi提出的第二个REST客户端模型: v = xhxn3kg2iqe 这是我正在谈论的模型的高级图: 我按建议实现了所有内容,但是我有一个复杂的SQLITE数据库模型,其中有很多表,我需要使用交易来使用从服务器检索到的全新数据来更新我的本地数据(图7中的步骤7). 您是否可以提出任何建议,以帮助我为这种情况实施交易contentprovider? 你们中有些人可能建议我改用RAW SQLITE,但是这样我将不使用ContentProvider提供的ContentObservers,Managedqueries和Database Access的优势. . 任何帮助将不胜感激. 解决方案 由于您无法访问11级API,因此可以做到这一点.可以说,您想在更新方法中执行此交易: final Cursor update(Uri uri, ContentValues values, String
0 2024-02-13
编程技术问答社区
安卓系统。使用ContentResolver时的SQLite事务
目标:从XML数据刷新数据库 过程: 开始交易 delete 从表中的所有现有行 根据分析的每个主要元素xml 插入行进入主表并获取pk 每个孩子的每个孩子插入记录在第二个表中,从上一步提供了fk 提交交易 就DB操作而言,非常标准的东西.问题在于ContentProvider中不是进行CRUD操作,而是使用ContentResolver,因此插入看起来像resolver.insert(CONTENT_URI, contentValues). ContentResolver API似乎与交易有关,我无法使用bulkInsert,因为我间歇性地插入2个表(此外,我也想在交易中包含delete). 我正在考虑使用registerContentObserver将自定义的ContentProvider注册为侦听器,但是由于ContentResolver#acquireProvider方法是隐藏的,我如何获得正确的参考? 我不运气吗? 解决方案 我已经
PayUMoney交易成功后重定向页面
我正在开发带有Payumoney交易的样本应用程序.该应用程序功能良好.但是,我正在寻找成功交易后将页面重定向到一项活动.我正在使用Payumoney SDK,有人经历了吗?请指导我..任何类型的帮助.预先感谢 解决方案 我遇到了类似的问题.我假设您使用SDK集成了Payumoney.您的SDK将具有Web ViewActivity,该Web ViewActivity用于将用户重定向到成功之后的成功/故障屏幕.在服务器端上添加一个按钮命名"确定"或"继续"在成功/失败URL屏幕上.详细信息单击您的SDK WebView活动中的该按钮并完成活动. 要求您的Web开发人员在成功/失败URL上添加HTML按钮: OK 这是您可以检测到SDK的WebViewActivate中的HTML按钮的方式: mWebView = (WebView) fin
2 2024-02-11
编程技术问答社区
使用greendao的SQLite交易行为
我在我的Android项目中使用Greendao作为ORM库,并且有问题了解交易的行为. Greendao提供API runInTx(Runnable r). 我的问题是,将如何处理此方法的两个调用? 线程1 public void thread1() { DaoManager.INSTANCE.getDaoSession().runInTx(new Runnable() { doQueries(); doInsertsAndUpdates(); } } 线程2 public void thread2() { DaoManager.INSTANCE.getDaoSession().runInTx(new Runnable() { doQueries(); doInsertsAndUpdates(); } } 我已经看到,runInTx在独家
0 2024-02-10
编程技术问答社区
Firestore。离线时交易崩溃
我知道,根据ChangElog(0.12.9+5).据说它修复了Android上的崩溃,在离线时Transaction Transaction s会导致应用程序崩溃.但是,即使使用0.13.7(我正在使用的版本).我仍然遇到应用程序崩溃.控制台中没有错误日志(只需立即崩溃). 我尝试过: 在物理设备上以调试模式运行我的应用程序(相同行为) 附加错误句柄回调(未调用) 将我的cloud_firestore降低到0.12.11(在查询中支持whereIn的最低版本;这是我需要的东西,高于0.12.9+5) 其他可能相关的信息: logcat(我已经包含了我可以远程猜测是相关的东西;我不知道如何阅读logcat) java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncT
0 2024-02-10
编程技术问答社区
在Android SQLite中是否允许一次创建许多事务?
阅读例如:我有2个线程访问数据库连接,是否可以在每个线程上创建交易而不是嵌套? 解决方案 sqlite不支持嵌套交易: 使用BEGIN创建的交易...提交不要筑巢.用于嵌套 交易,使用保存点和发布命令. 我本人在使用sqlitedatabase课程的嵌套交易时经历了僵局,因此我强烈建议您远离嵌套交易.使用自己的锁防止交易嵌套. 其他解决方案 在两个单独的线程上创建两个单独的交易不被视为"嵌套交易". 每个线程都维护自己的DB会话,将其映射到0或1 dB连接(可以从连接池中挑选DB连接,如果会话不再需要连接,则返回到该连接,因此,随时随地,会话是否有连接,具体取决于需要). 因此,每个线程都保持着自己的曲折状态,对其他线程的独立.消息来源确认了这一点: ../android/sdk/sources/android-23/android/database/sqlite/sqlitedatabase.java: // Thread-local
0 2024-02-09
编程技术问答社区
如果ID不是唯一的,就用片段替换容器
我的布局具有两个具有相同ID的视图.如果我想找到视图,我只会调用parentView1.findViewById(R.id.content)或parentView2.findViewById(R.id.content)获取正确的视图. 如果我想用片段替换容器,我可以以某种方式定义要替换哪个容器? 解决方案 Fragment Manager仅接受ID,因此,我认为,答案是否,您无法指定容器.但是您仍然可以找到他们两个. 作为解决方法,您可以用碎片包裹容器,然后在这些片段内部ID将是唯一的;因此,您可以做fragment1.replaceContent(...)之类的事情,其中​​.replaceContent(...)是您自己的方法. OFC,您需要确保您的参考正确,状态保存等. 其他解决方案 您应该在父布局中包装相同的ID布局.然后将第二个容器的ID设置为其他整数.例如,布局文件看起来像这样:
0 2024-02-07
编程技术问答社区
Firebase: 原子化地创建/更新多个子节点
说我有一个带有"用户"节点和"宠物"节点的项目.当用户获得宠物时,我想在用户的"宠物"节点和用户ID中添加PET的密钥,然后将用户ID添加到PET的"所有者"节点. 示例: { "users":{ "user1":{ "pets":{ "pet1":true, "pet3":true } ... } }, "pets":{ "pet1":{ "owner":"user1", ... }, ... } } 我想确保两个更新成功以防止不一致的状态. 我读了有关如何使用Firebase Transactions 在这里/a>,但是,当我尝试创建一个修改相关值的交易(使用dbref.
0 2024-02-06
编程技术问答社区
即使有事务,SQLite插入也会变慢
即使通过交易,我也遇到了SQLite插入性能的麻烦. 我的Android应用程序从Web服务接收大约23.000行,我必须将它们插入单个表中. 对Web服务进行了分区,以便我在每个请求中收到大约2000行的WS,并在交易中包装2000个插入物.完成这些插入后,我将新请求发送给WS,然后再次使用新的2000行交易. 一开始它可以正常工作.每秒执行很多插入.但是随着时间的变化,最终以每秒4或3个插入时间结束,直到完成23000行. 表的大小有问题吗?当插入较大时,插入较慢? 有什么方法可以改善大量数据的性能? 感谢您的帮助. 解决方案 问题我如何提高sqlite的性能?哪个相当不错.如果您还没有使用它们,我至少会去做准备的陈述. 但是,当您在Android上时,我猜您可能会跑到一些I/O瓶颈写作闪存的I/O瓶颈上.尝试从不同制造商的几个不同设备上运行代码,看看是否存在任何极端变化. 其他解决方案 您应该使用数据分区. 因为您可以一一插入100-1
0 2024-02-04
编程技术问答社区
Ormlite安卓系统散装刀片
谁能解释为什么我的插入物在Ormlite中需要这么长时间?在台式机上进行1,700个SQLite交易中的1,700个插入物需要不到一秒钟的时间.但是,在使用ormlite进行Android时,它需要大约70秒的时间,我可以在调试消息中看到每个插入物. 当我尝试将插入物包装到一个交易中时,它以完全相同的速度进行.我知道,Android和Ormlite都有高架,但是,我不会期望它会那么好.我的代码如下: this.db = new DatabaseHelper(getApplicationContext()); dao = db.getAddressDao(); final BufferedReader reader = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.poi))); try { dao.callBatchTasks(
4 2024-02-03
编程技术问答社区
如何在Android中使用SQLite实现最佳性能?
我注意到,有多种方法可以进行SQLITE操作(查询,插入,更新,删除),并且有些可以比其余的更快.许多网站提供了不同的提示,有些网站与其他网站相冲突. 看来,使用交易进行散装插入量比在循环中更快. 怎么来?使用SQLite时,获得最佳性能的最佳方法是什么? SQLite如何在Android上工作? 混淆使用在这里.. 比 ContentValues 快会以交易速度将其包裹起来? 其他SQL框架上的混乱.我记得添加索引会提高与索引相关的查询的性能.这对Android也是如此吗?这是一个好习惯吗? 我听说,在某些情况下,最好不要将UI线程用于DB操作.在哪些情况下,建议这样做?如在中,DB操作的速度如何?如果DB变为70MB,是否意味着它会慢得多,而UI线程不应处理? 解决方案 怎么来? 交易涉及磁盘I/O.与许多小磁盘I/O. inserhelper如何工作,它将始终比内容值更快? 引用文档在表中进行多个插入,但仅编译SQL插入
0 2024-02-03
编程技术问答社区
Firebase(Android Studio):从实时和存储中原子化地删除用户和他的所有数据
我在实时firebase 数据库中有一个用户信息,但是我在存储Firebase数据库中也为该用户提供了一个特定的文件夹.我如何以的方式删除他的数据,以使一切都消除或没有任何东西 谢谢. 解决方案 无法在多个壁炉服务上原子上删除数据.您将必须一个一个删除它们. 这意味着您必须选择一个删除内容的订单,并确保任何客户端代码都可以处理挥之不去的部分数据/文件.此外,您需要运行一个定期的过程来清理此类孤立数据/文件.
0 2024-02-01
编程技术问答社区
有多种格式的In App Billing交易吗?
我们在验证一些付款交易时遇到问题(应用程序帐单中的Google v3中的Google).看起来繁琐的交易的数据遵循的格式与我们在交易中看到的格式不同.我们没有问题. 我们能够验证的交易 OrderId:两个数字用点分隔:92299713162054702728.1224255970239541 Signature:始终在末端包括base64填充,345个字符长 无法验证的交易 OrderId:一个数字:5643493869375537013 Signature:缺少base64填充,343个字符长 (这些不是实际ID) 丢失时手动添加填充无助于验证签名. 为什么我们要以不同格式接收数据?为什么我们无法验证它们,即使我们在验证"普通"交易方面没有问题?我们应该做什么/调查以解决此问题? 解决方案 检查此链接: For transactions dated 5 December 2012 or later, Google Walle
0 2024-02-01
编程技术问答社区
在一个Firestore交易中更新同一文件的多个字段时的定价问题
我使用Firestore进行以下交易: mDb.runTransaction(new Transaction.Function() { @Override public Void apply(final Transaction transaction) throws FirebaseFirestoreException { DocumentReference documentReference = mDb.collection("collectionOne").document("documentOne"); /* some code */ transaction.update(documentReference, App.getResourses().getString(R.string.field_one), FieldValue.increment(1));
0 2024-01-30
编程技术问答社区
交易导致活动召回Firebase Android
当我单击我的 rate_btn 以启动此事务功能时. 它可以正常工作,但是在此过程中,它再重新运行我的课堂活动(每次使用交易时我的类活动都会重新运行),因此重置所有内容,例如我的 msg_id . 例如,我的 msg_id 更改(由于使用随机),每次调用此类活动时,当我运行交易时,它可以正常运行,但作为回报,该类活动也会更改我的 msg_id aswell. 这是一个方案: 因此,当单击此"速率"按钮时,它可以进行评分 在当前 msg_id 上 msg_id 因为我的获取随机 msg_id .我认为这是在 我调用oncomplete方法. 当我单击 rate_btn 时 现在重新运行,我再次单击 rate_btn 再次. 它将第一个 msg_id投票然后,当我单击 rate_btn 时,它再次投票赞成第二个键(因为它重新称呼类活动, msg_id 更改) 这是交易的代码: rate_btn.setOnClickListener(ne
2 2024-01-30
编程技术问答社区