• Breaking News

    Tuesday, November 26, 2019

    Android Dev - How does the issue tracker works? Is it worth to write bugs there ?

    Android Dev - How does the issue tracker works? Is it worth to write bugs there ?


    How does the issue tracker works? Is it worth to write bugs there ?

    Posted: 26 Nov 2019 04:51 AM PST

    I was wondering how does the Issue Tracker works and if it's worth spending time writing bugs in there.

    My personal experience is like this:

    1. I reported a small bug in Navigation Component, which was easy for them to fix, they fixed it and I got an answer in like 2 days.

    2. I reported a bug also in Navigation Component, 3 weeks no update.

    3. I was having problems with Paging Library, found out more people have the same problems. There are a couple of issues on their IssueTracker. One of them is from 2017 and was closed as "Won't fix" because as they say it's not a problem of the Library but of the RecyclerView. Another one is open for like one year without any update from Google.

    For example number 3 is really causing an issue in my project and I don't know what should I do, should I wait for a "possible" update or should I look into other Implementations without Paging Library. When looking at Paging Library Issues, it looks like it is abandoned, a lot of open bugs and feature requests without updates. As they said that it's a RecyclerView problem, I created another issue but already for RecyclerView, but Google doesn't seem to be active there as well.

    So correct me if I am wrong. For me bug reporting is like helping developers create a better product. So how can I be motivated to report bugs if I'm not getting any feedback? If the bug is not in your product but from other team just close it as in case Nr. 3? Seriously? Why not notify the other team about it or move it to their board?

    Here are the issues I was talking about:

    1. https://issuetracker.google.com/issues/136021571 - Quick Fix

    2. https://issuetracker.google.com/issues/143828487 - No response

    3. https://issuetracker.google.com/issues/72614329 - "Won't fix" case https://issuetracker.google.com/issues/129513680 - Open for almost 1 year and no update https://issuetracker.google.com/issues/144887174 - Moved to RecyclerView board

    Another 2 good examples I know about are these:

    https://issuetracker.google.com/issues/79672220

    https://issuetracker.google.com/issues/80029773

    just look what happens in the comments. Everyone is constantly asking for update or they just write +1.

    submitted by /u/iAmMONK
    [link] [comments]

    Stand The Test Of Time: An OkCupid Guide To Maintainable Unit Testing

    Posted: 26 Nov 2019 07:55 AM PST

    Why Discord is dropping support for Android 4

    Posted: 25 Nov 2019 12:03 PM PST

    Using Coroutines and Flow with Android MVVM architecture

    Posted: 25 Nov 2019 10:33 PM PST

    Fetching and updating MediaStore data on Android 10

    Posted: 26 Nov 2019 03:22 AM PST

    I have a gallery app, which allows sorting files by Date Taken value. The file EXIF always contains proper value, but it is too slow. To speed up the Date Taken value fetching, I'm relying on the data that comes from the devices MediaStore. However, that is sometimes incorrect.

    I have a function for fixing the Date Taken value in the MediaStore, which fetches the proper dates from file EXIF one by one, then updates them in the MediaStore. That worked just fine up to Android 9.

    Android 10 prevents accessing files in MediaStore directly by path though, as the DATA field has been deprecated. So I have 2 questions.

    1. How should I fetch Date Taken values of thousands of files so that it isn't way too slow? Using ContentResolver.openFileDescriptor() just isn't quick enough.
    2. With the new way of fetching data, how can I update the Date Taken value, in case it isn't filled correctly?

    Thanks

    submitted by /u/tibbbi
    [link] [comments]

    Ad related question admob

    Posted: 26 Nov 2019 08:00 AM PST

    Is it oky to test "test" ad using vpn on my device if fill rate is zero in my country?

    submitted by /u/cumul00nimbus
    [link] [comments]

    Android Studio 3.6 Design Tools UX Changes — Split View

    Posted: 25 Nov 2019 03:23 PM PST

    The Hero’s Journey of Coding

    Posted: 25 Nov 2019 06:00 PM PST

    See full post with images: https://loopinput.com/the-heros-journey-of-coding/

    Almost universally learning to code is hard. It is hard and it is frustrating. Resources to go from 0 to 1 as a beginner are easy to find but figuring out the path from 0 to mastery are not.

    The modern coding environment only complicates this as more and more options, tools, frameworks, and potential paths are invented. These options are designed to make coding more manageable, but for a beginner can be overwhelming.

    My goal here is to lay out a clear, structured path from 0 to mastery I call "The Hero's Journey of Coding." The Hero's Journey is hard. The Hero's Journey will be frustrating and will feel hopeless at times. But the Hero's Journey works.

    I heavily based the strategy on research from Cal Newport (computer science professor at Georgetown University) and Barbara Oakley (professor of engineering at Oakland University), as well as on a large body of research into learning, and more specifically, learning technical subjects.

    Learning to code is a non-linear process and forcing a strictly linear structure on it will slow your learning process. It is analogous to learning a language.

    Two hypothetical people start studying Mandarin at the same time with no prior knowledge of the language. One begins a course that promises mastery of the language by the end of the course. The other takes the same course… but supplements it with reading books in Mandarin, watching shows in Mandarin on Netflix, speaking to Mandarin-speaking people in his or her area every day, listening to the news in Mandarin, listening to podcasts in Mandarin, memorizing Mandarin grammar structures and vocabulary words, switching to the Chinese servers in the online games they play, asking about aspects of the language that confuse them in Mandarin language forums etc.

    Because the second person is varying their types, contexts, and methods of learning, they will learn Mandarin surprisingly faster than the first person while preventing burnout by altering the kind of cognitive load they place on their brain.

    Additionally, since the gains are cumulative, the second person will exponentially approach mastery faster. This approach is backed by research. If you want to look into it further, Harvard has an excellent compilation of research into the topic here: https://bsc.harvard.edu/study-tips-guides

    Differing your types and content of learning also promotes neurogenesis (production of new neurons in the brain). Here is a study on the fact: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3445739/. The other thing proven to increase neurogenesis, by the way, is exercise (specifically aerobic exercise). The same study linked covers that topic as well if you are interested.

    In this guide, I've put together the findings of this research into an actionable sequence I call "The Hero's Journey of Coding."

    Some parts of this guide, particularly towards the end, will upset people and may be construed as overwhelming or discouraging towards beginners.

    I've purposely constructed this guide to be the antithesis of the other guides I've read (and I've read hundreds) which have been too vague, too introductory, and too afraid to get into the nitty-gritty of how the actual process usually looks.

    What I lay is not the only way to learn, but it is a research-backed, experientially backed, and effective way to learn. Here I offer the gory details of the whole process, so I hope you are ready.

    The Call to Adventure: A Guided Introduction

    The first step in the hero's journey is a guided introduction. Before a hero can pursue his core quest, he must learn the ropes. This most often comes in the form of a course, often a video course.

    You are going to want to find a long-form introductory course (minimum should be 40 hours). You can start by going to Udemy and sorting by duration (https://www.udemy.com/topic/javascript/?duration=extraLong&sort=popularity). Other popular alternatives are the Odin Project (https://www.theodinproject.com/) or Code Academy (https://www.codecademy.com/).

    Two instructors I personally like are (https://www.udemy.com/user/maximilian-schwarzmuller/) and (https://www.udemy.com/user/coltsteele/). But make no mistake, this course is just going to give you the shallowest feel for what you are about to pursue.

    You will begin to get the breadth of what you need to learn. You will start to know the tools, frameworks, terminologies, and places to look for knowledge.

    Don't worry too much about the language or frameworks that you start with as long as they fit your end goals and are popular. Coding languages are not like spoken languages; once you know one in-depth, you can pick up others fairly quickly. So the language you start with will not doom you down the line if it falls out of popularity. Also, as you become more knowledgeable, you can make a switch if necessary.

    Don't fall prey to language and framework "paralysis by analysis" and instead do a week's worth of research and then dive in and commit at this stage to the course, language, and framework you have chosen. Finish the entire thing from start to finish.

    Other alternatives to a video course are classes or boot camps if that is more your style. If you went to school for something like computer science or have the equivalent experience already, you can skip this step entirely.

    Think of the guided introduction as defeating the low-level beasts you need to get from level 1 to level 10. Make no mistake, some of these "low-level beasts" will be formidable.

    In fact, the low-level beasts are often a more significant obstacle than the higher level beasts that will come along later because your skills will scale up faster than your enemies.

    You are going to need a little help. It's time to consult the oracle.

    Supernatural Aid: Consult the Oracle

    Who is the oracle? The oracle is known by the mystical name "Google." You can ask the oracle anything, but you need to ask it the right way.

    As you ask the oracle more questions, you will get better and better at divining answers from her mystical responses, which may often lack context and appear unusual. Often answers will appear in coding forums like Stack Overflow (https://stackoverflow.com/).

    Sometimes you will find out your question has already been asked and the answer is already available. At other times, you will find out that you must ask the question yourself.

    As you go further along, you will never stop Googling but the answers to your questions will more rarely appear as they get more technically complex and more specific.

    The Vision Quest: Your Core Quest:

    You cannot keep dispatching low-level beasties forever. You need to pursue your core quest. Your core quest is a project which you continually build on and improve as you learn more.

    The core quest should start as soon as the guided introduction is finished. You need to learn how all the concepts tie together and work in the real world. The less like a simulation and the more like your end goal the core quest is, the better.

    The core quest will start out humble but will develop into a save the world scenario. The core quest is what you never lose focus on and is the most crucial part of the journey. All the other parts of the journey are to supplement the core quest.

    The core quest is from where the glory and victory in the Hero's Journey comes from.

    Descent Into the Underworld: Do Battle

    As you pursue your core quest, you must do battle with great foes to improve your skills. These foes come in the form of coding challenges from sites like leetcode (https://leetcode.com/), codewars (https://www.codewars.com/), or hackerrank (https://www.hackerrank.com/).

    Coding challenges are a different kind of coding than your core quest or guided introduction. You want to pursue different types of knowledge paths so you don't burn out doing the same kind of learning. Remember, research indicates that diversifying your learning strategy exponentially improves your path to mastery.

    Start with the most manageable problems and eventually try to work your way up to the hardest ones. Try to make it a goal to do every single problem in the site in your chosen language if possible.

    The Master of Two Worlds: Learn from the Masters

    As you slay great enemies, you will feel the need to go more in-depth in specific subcategories of battle. This is where you consult the masters.

    The masters have created great tomes for you to pore through. Using Javascript as an example, start with the thinner tomes (https://eloquentjavascript.net/) and work your way up to the great towering tomes (https://www.amazon.com/gp/product/B07FK9VBD7/?ie=UTF8&%2AVersion%2A=1&%2Aentries%2A=0).

    This does not come after your core quest or doing battle but is interspersed between. As you pursue your core quest and do great battles with enemies, you will need to take breaks to regenerate and refresh yourself. That is when you read these great tomes.

    Ascension, Apotheosis, and Atonement: Arcane Knowledge

    The tomes will give you great knowledge but you will find yourself thirsting for the more arcane and specific knowledge. This is the last part of the coder's journey.

    The arcane knowledge is the documentation itself. This is the raw, unfiltered, incantations. You will learn sick and unnatural abilities from these arcane sources. Start out by reading the documentation as a reference point beginning with the core quest but the spells and incantations are brief and specific, and so, should eventually be memorized.

    The documentation itself is usually brief enough to be fully digested overtime. I suggest turning the entire documentation for the tools, frameworks, and languages you use into online flashcards using something like quizlets (https://quizlet.com) and gradually memorizing them.

    So, for example, if you are a web developer using MongoDB, Express.js, and Node.js that would include the entire mdn docs (https://developer.mozilla.org/en-US/), MongoDB docs (https://docs.mongodb.com/), Express docs (https://expressjs.com/en/api.html), and Node.js docs (https://nodejs.org/en/docs/). It would also include any tools you use like Bootstrap (https://getbootstrap.com/docs/4.3/layout/overview/) or Mongoose (https://mongoosejs.com/docs/api.html). If you use it and it has docs, include it.

    This may seem overwhelming, but you would be doing this over a long, long period of time and piece by piece. Evidence that this strategy is effective: https://bsc.harvard.edu/files/smarter_studying_8-10-16.pdf

    Having the documentation memorized is a sick and powerful ability. This is the most grueling, controversial, and formidable-sounding part of the hero's journey, which is why I saved for last.

    This comes after you have slain your great foes and have completed most of the journey and are searching for that last, last edge to push you over the top into glory.

    Go forth, hero, and find your glory.

    submitted by /u/MasterCode3
    [link] [comments]

    android-gif-drawable vulnerability (cert.org)

    Posted: 25 Nov 2019 01:14 PM PST

    Bottom Navigation Activity

    Posted: 26 Nov 2019 12:02 AM PST

    So like it's been a few days and i'm still trying to wrap my head around this Bottom Navigation Activity thing in Android studio, I'm using the preset that Android studio created for me. Are there any guides that explain the code inside the auto generated activity? How can I use the fragments and viewmodels to achieve my goal of a wallpapers app?

    submitted by /u/rapphyyy
    [link] [comments]

    Clicking on notification message creates another application

    Posted: 25 Nov 2019 11:39 PM PST

    Hello,

    I have simple activity application that starts MQTT client on `onCreate` event.

    protected void onCreate(Bundle savedInstanceState)

    {

    super.onCreate(savedInstanceState);

    Log.v("Mqtt","MainActivity.onCreate");

    setContentView(R.layout.activity_main);

    startMqtt();

    }

    Each time I receive message from MQTT server notification procedure is executed:

    private void showText(final String text)

    {

    Log.v("Mqtt", "The message is: " + text);

    //Create a notification builder

    NotificationCompat.Builder builder =

    new NotificationCompat.Builder(this)

    .setSmallIcon(android.R.drawable.sym_def_app_icon)

    .setContentTitle("some info")

    .setContentText(text)

    .setPriority(NotificationCompat.PRIORITY_HIGH)

    .setVibrate(new long[] {0, 1000})

    .setAutoCancel(true);

    //Create an action

    Intent actionIntent = new Intent(this, MainActivity.class);

    PendingIntent actionPendingIntent = PendingIntent.getActivity(

    this,

    0,

    actionIntent,

    PendingIntent.FLAG_UPDATE_CURRENT);

    builder.setContentIntent(actionPendingIntent);

    //Issue the notification

    NotificationManager notificationManager =

    (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    notificationManager.notify(NOTIFICATION_ID, builder.build());

    }

    Each time I click on notification message new instance of application is created and new connection to MQTT is established.

    Why clicking on notification message creates new instance of application? How to solve problem with many appearing of multiple instances of application and MQTT clients?

    submitted by /u/columncolumn
    [link] [comments]

    Before I start - Is this possible?

    Posted: 25 Nov 2019 02:12 PM PST

    I want to build an app for users to be able to track their friends in 'real time' (GPS updated every minute or so).

    My plan is to set up a background service and send the lat/long to a firebase database whilst simultaneously pulling the most recent lat long of 'friends' and display these on a map.

    This is only my second app and waaaay more complex than my first, so I wanted to know if this sounds possible before I get stuck in. I've built the map/markers etc no problem but concerned that the upload/download to a server will be clunky or not possible.

    Is there a better way to go about it?

    Are there any potential pitfalls I should keep an eye out for?

    Thanks in advance!

    submitted by /u/WhiteCheeks
    [link] [comments]

    Seriously, please help me.

    Posted: 26 Nov 2019 06:20 AM PST

    I created an Android app for my school newspaper using appsgeyser.

    There is an appsgeyser about dialogue on the info page. Is there a way to edit the Apk to get rid of the about dialogue?

    I posted this before and it got downvoted by everyone. Please, I just need help.

    I'm willing to send the Apk to anybody who wants to help, but I don't want to make it public.

    submitted by /u/xcamden
    [link] [comments]

    Obscure or not?

    Posted: 25 Nov 2019 02:56 PM PST

    Reference: https://github.com/udacity/andfun-kotlin-mars-real-estate/blob/Step.08-Solution-Adding-a-Filter/app/src/main/java/com/example/android/marsrealestate/detail/DetailViewModel.kt

    This is a snippet of code from the Udacity course Developing Android Apps with Kotlin:

    // The displayPropertyType formatted Transformation Map LiveData, which displays the

    // "For Rent/Sale"

    val displayPropertyType = Transformations.map(selectedProperty) {

    app.applicationContext.getString(R.string.display_type,

    app.applicationContext.getString(

    when (it.isRental) {

    true -> R.string.type_rent

    false -> R.string.type_sale

    }

    )

    )

    }

    It references these string definitions:

    <string name="type_rent">Rent</string>

    <string name="type_sale">Sale</string>

    <string name="display_type">For %s</string>

    Doesn't that seem like an overly complicated way to conditionally set displayPropertyType to "For Rent" or "For Sale" ?

    submitted by /u/dave0814
    [link] [comments]

    I haven't written an app in years. I need advise.

    Posted: 25 Nov 2019 02:06 PM PST

    I've wrote a few basic apps a few years ago. I haven't done any android development since then so I'm very rusty.

    I recently got an idea for an app but I'm not sure what would be the best approach.

    Basically the app would show an image of the top-down layout of a building. Each room will have a name. When the user touches the room label, the app will show a real image from inside that room. The room label will be located in the center of a room like in this picture(not mine)

    I'm not sure what the best approach would be for making the room labels be buttons. I have a few ideas.

    1. Get touch coordinates and check if it's within the area of a label.

    2. Is there a way to anchor android buttons to a specific point on an image? The user must be able to zoom in and pan around the image.

    submitted by /u/TastyStatistician
    [link] [comments]

    Questions in junior Android Dev Review

    Posted: 25 Nov 2019 10:56 AM PST

    Hi,

    I got this Tuesday and interview for junior dev position.

    I know my way around basic android dev and a bit more (Kotlin, MVVM, Room, 3rd side libraries

    and design patterns and some other stuff...) but I wanted to ask, is there anything I should practice more for this position?

    i feel pretty confident but i just want to be sure...

    submitted by /u/michaelkatan
    [link] [comments]

    Developing for Fire OS

    Posted: 25 Nov 2019 10:21 AM PST

    I have a paid opportunity to make an app for Kindle Fire OS, which to my understanding is based on the Android OS. I have never done this before, but have developed on Android, I don't see many resources online - does anyone here have any experience with it? If so, is it that much different than developing for a standalone Android app? One of the important aspects of the app is that it must store data on the Kindle device itself

    Any good resources you could recommend would also be appreciated!

    submitted by /u/kevthedev12
    [link] [comments]

    Fabric vs Firebase Crashlytics Discrepancy

    Posted: 25 Nov 2019 05:06 PM PST

    Fabric vs Firebase Crashlytics Discrepancy

    Hi everyone,

    As the Fabric console is disappearing after March 31st, I have started using the Firebase console to look at crash reports. I noticed that for the exact same date range (Nov 19-25), Fabric reports 99.63% crash free users, while Firebase reports 98.84%. Also if I mouse over a particular day in the graph, for Nov 21 Fabric reports 99.73% while Firebase reports 97.55%.

    If I calculate total number of users based of the affected user count and crash free user percentage, for Fabric I get about 144K and for Firebase I get about 46K. Actual number of users for this time period is 193K in Google Analytics and 262K in Firebase, so while neither matches clearly Firebase is much further off.

    Am I crazy? Doing something totally wrong? Or is there an actual bug here? Would appreciate if any others can try and reproduce the issue. Thanks!

    https://preview.redd.it/6yxwcm46kx041.png?width=2993&format=png&auto=webp&s=9c38daf78f1a027412328c93813cf0124a5043e2

    submitted by /u/OldSchool85
    [link] [comments]

    “Add Push Notifications to Your Android Chat App Using Kotlin”

    Posted: 25 Nov 2019 10:59 AM PST

    Would you want an app that shows your texting statistics?

    Posted: 25 Nov 2019 04:35 PM PST

    I am thinking about developing an app that shows your texting statistics (who you text with the most, who responds to your messages the fastest and slowest, your favorite emojis, how often you text during the day, etc.). Would you want such an app?

    And if so, do you have any important features/design elements you want for this texting statistics app?

    Thanks!

    submitted by /u/arcialga
    [link] [comments]

    Force stop apps on exit, allow download but block uploading data?

    Posted: 25 Nov 2019 12:33 PM PST

    Hey guys how would I get an app to automatically force stop after pressing home. Also how would I allow downloads inside the app but block uploads (eg I can receive messages but I can't send any).

    submitted by /u/Damo108
    [link] [comments]

    No comments:

    Post a Comment