• Breaking News

    Saturday, January 11, 2020

    Android Dev - App Feedback Thread - January 11, 2020

    Android Dev - App Feedback Thread - January 11, 2020


    App Feedback Thread - January 11, 2020

    Posted: 11 Jan 2020 04:28 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 top level comment
    • must make effort to respond to questions and feedback from commenters
    • 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.

    - Da Mods

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

    [Possible rant] Why Android development seems like a mess?

    Posted: 11 Jan 2020 02:02 AM PST

    New here. And new to Android development. Developing in .NET is my job.

    So I developed so far 3 Android apps by myself, and publish 2 of them to Play Store.

    I just finished one's latest version and published, and I feel I want to share some of my experience on my Android dev journey. Maybe some rant and misunderstanding here, I apologize for this in advance (and please comment).

    Simply put, I feel Android *seems* like a mess. Maybe I am still not proficient enough to get everything right at once.

    - For very simple apps or scenarios, I think the default setup of Android IDE & SDK, as well as docs, is all right. But once I want to use more system features, or apply more designs, Android seems to be really hard or complicated to get everything right. The official Android dev docs seem good for learning, but if you have some special scenarios, it seems you are on your own.

    (For example, if you want to send network / HTTP request, the official docs recommended using Volley / Cronet libraries, which are quite complicated to use if I want to achieve something like JSON-Object serialization (maybe I didn't get it right). This makes me wonder "Why the system itself does not have built-in network / HTTP API like Windows or Linux?". Not to mention, Retrofit+OkHttp is (IMHO) way much easier than either of them. Why this was not mentioned in docs?)

    - Support / Compat libraries / classes. OH MY GOD. Maybe I don't fully know the logic behind this, but I hate these things. Every time when I try to use something, like, Activity or Fragment, I have to figure out whether I should use support libraries or system native ones. I know usually I should use support libraries. The problem is, some classes from libraries (maybe system also? I cannot remember) derived from the native ones. In some scenarios, if I want to use support library ones, I will get errors. I don't really know anymore.

    - Outside Android system territory, it surprises me a lot that a lot of libraries are lack of proper documentation. I know this happens everywhere, not only in Android, but one thing I feel about Android is the lack of "conceptual consistency".

    Allow me to present an example. When you are working on Windows, say, .NET, even though there are many differences in .NET BCL (Base Class Library) and 3rdparty libraries or even BCL itself, you still can have some expectation on how they approach the objective, since all .NET stuff has more or less a unified "feel" on design rules, so that you will not get lost very easy. Linux is kinda similar (but maybe this has my own factors - I did a bunch of Linux system programming).

    But in Android, system does not provide a lot of stuff (either non-exist or simply broken), so a lot of 3rdparty libraries took over the roles what I think should be a part of system (like high-level network stuff). These libraries have their own (and sometimes hacky) ways to do things. But they sometimes don't provide good documentation to explain them, even for the new features. Examples such as:

    - Retrofit2's Kotlin suspend function feature (what I can do, and what I cannot do, can I return a list instead of one object, or such)

    - Dagger's DaggerApplication, DaggerAppCompatActivity, DaggerFragment, etc., and how to do ViewModels properly (I didn't know these classes until searched through tons of results online)

    - Epoxy's generated models and integration with Android ViewModels ("I see red in Android Studio, it says Unknown symbol! What should I do???" / "why I cannot compile? - oh, different class name in package-info.java")

    - Gson's ProGuard rules (Where is it? - Production build got my model classes stripped out and caused Retrofit stop working properly)

    - The integration among all these libraries ("How can I use Epoxy + ViewModels + Dagger altogether???")

    And it is quite insane that I have to use all these libraries in an Android to achieve "maintainability". Why Android doesn't have a built-in way to do these? Why Android Jetpack???

    - Maybe I'm really unlucky. But for some reason, every time when I try to figure out how to solve a particular problem in StackOverflow, I always bumped into a page that has either no answers (10%), or has a bunch of answers without that green mark (70%, the rest 20% are jackpot). I thought tons of people use this System, so statistically most of the problems should already have answers. But nope.

    (Not to mention tons of pages have outdated information. Gosh)

    (...and because of the rapid changes on all Android stuff, it is impossible to find a friendly beginner book talking all these things I mentioned above - I like to read a book to get my hands dirty, and I think books are more trustworthy)

    - Tons of blogs. No offense. I just never see this kind of things before. A lot of developers from all over the world write blogs in Medium or such to explain the same things in many different ways.

    For example, Dagger. To be fair, Dagger is complicated because it tries to solve a complicated problem (dependency injection). But man, I read a lot, I wrote a lot, but when I first read these blogs, they just gave me tons of confusion (especially when someone uses outdated information). Even Google's official docs are confusing as hell (Thermosiphon? REALLY?) Where is the really official documentation???

    - System bugs. This really shocks me. Like, a crashed NotificationListenerService must be restarted by restarting my device. Or, broken EditTextPreference not being able to limit inputs to numbers even if I set it so.

    - Flutter / Fuchsia. I don't know whether Google is seriously considering using these to solve Android's issues...

    Well, not quite pleasant. I guess maybe because I am still a beginner. I may misunderstand most of things here.

    I can only hope I will get better on these things and not be frustrated easily like now.

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

    What happened to android-arsenal.com ?

    Posted: 10 Jan 2020 11:57 PM PST

    Constant deprecated even before being added

    Posted: 11 Jan 2020 04:28 AM PST

    Why Microsoft use React Native over Xamarin

    Posted: 10 Jan 2020 06:50 PM PST

    I've seened a twitter post recently about the use React Native for various Mirosoft products such as Teams, Skype, Outlook etc.

    My question is why they don't used Xamarin.Forms at all to build a cross platform app since they invested in it and bought the company instead they use RN. I'm just wondering if Xamarin in the near feature would die?

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

    An Android library that creates a random shape of a convex polygon as a bitmap

    Posted: 11 Jan 2020 06:58 AM PST

    [Dagger2] Android using Dagger2 with multiple project modules

    Posted: 11 Jan 2020 08:21 AM PST

    I have two project modules (with this I mean two android modules with their own gradle, manifest, etc.. Not the Dagger module). I call them MyAppCore and MyApp. MyAppCore has the logic around the database access and network access. MyApp has all the UI (activities, views, modelviews, etc).

    I'm using dagger 2 to inject dependencies of different components in my project, however, I'm having trouble to link both modules together.

    MyApp and MyAppCore have their own AppComponent, where MyApp's provides the ViewModel factories and MyAppCore's provides the ones for database and network access (examples below).

    I'm not sure how to link both AppComponent (or Applications) so that database and network accesses can be provided in MyApp. Here's what I have so far:

    MyAppCore module

    CoreApp

     open class CoreApp : Application() { val appComponent: AppComponent by lazy { initializeComponent() } open fun initializeComponent(): AppComponent { return DaggerAppComponent.builder() .build() } } 

    AppComponent

     @Singleton @Component(modules = [AppModule::class]) interface AppComponent { @Component.Builder interface Builder { @BindsInstance fun application(application: Application): Builder fun build(): AppComponent } } 

    AppModule

     @Module class AppModule { @Singleton @Provides fun provideDb(app: Application) = MyDb.getInstance(app) @Singleton @Provides fun provideCommentDao(db: MyDb) = db.commentDao() } 

    CommentRep (to access the CommentDao)

     @Singleton class CommentRep @Inject constructor(private val dao: CommentDao) { fun saveComment(comment: Comment){ dao.insert(comment) } } 

    MyAppCore also has the Room database implementation called MyDb and the interface CommentDao (I don't think I need to add this code in this question).

    MyApp module

    MyApp

     open class MyApp : Application(), DaggerComponentProvider { override val appComponent: AppComponent by lazy { initializeComponent() } open fun initializeComponent(): AppComponent { return DaggerAppComponent.builder() .applicationContext(applicationContext) .build() } } 

    DaggerComponentProvider

     interface DaggerComponentProvider { val appComponent: AppComponent } val Activity.injector get() = (application as DaggerComponentProvider).appComponent 

    AppComponent

     @Singleton @Component interface AppComponent{ @Component.Builder interface Builder { @BindsInstance fun applicationContext(applicationContext: Context): Builder fun build(): AppComponent } fun commentsViewModelFactory(): ViewModelFactory<CommentsViewModel> } 

    ViewModelFactory

     class ViewModelFactory<VM : ViewModel> @Inject constructor( private val viewModel: Provider<VM> ) : ViewModelProvider.Factory { @Suppress("UNCHECKED_CAST") override fun <T : ViewModel> create(modelClass: Class<T>) = viewModel.get() as T } 

    CommentsViewModel

     class CommentsViewModel @Inject constructor(private val repository: CommentRep) : ViewModel() { fun saveComment(comment: Comment){ repository.saveComment(comment) } } 

    And then my Activities which inject the VM but I don't think they are necessary to include their code in this question.

    Of course, if I compile my project as this, the graph from MyAppCore is not generated and hence I get the error that I need to provide CommentDao because it's required by CommentRep which is used by CommentsViewModel. I guess MyAppCore application class is overridden by MyApp application class and hence MyAppCore's AppComponent is never instantiated and hence never added all the core's injections in my graph. How do I solve this problem? Thanks in advance!

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

    Does anyone know of a way to access older Google Codelabs that have been deprecated and removed?

    Posted: 11 Jan 2020 07:50 AM PST

    I'm looking for the Agera codelabs and the Android Persistence Codelabs.

    The authors of the Github repository removed the content entirely, I tried posting an issue but apparently they don't care and have ignored the question for more than a month.

    Does anyone have a backup of these codelabs?

    Does anyone work on creating a mirror in case Google's devs irreversibly destroy the only documentation they create for their libraries?

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

    Anybody familiar with ZLTextWordCursor?

    Posted: 11 Jan 2020 06:07 AM PST

    I'm trying to figure out how to pull the text displayed on the screen by the cursor into a string, any help would be appreciated

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

    Shared Element transition return?

    Posted: 11 Jan 2020 03:56 AM PST

    Logo maker for your app?

    Posted: 10 Jan 2020 06:41 PM PST

    I was recently looking for a simple enough logo for my app and found out about Shopify's App:

    https://hatchful.shopify.com/

    I have no success with the Hatchful Mobile App, but the Web App works okay :)

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

    microMVCompose - MVC+navigation library for Jetpack Compose

    Posted: 11 Jan 2020 01:45 AM PST

    Hello, I made this library: microMVCompose.

    It's a MVC implementation + simple navigation system for JetpackCompose. This is my vision on how the future of app development with Jetpack Compose should look like.

    What do you guys think? :)

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

    How Do request only While In Use Permission? App is currently asking for All The Time Background permission.

    Posted: 10 Jan 2020 07:44 PM PST

    App published on play store, not available for download

    Posted: 11 Jan 2020 01:31 AM PST

    Hi dear Reddit community! As a freelancer I have developed an Android/iOS app for my client (React Native). About a month ago I finished the project and my client was very happy with it, so he decided to publish it on the play store. He created his account and uploaded the aab. Now, after a month, I can see the app on the play store, but it is not available for download. There's written: "Coming soon. Pre-register". What can I do?

    Thanks

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

    How do I cancel a Pending Application in PlayConsole?

    Posted: 10 Jan 2020 07:03 PM PST

    Hi is there a way to cancel the Pending Application that I wrongfully uploaded to a different account? (mybad I know) ? the app is still in Pending Application but I do not know how to cancel it

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

    Dependency Injection: Dagger and Koin

    Posted: 11 Jan 2020 04:12 AM PST

    Google strange behaviour rejecting app updates... but only sometimes.

    Posted: 10 Jan 2020 01:06 PM PST

    For the past 2 or 3 weeks I have been having issues with Google randomly rejecting some app updates for one particular app. These rejection happen within 5 minutes of publishing the update and the reason for rejection is always....

    Issue: Violation of Google Play policy

    Google reserves the discretion to include or remove apps from Google Play. We may take action based on a number of factors including, but not limited to, a pattern of harmful behavior or high risk of abuse. We identify risk of abuse using various items such as previous violation history, user feedback, and use of popular brands, characters, and other assets.

    Note that this happens with the beta version and full release version.

    Now if I create another build and only increase the version number and touch nothing else then the update is usually successful.

    Last week I tried to update a beta but it just sat in review for 2 days before disappearing off the face of the earth. I had no rejection or anything. The notification of being in review had gone. As far as the Play console was concerned it never existed. So I created a new build and sent it straight to production. It was rejected within 5 minutes. I got the rejection email and rejection notification on my phone. I checked the Play Store and the update that just got rejected was there available to download. In fact thousands of people are using a rejected app right now.

    Tonight I have had 2 app update rejections for the beta. So I tried to update the beta a third time but this time I included no bundle or apk. This update was basically just to deactivate the beta. 2 minutes later... " Issue: Violation of Google Play policy ".

    So the reason for rejecting the update has nothing to do with the app update itself.

    I have no idea of what is going on a this point and if anybody has a theory or explanation that would be great.

    I have contacted Google but by the time they manage to get back to me I have managed to publish an update successfully so they just basically say " Good news - I see your app was resubmitted earlier and has been approved."

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

    Does anybody need SFX for apps they are developing?

    Posted: 10 Jan 2020 01:50 PM PST

    People that are developing apps do not have the time to look through a long list of sounds that may or may not fit what they are looking for. Sounds are an important engagement to the person using the app and I want to tailor sounds specific to the type of designs you are coming up with. So I am trying to reach out to people who are app developers and need sounds/music/sfx for their app. I am doing this free of charge in order to develop experience to list on my website.

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

    Sharing data across multiple devices

    Posted: 10 Jan 2020 10:50 PM PST

    I want to make an app that asks the user for some value and stores that value so that other users can see it as well. How do I go about doing this? I need to create a database but which one should i use here? Sqlite stores data locally so it isnt an option. Should I use a mysql database for this(sharing values across multiple devices) or firebase or some other database?

    I am a beginner so sorry if this sounds like a noob question

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

    Help on android studio exporting excel from the real database data.

    Posted: 10 Jan 2020 10:08 PM PST

    guys do anyone knows how to export the realtime database data to excel

    I need help

    I am just a beginner in android app dev

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

    Confusion on the defaultValue migration requirement for upgrade after Room 2.1.0

    Posted: 10 Jan 2020 09:48 PM PST

    Hi, has anyone manage to migrate from Room 2.1.0 to 2.2.3.

    Migration guideline from

    are quite confusing.

    Note: If your database schema already has default values, such as those added via ALTER TABLE x ADD COLUMN y INTEGER NOTNULL DEFAULT z, and you decide to define default values via u/ColumnInfo to the same columns, then you might need to provide a migration to validate the unaccounted default values. See Room Migrations for more information.

    When we upgrade to Room 2.1.0 to Room 2.2.3, everything still work fine, without having to add additional migration code, for drop-and-recreate table.

    We post our detailed finding here - https://stackoverflow.com/questions/59691979/confusion-on-the-defaultvalue-migration-requirement-for-upgrade-after-room-2-1-0

    Does anyone come across any edge case, where you need to drop-and-recreate table? An simple code example would be appreciated.

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

    HorizontalScrollView inside ViewPager2

    Posted: 10 Jan 2020 09:46 PM PST

    I have a HorizontalScrollView inside fragment of ViewPager2. How to scroll Viewpager2 when HorizontalScrollView reach end?

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

    I'm new to this could, could anyone point me in the right direction?

    Posted: 10 Jan 2020 07:23 PM PST

    Hey I just began using android studio, I'm decide to create a project but I'm not very experienced in java programing either. I was wondering if anyone can point me in a direction where I could find resources to help me.

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

    No comments:

    Post a Comment