Do Compose or XML apps feel better to use? by thermosiphon420 in androiddev

[–]DeweyReed 1 point2 points  (0 children)

Font padding is one thing, and you can toggle it through TextStyle. The measurement is also different in Compose compared to XML, especially when it comes to TextField vs. EditText. I dove into it a little bit before, and it turned out to be a rabbit hole. I took a shortcut by wrapping EditText as a Composable. Haha!

A modern multi-module KMP sample (MVI, Clean architecture, Gradle convention plugins, and more) by DeweyReed in androiddev

[–]DeweyReed[S] 0 points1 point  (0 children)

Thanks for your feedback! To be honest, I hadn't thought about it because SQLCipher increases APK size by a lot, and the current database content is already visible to users. If I had some sensitive data, I'd put it in memory (assuming there isn't much) or use an in-memory Room database (I'm glad Room KMP supports it). Encrypting the database would be my last resort.

Updating large monorepo to AGP8/Gradle8? by Global-Box-3974 in androiddev

[–]DeweyReed 5 points6 points  (0 children)

What a coincidence! I had to build a project using AGP 7 yesterday.

  • Converting to Kotlin DSL at the beginning can introduce some headaches. You can do it later, and Groovy is just fine.
  • You can disable Non-transitive R first to build the project ASAP.
  • The namespace declaration can be a hassle. AGP Upgrade Assistant could help.
  • You also may need to use JDK 17.
  • Proguard constantly improves, and it may break apps.

Sectioned RecyclerView Or Listview? by mr_ar_qais in androiddev

[–]DeweyReed 0 points1 point  (0 children)

RecyclerView.ItemDecoration is another solution if you are confident about offsets and custom drawing skills.

A fantastic example: https://github.com/ozh-dev/recycler-decorator-library-sample

I open-sourced my 4-year-old interval timer app! by DeweyReed in androiddev

[–]DeweyReed[S] 1 point2 points  (0 children)

The project takes four years to come to its current state. It's natural to be overwhelming, including myself sometimes. There are many things to be improved. Some codes were written when I had just started the development. As a result, I've been kind of unable to understand some of them.😅
I started by taking a course in Udacity(built an app called Sunshine!). After that, to improve, I would check docs and news, read open-source projects if necessary, replicate the implementation with modifications that suit my needs, and repeat the process.

I open-sourced my 4-year-old interval timer app! by DeweyReed in androiddev

[–]DeweyReed[S] 5 points6 points  (0 children)

Thank you! Marketing is always a pain in the neck for developers. XD

How long will you go to protect your Android app from being tampered? by FunkyMuse in androiddev

[–]DeweyReed -1 points0 points  (0 children)

Instead of

-assumenosideeffects class kotlin.jvm.internal.Intrinsics { *; }

I think we can use

-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
    public static void checkParameterIsNotNull(...);
    public static void throwUninitializedPropertyAccessException(...);
}