• Breaking News

    Friday, March 19, 2021

    Android Dev - Weekly Anything Goes Thread - March 19, 2021

    Android Dev - Weekly Anything Goes Thread - March 19, 2021


    Weekly Anything Goes Thread - March 19, 2021

    Posted: 19 Mar 2021 07:00 AM PDT

    Here's your chance to talk about whatever!

    Although if you're thinking about getting feedback on an app, you should wait until tomorrow's App Feedback thread.

    Remember that while you can talk about any topic, being a jerk is still not allowed.

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

    Made some dots loading animations with Jetpack Compose (link in comments)

    Posted: 18 Mar 2021 04:37 PM PDT

    Free App Development Roadmap + Sprint Plan Template [Link in comments]

    Posted: 18 Mar 2021 11:05 PM PDT

    My experience during my first interview

    Posted: 18 Mar 2021 10:50 AM PDT

    Hi everyone,

    I recently got a job as a Junior Android Developer for the first time in my life and I thought I'd share some info about my experience in case anyone else is interested or curious just like I was. I'll try to go over the following topics:

    1. Info about me
    2. Coding/Assessment interview
    3. My code and the feedback I got
    4. Technical Interview & anxiety
    5. What I did personally to prepare (Based on my speculations on what the process would be like)
    6. Overall experience

    A bit about me

    I'm a CS student, currently in my second year and I've built a few apps that are available on Google Play and I've also been doing some freelancing here and there. I mostly build android apps when I have an idea and to be honest, I haven't read enough on android development in my opinion so you're probably already ahead of me on that part! That's all about me so let's move on now.

    Coding Interview

    Starting with the coding interview part. In my case, the company (thankfully) had a project description document that contained a rough outline of what I would need to do, some links to assets, and some info regarding their API which only had two endpoints. The project had to do with very basic but important aspects of the job such as:

    • Form validation for a Sign-in/Sign-up page (had to make requests to an API and authenticate)
    • Dynamic Language selection
    • Bottom Navigation with four pages (only one had to be complete and there were no restrictions regarding implementation) and custom Navigation bar look (background, fab in the middle with a cutout)
    • The main page of the app should display a list of Books with a cover, Title (data fetched from an API as JSON), and the data also contained release dates and an associated pdf
    • Implement download functionality for the books: The user should be able to click on a download button that's shown over each book cover and download multiple books at a time as a pdf. The pdf should open a prompt for the OS to handle it and the download icon should go away. The progress of each download should also be shown using a progress bar.
    • The UI should be responsive and look as expected on multiple devices of different densities

    Note: There were a lot more in the document such as sorting the data, the language details, etc. but
    I don't have the patience to write everything out. Also, the above features should be done in a maximum of 2 days.

    My code

    Moving on to how I structured my code and how I implemented the features mentioned earlier. For starters, I decided to use the MVVM architecture since they had mentioned that they were using it in-house along with clean code and I wanted to at least try and present something relevant. After building the basic Model & ViewModels, I started working on the UI which took me much longer than I had anticipated due to assets not being correct (this was done on purpose and I'll talk about it a bit later) and me not having enough experience with customizing views. Here I decided to use ConstraintLayouts to achieve responsiveness and also SVG files for icons and images to reduce apk size and to avoid using multiple drawables for different densities. Once the UI was done, I started working on the API fetching logic using Retrofit, Gson, coroutines, and repositories along with LiveData that would expose the data through the VM to the UI. I tested everything to make sure the API and the calls were working and moved on to form validation. I hated my life for a few hours since the validation had to be done with REGEX and used a lot of constraints, but once I taught myself again how it works, everything fit into place. The bad thing here is that I placed all of the validation logic in the activity and not the VM. As far as the main page goes, I simply used a RecyclerView and handled the onClick events and download logic in the Adapter class (which as I told the reviewer, was a bad call on my part and that I would have definitely done it differently had I had more time). For the downloading part, I used the Fetch library which required a lot less code on my part. Finally, I tested everything manually a few times and called it a day.

    Feedback

    The reviewer told me that he was very happy to see that I had used an architectural pattern and especially MVVM. He commented on a few changes that could be made to follow clean code architecture practices, pointed out that the validation logic should be placed in the VM, and also mentioned that he was glad to see that I had used Coroutines, Kotlin, MVVM, LiveData, and Retrofit since they like people (who would have guessed) that try to use the newest things. They also told me that some of the assets had some issues on purpose in order to see how I would handle them. That sums up the feedback I got from him pretty much.

    Anxiety

    The tech interview was by far the most stressful part of the process. I've never had any interviews before so when I looked up the term for the tech one, my anxiety went through the roof knowing how I would be sat down for an hour and be fired at with questions of various things. No matter how confident I was in some of my knowledge, I started panicking but eventually realized that no matter what happens, it's an important experience to have so screw it. Having calmed myself down, I decided to figure out what I should read up on, in order to prepare myself (I had 4 days to spare between the coding interview and the tech one).

    My preparation

    Having no idea what to expect, I decided to read up on the lifecycle of activities (which I consider basic and very useful to know), then move on to Coroutines, understanding the coroutine scope and how they are used alongside MVVM and finally refresh my knowledge on MVVM. I definitely didn't study enough for the interview but I tried.

    Tech interview

    The moment finally arrives and I'm greeted by two people who would be the ones asking the questions. They told me they had a lot of questions so we should just get to it and that's what we did. The questions varied a lot, they covered basic lifecycle questions, components such as Bluetooth and Location, UI responsiveness, things like "How would you request the assets from a designer who has never developed anything for a mobile/android app?" and many more. They also asked about the differences between MVP & MVVM, SQLite & GraphSQL, XML, Proguard & obfuscation and they also asked about Build variants, Testing & publishing apps as well as .apk vs .aab.

    I think it's worth noting here that I decided to be honest with them about things I didn't know or that I hadn't done before and so that's what I did. I had no idea what GraphSQL was, I wasn't sure about the differences between MVP and MVVM (made some guesses), I asked for some more info regarding Proguard which helped me remember that it had to do with obfuscation and I also told them that I had used Location before but not Bluetooth but I could still answer related questions since they were mostly lifecycle ones. Finally, I mentioned that I know how to write JUnit tests in Java but never did for android and that this was very bad on my part.

    Note: I would love to hear from interviewers if being honest in these situations is actually a plus or not, so please let me know.

    Overall Experience

    To sum things up, this was definitely a very important and great experience to have and it taught me a lot of stuff which I hadn't considered before. It was worth it and even if I hadn't gotten the job, I would still want to try again. If you are like me and you're scared to go for an interview, I'd suggest you just go for it and if it doesn't pan out, you'll be stronger and more knowledgeable for the next one!

    P.S. It would be awesome if you could share your experience as either (or both) an interviewee or an interviewer.

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

    How to find original class name after proguard?

    Posted: 19 Mar 2021 03:25 AM PDT

    İ published my app on play store. But i got a notification that says my app has a vulnerability issue(trust manager). İ contacked with google to find out where is the problem.

    They replied. But reply says issue is in the class Lg/p/a/d/k$c. I guess this is because i enabled proguard. But right now i can't find this class. İ decompiled my apk. But couldn't find this class. How can I find it?

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

    Reliable play testers for indie app developer

    Posted: 19 Mar 2021 08:54 AM PDT

    Where can an indie studio find beta testers?
    We(I) have an app, were for the most part is complete. It's ready for beta testers.
    What I am most looking for is the first experience feedback. Is the layout esthetically pleasing as well as intuitive.

    submitted by /u/440Jack
    [link] [comments]

    Interesting breakdown of how and why Facebook originally handled the multi-dexing problem

    Posted: 18 Mar 2021 02:11 PM PDT

    Remove ads with in-app purchase

    Posted: 19 Mar 2021 04:36 AM PDT

    So I'm very new to using Android Studio and I have no experience in implementing in app purchases in apps. I know how to implement ads in the app but I also want to set up an in-app purchase to remove ads.

    Anyone knows how to do this? Or if there are any good tutorials/videos for doing this then please do link them in the comments!

    I tried finding tutorials for this, but I couldn't find any specific one to disable ads with in-app purchase.

    Any assistance would be really appreciated!!

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

    Android Studio 4.1.3 available

    Posted: 18 Mar 2021 10:04 AM PDT

    Encountered problems making a file explorer

    Posted: 19 Mar 2021 01:06 AM PDT

    I'm trying to build a file explorer to understand more about Android file system. I have tried the MediaStore APIs, but seems like it is only to access individual files, so I can't get the file hierarchy from this. I saw a lot of existing open-source apps use Environment.getExternalStorageDirectory() but it is deprecated and require android:requestLegacyExternalStorage="true" in the Manifest. Is this the correct approach or is there anything more up to date? Thanks in advance

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

    Can tablet user see phone screenshots in play store?

    Posted: 18 Mar 2021 11:29 PM PDT

    I know now phone user cannot see 7 inch 10 inch tablet screenshots.

    How about tablet user? 7 inch tablet user can only see 7 inch screenshots? 10 inch tablet user can only see 10 inch screenshots?

    If tablet user can see phone screenshots, do they see tablet screenshots first, follow by phone screenshots?

    Thanks for your reply :)

    submitted by /u/dust-in-the-universe
    [link] [comments]

    Patreon perks and Google Play (ft. Firebase)

    Posted: 18 Mar 2021 09:36 PM PDT

    IDEA: I want to reward my patrons by removing the ads in all of my apps (either permanently OR while they are a patron) using Firebase authentication and realtime database. I'm leaning more toward the permanent option, but I'd like to include the subscription method in this post as well, just for discussion's sake.

    QUESTION: Ignoring the fact that you're not allowed to link to donation- or payment pages outside of Google's ecosystem, would it be allowed to retrieve data from Firebase to determine if the user currently logged in and authenticated has been a patron, and then enable/disable ads based on this data?

    I'm planning to enter this data into Firebase as a new peramater under the user's info from a manager app as soon as I get the notification (and user's email) from Patreon, thus also eliminating the need for promo codes. My apps would then check for that parameter under the logged in user's info when they open the app and enable/disable ads based on whether it exists or not. I could even add a value to it and respond differently based on what tier patron the user is or how long they've been subscribed for etc.

    To be clear - I'm not planning on advertising anything about the user's ability to remove ads by becoming a patron in any of my apps. See the bonus question for more on that, though..

    BONUS QUESTION: Coming back to links; I've seen some people talk about linking to Patreon being allowed if it appears like any other social media link - typically just an icon, and, of course, located next to all your other social media connections. I know most of this stuff is just a guessing game, but what are your thoughts/experiences? Is it an acceptable practice by Google's standards to have your Patreon/Paypal linked in this format?

    Thanks for reading and/or replying, I hope you have a lovely day!

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

    SkyDroid • Decentralized App Store

    Posted: 18 Mar 2021 01:55 PM PDT

    How do I know if my app is being reviewed by a Google employee?

    Posted: 18 Mar 2021 09:24 PM PDT

    I *think* I filled everything out. Now it shows like

    https://i.imgur.com/ZlEd8cm.png

    Does that mean a human is actually going to review it?

    I tried pushing my app all the way to prod, but again it just says "In Review" https://i.imgur.com/TPIua1B.png

    How long does it usually take these days with COVID and all? It's been ~3 days so far.

    I put myself as a tester. I hope "In review" doesn't mean that I'm testing it. (And if so, can I mark it as "tested" so that message goes away?)

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

    Huawei Gspace (Google Space) Apk/App download for 2021 : Install Gapps (Google Apps), Play Store on Huawei devices

    Posted: 19 Mar 2021 02:40 AM PDT

    How useful is the Google Developer Certificate: Associate Android Developer?

    Posted: 18 Mar 2021 08:20 PM PDT

    I have no CS background and have been working as a project manager in a software vendor company (App and web) for 3 years. I will move to another country soon, and I have been self-learning to improve my career prospects. I came across this certificate the other day. I believe I can pass this but is it worth 150USD?

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

    Anyone know what kind of encoding this is

    Posted: 19 Mar 2021 02:16 AM PDT

    1)XmoUNb2=|CY;SjEZe%Wad3rB%baG{3Z7(q|IX5;nG%jd#ZEPTLVRCb2RdQ@SF# 2)XmoUNIxjD6VRCD0d2@7fWnpb|E@N+PFLr5UWp6JuFCcJXa&u)>a%?>@
    3)XmoUNIxjD0X?A68Wo}|&b98cLVQq6RV{dIQZen3Cb9HWWEo^CaWi4}ba%Ev{AaG%Fb7fU>Y&|g

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

    Create Android Studio plugin to toggle "Show layout bounds" (part 2) - new video on my YouTube channel :)

    Posted: 18 Mar 2021 08:47 AM PDT

    Drawer & Toolbar with Navigation Component

    Posted: 18 Mar 2021 06:03 PM PDT

    Drawer & Toolbar with Navigation Component

    Hello, in this video, I will show you how to add a drawer and a toolbar to the Navigation Component!

    View on Youtube or on Codeible

    https://preview.redd.it/6wrcgzpgwvn61.jpg?width=1920&format=pjpg&auto=webp&s=d9eeba1565cf2b5f885682d200b796400359311f

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

    Download Google Space (Gspace) for Huawei devices to install Gapps - Android Nature

    Posted: 19 Mar 2021 02:41 AM PDT

    How connect lifecycle of main activity to inner view (aka: MapBox) with Compose?

    Posted: 18 Mar 2021 03:53 PM PDT

    I'm trying to redo this tutorial of using Mapbox with JetPack compose. Now the problem is that on Android is required to connect the lifecycle of the activity to it.:

    import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.mapbox.maps.MapView import com.mapbox.maps.Style var mapView: MapView? = null class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mapView = findViewById(R.id.mapView) mapView?.getMapboxMap()?.loadStyleUri(Style.MAPBOX_STREETS) } override fun onStart() { super.onStart() mapView?.onStart() } //many others.... } 

    But how do the same with compose? This is what I have:

    import android.view.ViewGroup import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.viewinterop.AndroidView import com.mapbox.geojson.Point import com.mapbox.maps.MapView import com.mapbox.maps.Style import com.mapbox.maps.dsl.cameraOptions class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Surface(color = MaterialTheme.colors.background) { MapView(location = Coordinates(-75.33562156830948, 6.084847859742564), Modifier) } } } } data class Coordinates(val lat: Double, val long: Double) @Composable fun MapView( location: Coordinates, modifier: Modifier ) { AndroidView( modifier = Modifier, factory = { context -> MapView(context).apply { layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT ) getMapboxMap().apply { loadStyleUri(Style.MAPBOX_STREETS) cameraOptions { zoom(15.0).center( Point.fromLngLat( location.long, location.lat )) } } } } ) } 
    submitted by /u/mamcx
    [link] [comments]

    Question About Dynamic Delivery

    Posted: 18 Mar 2021 03:52 PM PDT

    Hey everyone, I have a question concerning Android's Dynamic Delivery system.

    A couple of months back I was tasked with implementing the Dynamic Delivery system on one of the modules at work. I've grasped the main concepts of Dynamic Delivery and I can confidently implement an on-demand delivery module but I'm a bit lost when it comes to conditional delivery.

    The documentation site describes that you can set a wide variety of conditions which need to pass in order for the app to contain your dynamic module. The prime example on the internet seems to be the language/country of the device. This is where I can't find an answer to my question.

    Let's say that my device language is English. The Play core library checks the condition and during install time uses the module that has a condition which requires the target device to have English as it's selected language. Great. Works as intended. Now after some time, I change the language from English to something else (i.e. Russian, Swedish, Japanese... doesn't matter). Is the play store going to see the change and "update" the app by removing the English module and installing the other module? Or do I have to reinstall the app for the conditional delivery modules to update?

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

    Question about banner placement [AdMob]

    Posted: 18 Mar 2021 02:24 PM PDT

    Question about banner placement [AdMob]

    Would an ad implementation like the image get me banned? I currently have one banner at the bottom of my app, but I use an "OG" tab layout at the top. Also, the source of the image of the post is Google itself (https://www.blog.google/products/admob/upgrade-your-banner-ads-new-adaptive-anchor-banners/), but I'm still skeptical.

    https://preview.redd.it/01wtitxzrun61.png?width=1000&format=png&auto=webp&s=1ea6d9b1591a55a6e163496b05088bb3d7389657

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

    Using a QR code to change settings / configure a device

    Posted: 18 Mar 2021 09:50 AM PDT

    I'm looking to configure a lot of tablets and their settings and wanted to know about any possible shortcuts that can be made, as in QR codes or anything else. Anyone have any ideas?

    These are basic settings like display timeout, Bluetooth on, etc.

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

    Virality and Google Play rules

    Posted: 18 Mar 2021 01:32 PM PDT

    Hi everyone, I'm developing an app and I was thinking about how to make the users to pay more attention and use the "Tell a friend about this app" sharing button. I thought I could add a very interesting feature and let the user unlock it by doing one or more sharing (I would change the share text for example: "I unlocked the X feature of the hashtagofmyapp doing this share! Try hashtagofmyapp applink") but I don't know if it is allowed or not by Google play rules. Has anyone here ever tried something like this? Thanks in advance for your feedbacks.

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

    No comments:

    Post a Comment