我正在创建一个用于浏览移动充值计划和资费的Android应用程序.我想要的是当用户从我的应用程序中选择一个计划,然后点击其中一个选项即paytm或freecharge:
- 相应应用的移动充值屏幕打开.
- 用户的电话号码和充值金额已预先填写.
据我所知,这可以通过Intends或Deeplinking实现.但问题是:
如果我使用打算使用他们的软件包名称打开paytm/freecharge,它将打开这些应用程序的主屏幕.现在如何打开充值手机屏幕并预先填写号码和充值金额?
如果我遵循深层链接方法,对于任何一个应用程序,要调用哪个url以及要传递的参数?我在他们的api文档中得到了一个深层链接的paytm,但这也只打开了主屏幕.
完成此操作后,用户可以通过这两个应用程序继续充电.我在类似的app ireff中看到了这个功能,这就是我想要实现的内容.
以上是我想要访问的屏幕,并填写用户在我的应用上填写的电话号码和金额.请让我知道如何做到这一点我在互联网上找不到任何有用的东西.谢谢.
我<layer-list>
经常在android中使用标记来做各种事情,例如向视图中添加阴影和背景,创建自定义形状等。无论我需要什么,总是在互联网上的某个地方。因此,我将其复制并按原样使用。
但是我想知道它<layer-list>
是如何工作的?如何<items>
命令以获得正确的形状或效果?我想知道,这样每当需要某种自定义形状或效果时,我都可以自己做。
我认为<layer-list>
android中一个非常强大的工具可以创建您想要的任何东西。自从我在android上进行开发以来,我已经进行了大量的搜索,但是我找不到任何合适的文档或教程,其中可能包含逐步指南或说明来创建形状或您选择的效果。
如果有人可以向我解释,那就太好了。提前致谢!!
android android-layout android-xml layer-list android-drawable
我RecyclerView
在片段底部有一个水平图像滑块.片段的顶部显示了一些细节.一旦用户点击底部的图像,想法是从图像滑块中删除该图像并在片段中显示其信息.现在信息显示但图像不会被删除RecyclerView
.这是我Onclick
在最外层布局中编码的内容.我已经尝试了所有可以找到的相关答案,但没有任何效果.它们都在代码中.请让我知道我做错了什么或错过了什么.
holder.itemRowRelativeLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isFiltering) {
mItemList.clear();
mItemList.addAll(mOriginalItemList);
mItemList.remove(position);// At this point mItemList holds the correct. That is all the images but not the one that was clicked.
notifyItemRemoved(position); //solution 1
notifyItemRangeRemoved(position, getItemCount()); // solution 2
notifyItemRangeRemoved(0, getItemCount()); // solution 3
notifyDataSetChanged();//solution 4
}
}
});
Run Code Online (Sandbox Code Playgroud)
适配器的完整代码
public class ImageGallery16X9Adapter<T extends GalleryItem> extends RecyclerView.Adapter<ImageGallery16X9Adapter.GalleryItemViewHolder> {
public enum GalleryMode {
All_SAME,
FIRST_DIFFERENT
}
private Context mContext;
private BasePresenter …
Run Code Online (Sandbox Code Playgroud) android android-adapter android-fragments recycler-adapter android-recyclerview
有人可以解释一下为什么我总是一直在android studio中收到此警告吗?这很烦人,因为它填满了整个日志,然后搜索我必须不断滚动的内容。即使我选择“仅显示选定的应用程序”,此警告也会一直显示。
我正在使用默认的Android模拟器来测试我的应用。
01-15 15:51:13.304 1338-1361/? W/audio_hw_generic: Hardware backing HAL too slow, could only write 0 of 720 frames
.
.
.
01-15 15:51:14.324 1338-1361/? W/audio_hw_generic: Hardware backing HAL too slow, could only write 0 of 720 frames
Run Code Online (Sandbox Code Playgroud) 我有一个SingleLiveEvent<Void>
变量。在收到 api 的回复后,我将其发布。我的回调被调用并显示一个弹出窗口。我的问题是我将如何编写测试用例进行检查,是否显示我的弹出窗口。
现场活动:
private SingleLiveEvent<Void> onAccountOverDrawn = new SingleLiveEvent<>();
Run Code Online (Sandbox Code Playgroud)
在成功响应我打电话:
onAccountOverDrawn.post();
Run Code Online (Sandbox Code Playgroud)
在我的片段中,我将其注册为
viewModel.getOnAccountOverDrawn().observe(this, aVoid -> onAccountOverDrawn());
Run Code Online (Sandbox Code Playgroud)
在onAccountOverDrawn()
我只是显示一个弹出窗口。
那么我将如何为这种情况编写测试用例呢?
当前测试用例:
@Test
public void updateApplicationStatus_AccountOverdrawn() {
viewModel.updateApplicationStatus("AMOUNT_PENDING");
assertNotNull(viewModel.getOnAccountOverDrawn()); //this line is of no use. Need to change this.
}
Run Code Online (Sandbox Code Playgroud) 我是 android 开发人员,我在我的应用程序中研究了所有这三种架构模式。此外,我已经阅读了有关 stackoverflow 的几篇关于每个帖子的差异的帖子。我的理解可能不是 100% 正确,但这是我到目前为止所知道的。
MVC - 控制器接收用户输入。控制器更新模型然后告诉视图更新自身。
MVP - View 获取用户输入并通知 Presenter。Presenter 从 Model 中获取数据,然后将其发送到 View。Presenter 和 View 是一对一的关系。
MVVM - View 接收用户输入。ViewModel 从 Model 生成数据并输出数据流,任何订阅它的 View 都可以使用该数据。View 和 ViewModel 是一对多的关系。
问题是在面试中很多次我都被问到这个问题来告诉我什么时候使用哪种模式。我认为面试官想知道的是应用程序的类型(如银行、电子商务等)及其适当的架构模式。或者至少对为什么我想在一个应用程序中使用 MCV 而在另一个应用程序中使用 MVP 以及 MVVM 的一些具体解释。
我做了很好的研究,但在互联网上找不到任何关于每种模式用例的正确答案。因此,请告诉我每个用例的用例。
我知道我们可以按Ctrl+ F2来分离调试器但是有没有在android studio中附加调试器的快捷方式?
android ×7
android-xml ×1
architecture ×1
deep-linking ×1
java ×1
layer-list ×1
logging ×1
mvp ×1
mvvm ×1
testing ×1
unit-testing ×1