I’ve you tried to decode a Room of Japanese hiragana?

Welcome to this serie of articles about Android Security and how you can improve tremendously the protection of your users’ privacy, by implementing 3 things that provide a great effort/safety ratio.

Today we are going to look at protecting the Room Database. In deep Room database is handle by SQLite and the file is saved without encryption, which can expose your users’ data, for instance on a rooted device.

Prerequisites

minimum SDK : 16 (Android 4.1 JellyBean)

Add Room and SQLCipher into your gradle build file.

implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"


// optional - Kotlin Extensions and Coroutines support for Room
implementation "androidx.room:room-ktx:$room_version"

implementation 'net.zetetic:android-database-sqlcipher:$sqlcipher_version@aar'


Pegasus is a spyware developed by the Israeli cyberarms firm NSO Group. Target phones can be infected by a simple WhatsApp call.

A tool to detect if Pegasus is installed on your phone

Amnesty International as developed Mobile Verification Toolkit, MVT in short. MVT can be install with python as you will see below. it will help you for both Android and iOS.

MVT will scan your iPhone or Android backup to find out if your phone is compromised.

TL;DR;

I’ve written a little program to make this easier it can be found her

Installing MVT

no matter if you are using Android or iOS, you will need MVT

Open the Terminal:
pip3 install mvt…


Jetpack Compose is due for production-ready in July. Which make is a go-to UI Framework.

In this article we are going to learn how to create reusable Custom Views that can be shared and re-used within your own project or with the Android Community.

Brief Composable introduction

This will be a short and if you have any experience with Composable, you can skip this section.

@Composable
fun MyView() {
Text("Hello World")
}
@Composable

This is an annotation for the compiler treat the code in a particular way. Compose only work with Kotlin because it relies on Kotlin Compiler for some operations.

fun MyView()


Introduction

This article is about how to structure your App using Jetpack Compose.

I won’t be talking about how to create your first composable function, they are already tons of articles on that subject.

Jetpack Compose, is brand new UIToolKit, based on functional and declarative principles that helps you create innovative and beautiful UI for Android (and some other platforms).

Fragments are dead, what’s replacing them?

In today’s Android world (yet Compose is still beta), we architecture our apps with the following hierarchy:

Application
- ActivityA
- Fragment1 + ViewModel1
- Fragment2 + ViewModel2
- ActivityB
- Fragment3 + ViewModel3

So now that we are removing Fragments…


Credit: apple.com

A bit of history: The Intel Migration

Fifteen years ago, on the 6th June 2005, in the Moscone Center, San Francisco, after presenting the brand new Mac OS X 10.4 — Tiger, Steve Jobs himself announced to the world, that Mac heart will now beat with Intel processors, the exact same chips that have been powering the boring PC industry for decades. At the time many remembered Apple 90s advertising showcasing a snail holding an Intel Pentium II processor. And many fanboys felt betrayed. …


Droids communicating securely

Welcome to this series of articles about Android Security and how you can improve tremendously the protection of your users, by implementing 3 things that provide a great effort/safety ratio.

Today we are going to look at protecting the HTTPS connection. Your APIs, your user data use that link and it is crucial that the data is encrypted and not readable during the transfer, moreover that the server the App is communicating with is the one intended.

Prerequisite

An HTTPS connection to your API, and if you do not use HTTPS yet, then start immediately.

You will need OkHTTP (or Retrofit)…


Encrypted data

Welcome to this series of articles about Android Security and how you can improve tremendously the protection of your users’ privacy, by implementing 3 things that are quick to implement.

Today we are going to look at protecting the SharedPreferences. They are usually implemented to store tiny bit of data in a persistent manner.

First of all, you need review what is being saved in your Shared Preferences, if you’ve got anything like email address, keys, password or any sensitive/personal information, go ahead with EncryptedSharedPreferences.

Prerequisites

You will need to target SDK 23: Android 6.0, also know as Marshmallow.

minSdkVersion 23


Droids on top of security

With mobile device being our gate to our digital and real life, App developers must take security very seriously. While some Android Developer are considered or consider themselves as Frontend Developers, I do believe they are much more and it is our responsibility to understand how our users’ data is transferred, stored and processed and how we can protect this data.

In this article mini-serie, I will take you through 3 things (that don’t require too much hassle) to implement in order to improve your app security tremendously. Covering Database, SharedPreferences and Network.

Individual in-depth articles for each topic will…


Let’s face it, we all have to tackle tech debt, because, things are going so fast in IT, we always try to catch up with the latest trends, the latest tech, the latest best practices, and we love that. Change is good, it’s evolution.

It takes some efforts to research and adapt existing code to the “new way”, the new “best practice”, you name it. And what if we could make this process a little bit easier?

Deprecated on Steroids with ReplaceWith

With Kotlin, we’ve got the @Deprecated annotation, introducing a new parameter, ReplaceWith which essentially allows you to replace old code with shiny new.

Signature change


Droids are taking a bath

When is the last time you’ve cleaned your Android Studio? Spending months or even years with Android Studio, you surely accumulated tons of cached data, break points and other SDKs. In this article, I’m going to take you through the steps to get a nice and clean Android Studio. No broom required, I promise.

Cache

First of all let’s starts with the basics, Invalidate Caches. On top of cleaning Android Studio, this feature can also help you to fix a project that has difficulties compiling.

Cédric F

Stay up-to-date with Android Developer News: https://play.google.com/store/apps/details?id=sonique.fr.adn

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store