Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Title Page Copyright and Credits
Learn Spring for Android Application Development
Dedication About Packt
Why subscribe? Packt.com
Contributors
About the authors About the reviewers Packt is searching for authors like you
Preface
Who this book is for What this book covers To get the most out of this book
Download the example code files Download the color images Conventions used
Get in touch
Reviews
About the Environment
Technical requirements Setting up the environment
Spring Java Kotlin Apache Tomcat
Configuring Tomcat Verifying Tomcat
Integrated development environment
IntelliJ IDEA Eclipse
Android Summary Questions Further reading
Overview of Kotlin
Technical requirements Introduction to Kotlin Setting up the environment Build tools Basic syntax
Defining packages Defining variables Defining functions Defining classes
Object-oriented programming Functions
Functional programming
Declarative and imperative styles Extension functions Collections in Kotlin
Higher-order functions Lambdas
Control flow elements
The if { ... } else { ... } expression The when { ... } expression Loops
for loops while loops
Ranges String templates Null safety, reflection, and annotations
Null safety Reflection Annotations
Summary Questions Further reading
Overview of Spring Framework
Technical requirements Introduction to Spring
The advantages of Spring Spring Architecture
Core containers Data Access/Integration Web  Aspect-oriented programming Instrumentation Test
Configuring beans
Spring configuration metadata
XML-based configuration Bean scopes
Singleton scope Prototype scope Bean life cycle Dependency injection Auto-wiring beans
Annotation-based configuration
The @Required annotation The @Autowired annotation The @Qualifier annotation
Code-based configuration
The @Configuration and @Bean annotations Dependency injection bean The @Import annotation Life cycle callbacks Creating a scope bean
Spring MVC
DispatcherServlet Creating a project
Converting to a Maven project Spring MVC dependencies to pom.xml Creating Spring configuration beans Creating a controller class The view 
IntelliJ Ultimate Eclipse
SpringBoot 
Creating a project
Creating an application class
Summary Questions Further reading
Spring Modules for Android
Technical requirements REST client module The RestTemplate module Gradle and Maven repository
Gradle Maven RestTemplate constructors RestTemplate functions
HTTP GET HTTP POST HTTP PUT HTTP DELETE HTTP OPTIONS HTTP HEAD
Retrofit
The use of Retrofit Advantages of Retrofit Configuring Retrofit Downloading Retrofit HTTP request functions
GET PUT DELETE HEAD
Creating an Android app
Gradle information Gradle dependencies Creating a model Implementing a service Calling callback Creating an interface Mobile applications
Summary Questions Further reading
Securing Applications with Spring Security
Technical requirements Spring Security architecture
Authentication
Modifying authentication managers
Authorization Web security Method Security
The advantages of Spring Security Spring Security features Spring Security modules
Implementing Spring Security
Maven Gradle
Securing REST with basic authentication
What is basic authentication? Creating a project
Configuring pom.xml Configuring a Spring bean Configuration for Spring Security Configuring an authentication entry point Configuring Spring WebApplicationInitializer Creating a user model Creating a controller Using the HTTP client
Creating an Android app
Gradle information Gradle dependencies Creating a user model Implementing the user service Authenticating with OkHttp interceptors Calling callbacks Creating the UI
Creating a custom list adapter
Mobile applications
Securing REST with Spring Security OAuth2
What is OAuth2?
OAuth2 Roles OAuth2 grant types
Creating a project
Maven dependencies Configuring the resource server Configuring the authorization server Creating the security config Creating the controller class Creating the application class Application properties Checking the output
Checking unprotected URLs Getting access tokens Accessing the protected URL
Common mistakes and errors
Summary Questions Further reading
Accessing the Database
Technical requirements Database
Types of database
Personal database Relational database Distributed database Object-oriented database NoSQL database Graph database Cloud database
Database management system Data access in the Spring Java database connectivity in Spring Creating a sample project using JDBC
Maven dependencies Creating DataSource Creating a table in database Creating a model Creating row mapper Creating an API interface Creating a user repository
JdbcTemplate implementation Creating HTTP methods for RESTful APIs
Create READ UPDATE DELETE
Creating service Creating controller
Autowired service Getting the user list Getting one user by ID Inserting a new user Updating a user Deleting a user 
Testing the output
Getting the user list Getting one user by ID Inserting a new user Updating a user Deleting a user 
Java Persistence API
Architecture of JPA
Creating a project using JPA
Maven dependencies Creating the DataSource Creating a model Creating a user repository Creating controller
Autowired repository Getting the user list Getting one user by ID Inserting new user Updating a user Deleting a user 
Seeing the output
Database of client-side application Architecture components Creating an Android app
Gradle information Gradle dependencies Creating entity Creating the DAO Creating the LiveData class Creating a Room database Populating the database Implementing the repository Creating the ViewModel Creating new activity Creating custom RecyclerView adapter
Implementing RecyclerView
Modifying main activity
Getting data from another activity Adding XML layouts Switching another activity
Run the app
Summary Questions Further reading
Concurrency
Technical requirements Coroutines
Coroutine basics Call stacks Coroutine testing Coroutine scope Channels
The producer function The actor function
Sequential operations Callback hell
What is a callback?
Thread pools Summary Questions Further reading
Reactive Programming
Technical requirements Reactive programming with Spring Reactor
The Observer pattern The Flux publisher
The filter operator The map operator The flatMap operator The reduce operator The from static method Cancellation
The Mono publisher
Blocking and non-blocking RxJava
Flowable Observable
The debounce operator The throttle operator
Single Maybe Completable
RxJava in Android
The RxAndroid library The RxBinding library
Summary Questions Further reading
Creating an Application
Technical requirements Project idea Server side
Creating the design Developing a database model Creating a project Creating entities
Creating a Profile entity Creating a Post entity Creating a Comment entity Creating like entity
Creating repositories Creating a controller
Creating a profile's HTTP requests Creating a post's HTTP requests Creating a comment's HTTP requests
Implementing security Modified application.properties
Client side
Creating the design Creating a project Implementing dependencies  Creating HomeActivity
Modifying the layout
Creating models
Creating profile model Creating post model Creating a comment model
Creating services
Creating the profile service Creating the post service Creating the comment service Creating an API service
Creating a login activity
Modifying the layout Modifying activity Login request
Creating the registration activity
Modifying layout Modifying the activity Registering a new profile 
Modifying the main activity
Modifying the layout Modifying the activity Fetching a post Submitting a post Implementing the menu
Modifying the post adapter
Modifying post adapter layouts Creating the adapter for posts Modifying the profile layout Modifying a profile activity Fetching the profile details
Post details activity
Modifying the post details layout Modifying the post details activity Fetching post details Submitting comment Modifying the comment adapter
Checking the output
Summary Questions Further reading
Testing an Application
Technical requirements Software testing JUnit
Advantages of JUnit Basic annotations of JUnit Creating a project Test a project using JUnit 
Creating a test case for a Rest API 
UI testing on Android Espresso
Creating an application Injecting dependencies Modifying the application Creating testing files
Summary Questions Further reading
Assessments
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10
Other Books You May Enjoy
Leave a review - let other readers know what you think
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion