Question regarding locating elements using id's or text

I’m testing a native Android app wth the Ruby appium_lib api. My question is: when querying the app for information, why do some elements have unique id’s while others do not?

As you can see, some elements have unique id’s while others do not. I know you can locate elements using text(string), but some elements have neither an id nor text.

I want to be able to get my devs to add unique id’s where I need them, is that possible to do in the Java for a native app?