Profile cover photo
Profile photo
Alexey Mileev
34 followers
34 followers
About
Communities and Collections
View all
Posts

Post has attachment
Some time ago I've announced an open source tool for fast android project generation called kakava. I've just added a Kotlin Android app template to it. Basically, it can generate you a fully set up Kotlin Android project within a second. Please, check it out if you're interested. Your feedback appreciated. Good luck!

Hello everyone,
I want to initiate a discussion about the mutative design concept. It's a very interesting thing, as for me.
First of all, I think that we can use not only things like age, vision, etc. as criteria, but we can also use some business metrics as well. For example, we can increase our revenue by showing to our users right button in right place.
Secondly, I am interested in how we can use it right now in our apps. I'm an Android developer, so I've got some thoughts about writing an all-purpose library for easy mutative design integration.
So, my question is what do you think about it? How would you like to use the concept to improve your business? Or, if you're a developer, what do you want to see in such library/framework? Which approaches? Which boilerplate would you like to reduce? So, go on. I'll be happy to discuss these questions. 

Post has attachment
Well, you know, sometimes you need to code a simple prototype or start a new project. And you spend 15-30 minutes to simple set up etc. I was annoyed with this, because, you know, need to do a task more than once? Automate it!
And I've written a simple Android project generator called kakava with nice (as for me) default template. https://github.com/rozag/kakava
There are a lot of work to be done, but kakava is ready. It just works. So, I'll be happy if you tell me your thoughts about the tool. Thank you.

Post has attachment
Well, you know, sometimes you need to code a simple prototype or start a new project. And you spend 15-30 minutes to simple set up etc. I was annoyed with this, because, you know, need to do a task more than once? Automate it!
And I've written a simple Android project generator called kakava with nice (as for me) default template. https://github.com/rozag/kakava
There are a lot of work to be done, but kakava is ready. It just works. So, I'll be happy if you tell me your thoughts about the tool. Thank you.

Post has shared content
Today’s #AndroidDev #Protip from +Katherine Kuan is about running a tool called Monkey on your app to catch crashes.

Even if you have a thorough test plan, it’s worth running the Monkey tool to stress test your app. This is good practice before any Play Store release to evaluate the app’s stability across different devices. Monkey is a program that generates a pseudo-random stream of user clicks, gestures, and system events. You can run it from the command line on a device or emulator. Monkey will stop and report the stacktrace if your app crashes or throws an ANR (Application not responding) error. 

Example command to execute 10,000 events for an app with a specific package name:

adb shell monkey -p your.package.name -v 10000

Example Monkey output in console:

:Sending Touch (ACTION_DOWN): 0:(619.0,108.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-5.0)
:Sending Flip keyboardOpen=true
:Sending Touch (ACTION_UP): 0:(283.21295,1511.7723)
// CRASH: com.example.foo (pid 14650)
// Short Msg: android.os.NetworkOnMainThreadException
// Long Msg: android.os.NetworkOnMainThreadException

 { Full stack trace would appear here }

** Monkey aborted due to error.
Events injected: 78
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0
## Network stats: elapsed time=393ms (0ms mobile, 0ms wifi, 393ms not connected)
** System appears to have crashed at event 78 of 10000 using seed 1391391361152

End users can often run into the same errors that Monkey finds, so it’s worth investigating the root cause. On some occasions, there may be errors that only Monkey can reproduce due to the rapid succession of events it executes. Hence, use your judgment on the priority of these bugs.

And if you've got special areas of your code that Monkey shouldn't ever reach (for example, submitting a real credit card payment), you can guard this code with the wonderfully named ActivityManager.isUserAMonkey() method (goo.gl/BARX).

For more advanced features of Monkey, check out the documentation (goo.gl/3Es0cP).

In the comments below, tell us if you catch anything with Monkey!
Add a comment...

Post has attachment
Add a comment...

Post has attachment
Add a comment...
Wait while more posts are being loaded