• Breaking News

    [Android][timeline][#f39c12]

    Saturday, November 27, 2021

    App Feedback Thread - November 26, 2021 Android Dev

    App Feedback Thread - November 26, 2021 Android Dev


    App Feedback Thread - November 26, 2021

    Posted: 26 Nov 2021 06:00 AM PST

    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]

    Extension function with 2 receivers in Kotlin 1.6.0

    Posted: 27 Nov 2021 04:53 AM PST

    Thoughts on compose

    Posted: 27 Nov 2021 12:44 PM PST

    I've been working with compose on a new project for the past half year now, and I mostly like it. The learning curve is minimal and I quite like the declarative approach to building UI.

    I'm working with a small team and one thing I'm having a problem with is how to organise the code, with the traditional way the XML views were quite heavily coupled with the associated Fragment/Activity it was usually quite easy to run the app, look at what was on the screen and then find the corresponding piece of UI/code in the app.

    But with compose, the UI code can literally be fucking anywhere, the deadlines for this project have been tight also so we've been sloppy with things like code review and we've not really had any conversations about UI architecture with the new compose approach and so I'm coming to the conclusion that it is much easier to write complete spaghetti with compose, and when several different people are throwing their spaghetti into the mix it can make for a not so fun time when diving into the UI.

    So if there was going to be a question here it would be, is there anything out there regarding architecture when using compose? How best should composable functions be organised?

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

    Best source to learn about multi module project in android

    Posted: 27 Nov 2021 11:21 AM PST

    can anyone please suggest me some source where I can learn the best way to setup a big multi module project and their communication.

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

    Fragment or Adapter

    Posted: 27 Nov 2021 09:34 AM PST

    I have an activity which contains a fragment to show feeds in list and there is a tab layout, having two tabs in this fragment and they show different list, and when there is no data for the selected tab ,error image with some text show on the screen.So,what would be a better approach here using two different fragment or just changing the adapter according to the tab selected?

    submitted by /u/Ok-Champion8217
    [link] [comments]

    How are the job opportunities for an android dev in India? Is it a good career choice?

    Posted: 27 Nov 2021 05:11 AM PST

    Telemetry library for Android suggestions

    Posted: 27 Nov 2021 10:39 AM PST

    I'm writing an Android app that will interact with a backend API I'm hosting on a cloud provider. I'd like to understand how users use my app, so I'd like to build in telemetry that tells me what the user did when and have that uploaded to my API periodically. Are there any prebuild solutions that do this, or get most (or even part) of the way there?

    OpenTelemetry seems to be designed to solve this, but I've been clicking on links there and it just goes deeper and deeper into marketing buzzwords and I have yet to see actual concrete implementations.

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

    Encrypting user data in-transit for User Messaging Platform SDK for Android

    Posted: 26 Nov 2021 11:43 PM PST

    Does User Messaging Platform SDK for Android encrypts user data in transit ? Data safety form in Play Console asks if all of the user data collected by your(my) app encrypted in transit.

    Information here does not explain how user data were transfered: https://developers.google.com/admob/ump/android/quick-start

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

    Drawer layout swipe

    Posted: 27 Nov 2021 04:52 AM PST

    I was implementing a side drawer in my app, the problem is that I have to swipe from the far left of the screen to open the drawer. Is there any way to set a larger margin to swipe on?

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

    Is a dedicated GPU relevant for emulator performance?

    Posted: 27 Nov 2021 06:36 AM PST

    Hello fellow devs,

    I'm currently collecting requirements for a new work laptop and I was wondering if I would need a dedicated GPU at all.

    The only thing I could think of was running the emulator for Android development, which is what I currently spend most of my working hours on. I usually never used the emulator on laptops and preferred my desktop at home, as the performance was too bad to get anything done. My former laptops had ok specs and did well for other dev tasks but never had a dedicated GPU, which is why I'm wondering.

    Does anyone know more about this or has good reading suggestions? Thanks in advance!

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

    Typical use of inline functions in Android apps?

    Posted: 26 Nov 2021 02:45 PM PST

    Hi :) Can you share where do you use inline fun() in your projects? What is best practice to use them? Any thoughts on inline functions will be appreciated.

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

    Two mutables don’t make a right

    Posted: 26 Nov 2021 04:32 PM PST

    Romain and Chet showed us how to start building a UI framework. There is a ton of knowledge packed in this episode ��

    Posted: 26 Nov 2021 01:32 AM PST

    Is it a good practice to cache AlertDialogs and AlertDialog.Builders?

    Posted: 26 Nov 2021 10:31 AM PST

    I was thinking whether creating new dialogs and dialog builders are actually heavy tasks to perform or not and whether caching them is going to be helpful or not because caching itself needs memory and finding the proper dialog to use later on needs iteration over cached dialogs.

    What do you think?

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

    Kaspresso 1.4.0: Jetpack Compose support (early access)

    Posted: 26 Nov 2021 03:28 AM PST

    Kaspresso now officially supports Jetpack Compose (early access)!

    Protection from flakiness, waiting for elements to appear, logging, convenient DSL, etc. Everything as you like =)

    Your test may look like below: ```kotlin class ComposeSimpleFlakyTest : TestCase( kaspressoBuilder = Kaspresso.Builder.withComposeSupport() ) {

    @get:Rule val composeTestRule = createAndroidComposeRule<JetpackComposeActivity>() @Test fun test() = run { step("Open Flaky screen") { onComposeScreen<ComposeMainScreen>(composeTestRule) { simpleFlakyButton { assertIsDisplayed() performClick() } } } step("Click on the First button") { onComposeScreen<ComposeSimpleFlakyScreen>(composeTestRule) { firstButton { assertIsDisplayed() performClick() } } } // ... } 

    } ```

    Read additional information here.

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

    Share your experience on handling API request errors :)

    Posted: 26 Nov 2021 02:41 PM PST

    Hi Android devs! Stack: Retrofit, Okhttp, RxJava2 Imagine next: You have request to get list of cars objects, you have typical code:

    disposable.add(apiService .getListOfCars() .subscribe(cars -> { // Success response }, throwable -> { // Error response // Handle error // Check for error cause? }) );

    Questions: 1. In your apps do you check for error type, like HttpError, IOException, etc? 2. Do you post every error in onError() to Crashlytics as logException()? (we do and thus we have many non fatal errors like "Dns.class" which means user just had no connection) 3. Do you implement smth like RxJava Error CallAdapter? 4. Any best practice on this topic?

    Thanks!

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

    Can this be changed?

    Posted: 26 Nov 2021 08:37 AM PST

    Can this be changed?

    Hello, I am a music director for a college radio station and we are trying to get our app uploaded but there's an old account that has the same package name that I no longer have access to. Google will not delete it and will give access to the accounts. The packaged is designed by a radio hosting site and they say they can't change the name of the aab file because it is tied to our radio station ID. Can it be changed? Their suggestion was to change the station branding.

    https://preview.redd.it/6r92f6cea0281.png?width=698&format=png&auto=webp&s=30248f1445bb3f0cc36f8dd4aec30a4eba761636

    submitted by /u/False-Mix462
    [link] [comments]

    Is simple case of creating multiple files and giving the user an easy access to them is impossible with Stored Access Framework?

    Posted: 26 Nov 2021 07:25 AM PST

    This is kind of an open question and a pretty long one. First a quick TL;DR:

     

    I want to able to: * create multiple files in a directory of my or user's choice * "pre-selecting" one of those files for user, by storing its uri/path and displaying its name and/or path to user * have file's location easily accesible to user, by either: - showing him meaningful path to currently selected file - showing only file's name, but showing file's location immediately, when user tries to select another file (done with use of Intent with ACTION_OPEN_DOCUMENT action and DocumentsContract.EXTRA_INITIAL_URI extra) * preferably use Intent with ACTION_OPEN_DOCUMENT_TREE for selecting those files, to have system default's DocumentsProvider (file browser) be used, instead of implementing some custom file browser.

     

    For whatever reason I am unable to find a solution fulfilling all above requirements.


    Full description

     

    In my app in one of the settings, user has an option to provide custom configuration file instead of using default settings. To make things easier, a few example configuration files are created when he chooses this option for the first time and one of them is selected as a default. At this moment user should see on the settings screen which file is selected and should be able to easily find it in phone's storage, in case he wants to "play" with it. User is also able to select another file to be used in app (done by Intent with ACTION_OPEN_DOCUMENT action).

     

    For some reason, this pretty simple scenario seems to be almost impossible to achieve with SAF or generally on apps targeting Android 11+. Why? First let's list requirements of above scenario: 1. App has to create multiple files at once. 2. User should be able to easily navigate to the generated files location on his own, so he needs to know where are they stored. 3. App's behavior shouldn't depend on whether currently selected file was selected by the user, or was selected by default when files were created - it should display similar info and show similar location, when choosing to select another file.

     

    I tried multiple approaches and each of them either has a major drawback or simply is unable to fulfill one of above points. Below I list all of them:

     

    First problematic approach - creating files with use of ContentResolver

     

    This solution for creating multiple files in Android 11+ I found on StackOverflow.

     

    It seems to be nice and clean, allowing as to create files in system directories like Documents. Sounds good. What is the problem? This creation method returns Uri in format of: content://media/external/file/123 We can get file's name from this Uri, but not its location. I hoped at least when selecting a new file user could be first shown location of the currently selected one (this way learning its location) with use of DocumentsContract.EXTRA_INITIAL_URI for ACTION_OPEN_DOCUMENT action Intent, but unfortunately it is not working for Uri generated this way. So 3) is not satisfied.

     

    Sum up: Problem with finding the custom files by the user.

     

    Second problematic approach - creating files in getExternalFilesDir() directory

     

    Method Context.getExternalFilesDir() returns path to our app's folder, in which we can create files directly without problems and any permissions.

     

    Problems: 1. Path to app's directory is long and difficult to read. Uri's path for a file (Uri.fromFile(file) ) created there would look like below: /storage/emulated/0/Android/data/my.app.package.name.is.long/files/customFile.txt Even with /storage/emulated/0/ part somehow removed, we are left with long and incoveniant path. Also user has to find our folder among tens of other apps' folders.

    1. Of course Uri received in above way is useless when using mentioned DocumentsContract.EXTRA_INITIAL_URI, so can't go directly to folder with file when trying to select other custom files...

    2. When later user selects new file, depending on its location, Uri's path will be like: /document/primary:Android/data/my.app.package.name.is.long/files/customFile.txt - for file in the app's folder /document/home:FolderName/customFile.txt - for file in one of system directories (here Documents, so actually /Documents/FolderName/customFile.txt)

     

    Sum up: I feel it might be confusing for less tech savvy users.

     

    Third problematic approach - let user choose folder in which files are create, using Intent.ACTION_OPEN_DOCUMENT_TREE

     

    It is a nice approach, because we get Uri to a directory in which we will be able to create all the files we need and Uri's to those files will allow for usage of DocumentsContract.EXTRA_INITIAL_URI when selecting new custom file. Meaning, the user will have easy way of locating currently selected file (including the default one selected in beginning) and we won't have to deal with all different kind of paths, just showing file's name without a path.

     

    Problem: When using Intent.ACTION_OPEN_DOCUMENT_TREE, user is shown information that the app will have full access to all files currently stored in selected location, which might be scary. Especially, that when using this Intent the DocumentsProvider will usually open in phone's main directory... It would be better to provide some starting folder at this point, like Documents/MyAppName, but it requires Uri to pass to Intent using DocumentsContract.EXTRA_INITIAL_URI and I don't see a way of getting such Uri for a newly created folder.

     

    Sum up: might scare the user away. Also requires couple extra actions from user, like creating new folder, clicking through "On the next screen choose location in which custom files will be generated" information, etc., etc.

     

    Not suitable approach - using Intent with ACTION_CREATE_DOCUMENT action to create custom files

     

    That would be perfect solution, but it allows creation of a single file at a time, in effect requiring multiple "save as" processes for multiple custom files.

     

    I spent larger part of this week working on this problem, searching for different approaches, workarounds, dirty hacks and I couldn't find anything. Anyone experienced similar problem and/or knows solution for it?

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

    Is Google committed to AR on Android?

    Posted: 26 Nov 2021 01:06 PM PST

    I'm an iOS developer trying to understand Android's version of AR and I'm a bit puzzled. With AR you have sensing - ARCore/ARKit and rendering - ?/RealityKit (AR specific rendering). Android's version of SceneKit (general rendering) seems to have been Sceneform which they have deprecated without providing a replacement and are telling users to use OpenGL or Unity. Have Google lost interest in AR or are they working on something?

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

    Directing to web payment via a landing page

    Posted: 26 Nov 2021 12:14 AM PST

    Our mobile app also has its Windows and Mac version. So, in order to promote the cross-platform feature we created a web payment system that allows access on mobile & desktop simultaneously upon purchase.

    We created an explanatory landing page on the website, which also contains a CTA button directing to the web payment. If I send a push notification of the link to that landing page, is it against the policy? Would I be in trouble?

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

    Porting a Linux CLI program to Android. What will the process entail?

    Posted: 26 Nov 2021 09:41 AM PST

    There was an app in Linux called MIDIComp, it allowed me to convert MIDI files into readable text.

    I'd like to port over MIDIComp to be able to used by an Android app.

    What needs to happen to make this a possibility? Thanks guys

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

    Kotlin list transformations

    Posted: 26 Nov 2021 01:17 PM PST

    I'm building a chat platform, where I'm reading my list of messages from Local Room DB (ChatModel). I need to add date separators between these messages. I've to use multiple view holders and thus created a sealed class for differentiating items

    sealed class ChatUiModel { data class ChatItem(val message: ChatModel) : ChatUiModel() data class DateSeparatorItem(val time: String) : ChatUiModel() } 

    I require to convert the list with date separate items in between 2 models of the list, I'm not proficient with Collection functions in kotlin and confused between map/flatmap etc.

    val items = mutableListOf<ChatUiModel>() val data = messages.listIterator() for (item in data) { if (data.hasPrevious()) if (data.previous().time < item.time) items.add(ChatUiModel.DateSeparatorItem(item.time)) items.add(ChatUiModel.ChatItem(item)) } Timber.i("CHAT = $items") 

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

    Help to select software for app development

    Posted: 26 Nov 2021 06:24 AM PST

    Hello all,

    I want to develop an app for personal use but have little experience in programming, only know Matlab and some Python. Can you guys help me select an appropriate program to start in? The app will be mainly about inputting questions and answers that then later can be used to learn a language. For example, input a list of words with translation which you can then practice. You can only go to the next word if you get the right answer.

    I see there are a lot of no-code/minimal code programs but I have no idea where to start. I am willing to pay around 10 euros a month after a free trial.

    Thank you in advance.

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

    The Device and Network Abuse policy, section 4.8 and 4.9 of the Developer Distribution Agreement

    Posted: 26 Nov 2021 05:12 AM PST

    Hi guys,

    The Play Store has recently introduced a new item in it's policies:https://support.google.com/googleplay/android-developer/answer/9888379#zippy=%2Cexamples-of-common-violations

    Stating as an example:"Game cheating apps that affect the gameplay of other apps."

    I find this not very clear in how the gameplay is affected or what "affect the gameplay" of other apps means.

    For example,

    1. Does an Anagrammer app fall in this category in the sense that the it allows cheating, finding words for word games ?
    2. What about PUBG Mobile GFX improvement apps ?
    3. What about cheat apps that import screenshots from Scrabble games and show the solutions ?
    4. Walkthrough apps ?

    In my opinion 2. sounds legit while the other don't directly "affect the gameplay" of other apps.

    What do you think ?

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

    Which Google Play distribution tracks can I access before review?

    Posted: 26 Nov 2021 02:46 AM PST

    Hey folks,

    Right now our app is unreviewed and distributed through Internal Testing. We would like to continue using this for ourselves (people in the team).

    However, we would like to open up a new Closed Testing track (Alpha) and only accept users who are in a defined list.

    My question is: given that our app hasn't been reviewed by Google yet, will we have access to the Closed Testing feature? What else is blocked, besides production?

    Also, I'm not familiar with the review process. What does it take for an app to be rejected? Can we submit for review when the app is still missing plenty of features?

    Thanks!

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

    No comments:

    Post a Comment

    Fashion

    Beauty

    Travel