IntelliJ: Never use wildcard imports

It’s obvious why you’d want to disable this: To force IntelliJ to include each and every import individually. It makes it easier for people to figure out exactly where classes you’re using come from. Click on the Settings “wrench” icon on the toolbar, open “Imports” under “Code Style”, and check the “Use single class import” … Read more

Understanding checked vs unchecked exceptions in Java

Many people say that checked exceptions (i.e. these that you should explicitly catch or rethrow) should not be used at all. They were eliminated in C# for example, and most languages don’t have them. So you can always throw a subclass of RuntimeException (unchecked exception) However, I think checked exceptions are useful – they are … Read more

decompiling DEX into Java sourcecode

It’s easy Get these tools: dex2jar to translate dex files to jar files jd-gui to view the java files in the jar The source code is quite readable as dex2jar makes some optimizations. Procedure: And here’s the procedure on how to decompile: Step 1: Convert classes.dex in test_apk-debug.apk to test_apk-debug_dex2jar.jar d2j-dex2jar.sh -f -o output_jar.jar apk_to_decompile.apk … Read more

How to read all files in a folder from Java?

public void listFilesForFolder(final File folder) { for (final File fileEntry : folder.listFiles()) { if (fileEntry.isDirectory()) { listFilesForFolder(fileEntry); } else { System.out.println(fileEntry.getName()); } } } final File folder = new File(“/home/you/Desktop”); listFilesForFolder(folder); Files.walk API is available from Java 8. try (Stream<Path> paths = Files.walk(Paths.get(“/home/you/Desktop”))) { paths .filter(Files::isRegularFile) .forEach(System.out::println); } The example uses try-with-resources pattern recommended in … Read more

What is the difference between @Inject and @Autowired in Spring Framework? Which one to use under what condition?

Assuming here you’re referring to the javax.inject.Inject annotation. @Inject is part of the Java CDI (Contexts and Dependency Injection) standard introduced in Java EE 6 (JSR-299), read more. Spring has chosen to support using the @Inject annotation synonymously with their own @Autowired annotation. So, to answer your question, @Autowired is Spring’s own annotation. @Inject is … Read more