DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

The Latest Testing, Tools, and Frameworks Topics

article thumbnail
Understand the Root Cause of Regressions With Git Bisect
Your git fairy godmother will test and locate the bugs for you with a swish of her magic wand. All you need to know are the magic words: git bisect.
July 24, 2022
by Shai Almog DZone Core CORE
· 6,513 Views · 2 Likes
article thumbnail
Android ListView – Fixing Missing/Blank Dividers
Working With ListViews in Android Development Putting up a list of elements that people can see and work with is a very common tactic when working on mobile applications. It is something that developers are called upon to do all the time, and it is a good thing we have them working on these things because otherwise the apps that we all use on a regular basis simply wouldn't hold up to the workout that we put them through when using them. That is to say that they wouldn't look nearly as good as we are used to them looking at this point. Most developers will look at ListView in Android at some point in their developing career. It is a typical thing for developers to do, and you might as well get used to using this application if you intend on working in the field for very long. It will come to be expected of you. A Full View Of Information A primary reason to use ListViewer when developing a new app is simply to allow users of that app to see everything that they need to see as they are scrolling through it. They may want to spend some extra time on certain elements of what you have created, and that is all possible when you provide them with the list or "table of contents" for your application. You may be surprised to learn just how much people appreciate this and how much it truly benefits them. Funny as it might sound, these are the types of things that make a difference in the lives of people who are just trying to figure out what kind of apps they will use. The ListViewer app allows developers to provide their users with precisely what they are looking for as far as the information they need to access right when they need to access it. No more hunting around trying to find a specific aspect of the app that you are currently using. It is all right there when the developer has taken the time to use ListViewer to make it easier to scan. Accessibility is the Name of the Game Have you ever used an app that you weren't quite sure how to find everything in? There are many people who have put themselves in this unfortunate predicament before, and the results can be devastating. That is to say that they are not app with the outcome because they end up getting lost in the maze of the app and are unable to truly enjoy its benefits. Creating lists within the app makes it a lot easier for anyone to take a look at what is going on within the app and try to figure out which steps they need to take next to get to the information that they actually desire. As you might imagine, this is a very big deal when working with apps that contain valuable information within them. If you are working with something like that, then you definitely want to get to the root of what you are looking for right away. The ability for users to discover what they are looking for always begins at the development stage. When developers are working to create apps that people will actually use, they need to think carefully about the way that the average user is likely to approach the app. How is that user going to view the material that is accessible in the app, and where are they most likely to click? Those are the type of questions that developers should always ask themselves if they are serious about creating something that is going to stand the test of time. A post with code in it. Because it’s been a long time since the last one. If you work with ListViews in Android, as all Android developers will do at some point, you may notice that if you set your list items to be non-selectable the dividers that are drawn between each cell disappear. In the Holo Light theme you would normally get a thin light gray dividing line between cells. Depending on how you’ve implemented your adapter, you may find that these dividers become white/transparent when the cells are not selectable. According to Android framework engineer Romain Guy, this is the intended behavior. As Haythem Souissi points out in this Stack Overflow answer, you can work around this by ensuring that the areAllItemsEnabled method returns true, even though all items are not enabled (maybe none of them are). The isEnabled method will take care of actually disabling the cells and the dividers will be drawn between each of them. All very straightforward so far but it all goes wrong again when you try to add a non-selectable header view to the list. The way that ListView deals with headers and footers is that it creates its own adapter to wrap/decorate yours and insert the header/footer views in the appropriate places. This is fine but it’s not delegating the areAllItemsEnabled method, so our above fix no longer works. Fortunately, and unusually for Android, everything we need to resolve this issue is part of the public API. The adapter decorator class is android.widget.HeaderViewListAdapter. We just need to create our own instance, wrapping our own adapter, and override areAllItemsEnabled as above. There’s a slight complication in that we have to wrap the header view in an instance of ListView.FixedViewInfo and this is a non-static inner class of ListView, but we can reach into our bag of obscure Java tricks to create an instance from outside the enclosing class. // I assume you know how get a reference to the ListView and create your own adapter. ListView listView = (ListView) view.findViewById(android.R.id.list); CustomAdapter adapter = new CustomAdapter(context, listOfItems); // You can create any view you like for the header. TextView listHeader = (TextView) inflater.inflate(R.layout.list_header, null); listHeader.setText("My Header Text"); // This is how you create an instance of the non-static nested class, providing // it with a reference to an instance of the containing class (ListView). ListView.FixedViewInfo headerInfo = listView.new FixedViewInfo(); headerInfo.view = listHeader; headerInfo.isSelectable = false; // HeaderViewListAdapter insists on concrete ArrayLists. ArrayList headers = new ArrayList(1); headerInfoList.add(headerInfo); ArrayList footers = new ArrayList(0); HeaderViewListAdapter wrapper = new HeaderViewListAdapter(headers, footers, adapter) { @Override public boolean areAllItemsEnabled() { return true; } }; listView.setAdapter(wrapper); Create Something Unique for Android? Here is another thing that people sometimes forget about. They may want to consider creating something unique for the Android system. There are plenty of Android users out there, and it is a great platform on which to launch your application to get it started. If you discover that the ListViewer and every other piece of code you have placed into your app works out well on the Android platform, then there is a good chance that it will do great on other platforms as well. Thus, you may bring it over to those other platforms after you have given it a chance on the Android system. See what Android users love and hate about what you have created, and then fix the problems and move on to the next challenge. You may find that you have created something that users truly love and that you can market to other users on different operating devices (such as Apple iOS). The best thing to do is to figure out the issues that you may need to clean up while putting your material out to a large audience. The Android platform is a large enough audience that you should be in great shape if you begin there. They are also helpful in that they will provide you with the feedback that you may need to make your app just right. Don't Create Too Many Lists Finally, we leave you with the reminder that you shouldn't create too many lists within your app. Yes, you want people to come and check out what you are all about, but you do not want to give them the impression that they have to continue to click through sub-list after sub-list just to get to the materials that they are actually attempting to view. If you put them in a position like that, then they may feel that you are making things too challenging for them, and this is likely to upset some users. Get away from that by only using lists when they are truly necessary within your app. Otherwise, try to cut them out and keep a clean and crisp look to what you have created. At the end of the day, users want two things. The first is that they want an app that can help them solve whatever issue your app seeks to solve. The second is an app that has a user-friendly and clean look to it. You can give them both of those things if you just work with what you have created to make it as smooth and seamless as possible. It is not as challenging as you may at first believe. Give it a try, and discover a whole new world of possibilities.
July 24, 2022
by Dan Dyer
· 14,978 Views · 1 Like
article thumbnail
5 Must-Have Features of Full-Stack Test Automation Frameworks
These examples of DevOps-ready test automation framework features show what is needed for cross-platform and cloud readiness, troubleshooting, and more.
Updated July 22, 2022
by Anton Angelov
· 16,504 Views · 3 Likes
article thumbnail
CI/CD Pipelines and Caching of Dependencies on Azure DevOps
Follow a brief explanation of CI/CD and how to implement caching of Maven dependencies in the pipelines while deploying your Mule application to CloudHub.
July 22, 2022
by Rahul kumar
· 12,847 Views · 6 Likes
article thumbnail
Conversion Rate Optimization Strategies
This article will discuss how to increase your website's overall conversion rate, as well as boost your email subscriptions or product purchases.
July 21, 2022
by ali Tariq
· 5,703 Views · 1 Like
article thumbnail
Learn How To Use DynamoDB Streams With AWS Lambda and Go
This blog post will help you get quickly started with DynamoDB Streams and AWS Lambda using Go. It will cover how to deploy the entire solution using AWS CDK.
July 21, 2022
by Abhishek Gupta DZone Core CORE
· 35,231 Views · 4 Likes
article thumbnail
Top 13 Mobile App Development Platforms You Need
There are just so many new app development platforms in the market. Here is a list of 13 mobile app development platforms that you need to know about.
July 21, 2022
by Milap Chavda
· 5,516 Views · 2 Likes
article thumbnail
Invoking an AWS Lambda Function During a CDK Deployment
Custom Resources in AWS CDK are powerful and give you much flexibility. You can leverage the Provider framework when you need more than a single API call.
Updated July 20, 2022
by Jeroen Reijn DZone Core CORE
· 3,931 Views · 2 Likes
article thumbnail
How to Host a Static Website on AWS With S3, CloudFront, Route53 and Terraform
Deploy a website on AWS using S3, CloudFront and Route 53 as the main services and Terraform as the infrastructure as code deployment tool.
July 20, 2022
by Faizan Raza
· 4,155 Views · 4 Likes
article thumbnail
Automated Functional Testing: A Step-by-Step Guide
This article will introduce functional testing and automation to test a web-based application.
July 19, 2022
by Gabriele Piantadosi
· 9,485 Views · 4 Likes
article thumbnail
How to Install Grafana Loki Stack Using AWS S3 Bucket
Most organizations that utilize DevOps principles and tools require a logging system to cover the shortcomings of Prometheus.
July 19, 2022
by Chase Bolt
· 6,963 Views · 1 Like
article thumbnail
Access Undenied on AWS
Access Undenied on AWS is a new open-source tool that parses AWS AccessDenied CloudTrail events, explains the reasons for them, and offers actionable fixes.
July 18, 2022
by Noam Dahan
· 3,020 Views · 2 Likes
article thumbnail
Regression Testing in CI/CD and Its Challenges
Regression testing ensures no new mistakes have been introduced to a software application by testing newly modified code as well as anything potentially affected.
July 15, 2022
by Toral Mevada
· 8,492 Views · 1 Like
article thumbnail
API Security Weekly: Issue 168
Learn about API vulnerability in Safari 15 leaking user info, vulnerabilities in AWS, and a podcast with Rinki Sethi and Alissa Knight discussing API security.
July 15, 2022
by Colin Domoney
· 7,256 Views · 1 Like
article thumbnail
AWS Lambda Provisioned Concurrency AutoScaling Configuration With AWS CDK
This article presents a quick intro to provisioned concurrency scaling and strategies.
July 14, 2022
by Jeroen Reijn DZone Core CORE
· 4,462 Views · 2 Likes
article thumbnail
Test Management for QA Engineers
A QA Engineer participate in projects ranging from small maintenance projects, emergency fixes, and mid-range projects to large full-scale projects.
July 14, 2022
by Ayesha Janvekar
· 7,932 Views · 2 Likes
article thumbnail
It’s Time to Use a Data Privacy Vault
If you work with sensitive data, using a data privacy vault is a great way to protect that data without sacrificing data utility. Let me show you how.
July 14, 2022
by John Vester DZone Core CORE
· 90,544 Views · 5 Likes
article thumbnail
Best Runtime for AWS Lambda Functions
This blog contains comparative analysis to get best runtime for AWS Lambda functions.
July 13, 2022
by Emin Bilgic
· 8,453 Views · 3 Likes
article thumbnail
Overcoming Challenges in End-To-End Microservices Testing
In this guide, we will address critical challenges in end-to-end microservices testing and how you can solve them by staying in sync.
July 12, 2022
by Vivek Mannotra
· 7,859 Views · 2 Likes
article thumbnail
Cloud Security Testing Checklist: Everything You Need to Know
We will go through the essentials of cloud security testing and provide a comprehensive checklist to ensure your cloud environment is safe from attack.
Updated July 12, 2022
by Varsha Paul
· 4,281 Views · 3 Likes
  • Previous
  • ...
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • ...
  • Next
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook
×