• Breaking News

    Saturday, March 20, 2021

    Android Dev - App Feedback Thread - March 20, 2021

    Android Dev - App Feedback Thread - March 20, 2021


    App Feedback Thread - March 20, 2021

    Posted: 20 Mar 2021 07:00 AM PDT

    This thread is for getting feedback on your own apps.

    Developers:

    • must provide feedback for others
    • must include Play Store, GitHub, or BitBucket link
    • must make a top level comment
    • must make an effort to respond to questions and feedback from commenters
    • app may be open or closed source

    Commenters:

    • must give constructive feedback in replies to top level comments
    • must not include links to other apps

    To cut down on spam, accounts who are too young or do not have enough karma to post will be removed. Please make an effort to contribute to the community before asking for feedback.

    As always, the mod team is only a small group of people, and we rely on the readers to help us maintain this subreddit. Please report any rule breakers. Thank you.

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

    Fleksy co-founder is suing Apple over lost revenue resulting from App Store scammers

    Posted: 19 Mar 2021 09:40 PM PDT

    How do I get my custom AOSP build to allow ADB over network WITHOUT any USB?

    Posted: 20 Mar 2021 05:35 AM PDT

    What are some US companies with excellent large scale engineering other than FAANG for Android?

    Posted: 20 Mar 2021 07:03 AM PDT

    As Android devs, we are somewhat limited in terms of getting jobs at FAANG companies. Apple obviously does not hire many Android devs. Netflix and Amazon also do not have huge focus on native development (at least I do not see many Android job postings from them). That only leaves us with 2 of the FAANGS, Google and FB.

    What are some near-FAANG or other companies close to these that hire Android engineers? Looking for engineering excellence and an environment where I can really learn how to build top notch large scale software.

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

    Looking for advice

    Posted: 20 Mar 2021 06:06 AM PDT

    I am ready to publish my app. Would it be a good idea to add in app purchases and ads even though it is new? Or should I just wait until it has thousands of downloads?

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

    I've just open-sourced a project built with the latest tools and libraries called Gamedge.

    Posted: 19 Mar 2021 05:15 AM PDT

    How do we create a full screen intent for phone call

    Posted: 20 Mar 2021 05:29 AM PDT

    As the title says, I know we have to use notifications with setFullScreenIntent. However, I have noticed a weird behavior where the the full screen intent is only visible via the lock for the first time after the app has been in the foreground. Swiping the app away from the background and making a call after 30-40 mins only triggers a notification on the lock screen without the full screen intent.

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

    Does anyone have any experience releasing to Samsung's Galaxy Store? If so, what kind of install base do you have there?

    Posted: 19 Mar 2021 03:45 PM PDT

    A friend got a new phone and asked me to remove some bloatware. It was one of the newer Samsungs, I don't remember exactly which one.

    I noticed immediately of course, that Samsung really pushes the user into their ecosystem, fair enough. I'm just curious if anyone has a personal or work app with a large number of downloads. My work app hovers around 400k users, mostly Samsung devices (due to their market saturation, I guess)

    It feels like there may be a whole new userbase waiting out there, but I could be wrong.

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

    Android reverse engineering for beginners - Dexcalibur - Braincoke

    Posted: 19 Mar 2021 01:57 PM PDT

    To export content outside of the Application process stored in Room database, do we need to use Cursor or is there a more modern approach?

    Posted: 20 Mar 2021 08:04 AM PDT

    In the 10th section of this codelab @ EntryPoint annotation: Using Hilt in your Android app, there is an example that uses Cursor.

    Quoting the text:

    We want to be able to export our logs outside our application process. For that, we need to use a ContentProvider. We're only allowing consumers to query one specific log (given an id) or all the logs from the app using a ContentProvider. We'll be using the Room database to retrieve the data. Therefore, the LogDaoclass should expose methods that return the required information using a database Cursor. Open the LogDao.ktfile and add the following methods to the interface.

    Is this the modern approach or is there some Jetpack or recommended approach for that?

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

    AdMob implementation with coarse and fine location permissions

    Posted: 20 Mar 2021 07:32 AM PDT

    Anyone advantages of using coarse and fine location permissions when using AdMob? My app per say does not require any location updates when in foreground or background. Wouldn't these permissions be nice/required to show local ads instead of irrelevant ads?

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

    Can anyone help me understand the difference between enums and typedefs and how to use them?

    Posted: 19 Mar 2021 04:25 PM PDT

    I posted a question on stack overflow last night, but I figured I would try my luck here as well. I'll keep it a bit brief here and link to the stack overflow post.

    The Short:

    I am working on an app in Kotlin and need to have a set of int constants to use in comparison statements. Specifically, I'm using it to check the result code in the app of sending a purchase to be verified on the backend so I can display an appropriate message. I'm being told to use typedefs, but I can't get it to work right and the other side of the argument is to "just use enums in modern development". Enums aren't working either, so I'm at a bit of a stand still.

    The Long:

    All of the code can be seen in the stack overflow post. I am working on integrating in-app billing to comply with the latest rules. The Google Play Billing library has a pattern of inner constants (e.g., Purchase.PURCHASED) to use when checking things like purchase states: purchase.purchaseState == PurchaseState.PURCHASED or result.responseCode == BillingClient.BillingResponseCode.OK.

    We also have an iOS and web app, so we have a database and a backend that handles all billing actions to sync the in-app purchases on each platform to ensure cross-platform access no matter which platform the user purchased their subscription on. As such, I send each Android purchase to the backend to be verified. To help with this, I made two data classes: AcknowledgementRequest and AcknowledgementResponse.

    The server will send back a boolean of whether the purchase was processed and an int response code with more info (e.g., OK, INVALID_TOKEN, ALREADY_EXISTS). These two values are bundled into the AckReponse data class, but I also need a set of constants to use in comparison statements to display the correct message to the user: if(response.responseCode == AcknowledgementResponse.ResponseCode.OK) Log.i("Yay!")

    I've done quite a bit of digging the last few days and it seems I need to use a typedef annotation. When looking at the decompiled class file for the Billing library, this exactly what they do (BillingResponseCode is the specific pattern I'm looking at). I can't get that to work. I did some more digging and saw no other androidx libraries really seem to use this pattern and use enums. I've been told enums are bad, but I gave it a shot. I wasn't able to get enums to work either.

    The Summary:

    I need to have a class that also has an inner representation of int constants to follow a pattern like/similar to this: AcknowledgeResponse.ResponseCode.OK. I've tried typedefs and enums, neither seem to work, and I don't know how to make them work or a different pattern to use aside from a companion object with a bunch of const vals. Any help would be appreciated!

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

    Tips to improve app store ranking

    Posted: 19 Mar 2021 11:37 AM PDT

    Today, having visibility of an app in the play store and app store is difficult. Showing your app in front of the user is becoming more difficult when it is new. Below are some ways which can improve app store ranking and app downloads.

    Keywords

    • Use relevant keywords in the app title, subtitle, descriptions, developer name, user reviews and package name to improve app store ranking.
    • Use call-to-action text in description and screenshot.
    • Description support emojis and limited html tags. Use them to make the description organized and interesting. ### App Indexing
    • In simple terms, app indexing is a way for google to crawl your mobile app content like a website and a deep link is a way to handle passed url in the app.
    • Index your app on google using app indexing and deep links/universal link(ios).
    • Use the available solutions like firebase app indexing and firebase dynamic links.
    • Analyze installed app user(including how user landed on your play store/app store page) using forwarded deep links.

    App update

    • Update app regularly to fix bugs or improve performance. If an app is not updated for a long time it shows you are inactive.
    • Ask user creatively like showing illustration/gif about new features, benefits, performance, etc. instead of just simple message to update the app.
    • Use network effects like whatsapp do (when someone sends a message from a new whatsapp version, a user with an old whatsapp version sees the message to update the app to view the message).

    Feedback

    • Remove friction by asking for a review in the app instead of redirecting a user to play store/app store. Here is the official guide to do same for android and ios.
    • View, analyze, and reply to reviews faster using api or third party tools like Appfollow.
    • Top 3 relevant reviews are shown in the play store and app store. Make sure they looks good.

    And more

    • Offer app only benefits to increase app users like amazon app only deals, instagram.
    • Localize store listing based on culture, language, and trend(eg. made in india).
    • Run A/B experiments to test store listing(title, subtitle, description, screenshots, promo video, etc.)
    • Run beta program before major release to minimize risk.
    • Make developer page in play store.
    • Minmize app size
    • Use play store and app store ad.

    Thank you for reading.

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

    How do you make Bitmaps clickable?

    Posted: 20 Mar 2021 01:23 AM PDT

    I made a simple screen with two flying bird animations using SurfaceView and Bitmap. I'm now trying to add an OnClickListener to each animation, I want different sounds to be played depending on which animation is clicked using SoundPool but for now, I have just added a toast message to see if the OnClickListener works.

    I'm not sure how to go about this, the method I am currently trying is that I have added two different ImageButtons in the XML file and attach those ImageButtons to my Bitmaps. I have added all the code but I think the problem lies in the draw() method.

    Log

    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageButton.setImageBitmap(android.graphics.Bitmap)' on a null object reference

    Code

    public class PlayActivity extends AppCompatActivity { surfaceView view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); view = new surfaceView(this); setContentView(view); } public class surfaceView extends SurfaceView { public surfaceView(Context context) { super(context); new Anim().start(); } private class Anim extends Thread { int counter = 0; int counter2 = 0; @Override public void run() { long last_updated_time = 0; long delay = 150; int[] purple_bird = { R.drawable.bird1, R.drawable.bird2 }; int[] red_bird = { R.drawable.red1, R.drawable.red2, R.drawable.red3, R.drawable.red4, R.drawable.red5, R.drawable.red6, R.drawable.red7, R.drawable.red8, R.drawable.red9, R.drawable.red10 }; while (true) { boolean playing = true; if (playing) { long current_time = System.currentTimeMillis(); if (current_time > last_updated_time + delay) { if (counter >= 2) { counter = 0; } if (counter2 >= 4) { counter2 = 0; } draw(purple_bird[counter], red_bird[counter2]); last_updated_time = current_time; counter++; counter2++; } } } } private void draw(int red_bird, int purple_bird) { SurfaceHolder holder = getHolder(); Canvas canvas = holder.lockCanvas(); if (canvas != null) { canvas.drawColor(Color.WHITE); Paint paint = new Paint(); Bitmap purpleBird = BitmapFactory.decodeResource(getContext().getResources(), purple_bird); Bitmap redBird = BitmapFactory.decodeResource(getContext().getResources(), red_bird); Bitmap resizedRedBird = Bitmap.createScaledBitmap(redBird, (int) (redBird.getWidth() * 0.1), (int) (redBird.getHeight() * 0.1), true); Bitmap resizedPurpleBird = Bitmap.createScaledBitmap(purpleBird, (int) (purpleBird.getWidth() * 0.4), (int) (purpleBird.getHeight() * 0.4), true); canvas.drawBitmap(resizedRedBird, 100, 100, paint); canvas.drawBitmap(resizedPurpleBird, 100, 600, paint); holder.unlockCanvasAndPost(canvas); ImageButton imgBtnPurple = (ImageButton) findViewById(R.id.imageBtnPurple); imgBtnPurple.setImageBitmap(resizedPurpleBird); imgBtnPurple.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(),"Hello Purple Bird", Toast.LENGTH_SHORT).show(); } }); ImageButton imgBtnRed = (ImageButton) findViewById(R.id.imageBtnRed); imgBtnRed.setImageBitmap(resizedRedBird); imgBtnRed.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(),"Hello Red Bird",Toast.LENGTH_SHORT).show(); } }); } } } } } 
    submitted by /u/Typhann
    [link] [comments]

    Series of articles documenting my journey to becoming an Android Developer

    Posted: 19 Mar 2021 02:57 PM PDT

    This is the first article of a new series of articles called "Programming Journey" in which I document my journey to becoming a self-taught Android Developer.

    #Android #Java #Developers #Coding #androiddevelopers #javaprogramming #programming #developer #bloging #bloggers #bloggingcommunity #blogpost

    Link to Post: https://lifeinstory.blog/programming-journey-the-beginning/

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

    App immediately minimizes each time it’s opened

    Posted: 19 Mar 2021 05:31 PM PDT

    Disclosure: I'm extremely new with android dev

    My issue is after I build and sign my apk. No apparent errors and I can install on Bluestacks, Androidtv box, etc. But whenever I launch the app, it opens, then instantly minimizes.

    The app doesn't die. It just keeps minimizing. I can open it as many times as I want and it equally minimizes itself as many times.

    And ideas where I should be looking?

    Thanks!

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

    Managing flaky tests in Jetpack Compose

    Posted: 19 Mar 2021 12:43 PM PDT

    If apps have root access whats stopping an app from giving root access interfaces

    Posted: 19 Mar 2021 02:03 PM PDT

    Why can my app change certain functions but i cant

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

    What do you think is the best way to go about making a virtual keyboard?

    Posted: 19 Mar 2021 12:25 PM PDT

    What do you reckon is the best way to mkae a virtual keyboard application that takes inputs like a keyboard?

    submitted by /u/TJ-Art
    [link] [comments]

    Privacy policy inside the App/game required? or privacy policy on the store listing page is already enough?

    Posted: 19 Mar 2021 11:16 AM PDT

    No comments:

    Post a Comment