[Link], [Link] and TocActivity.
kt
activity_main.xml ,activity_reader.xml, activity_toc.xml
[Link], [Link] and [Link]
activity_main.xml ,activity_reader.xml, activity_toc.xml
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
setContentView([Link].activity_main)
// Find the button and open TOC
val btnOpenToc: Button = findViewById([Link])
[Link] {
val intent = Intent(this, TocActivity::[Link])
startActivity(intent)
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[Link]
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<Button
android:id="@+id/btnOpenToc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Open Table of Contents" />
</LinearLayout>
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
class ReaderActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
setContentView([Link].activity_reader)
val textView: TextView = findViewById([Link])
// Get chapter title passed from TOC
val chapterTitle = [Link]("chapterTitle")
// For now, just show chapter title (later you can add full text)
[Link] = "Reading: $chapterTitle\n\n(Chapter content will go here...)"
}
}
activity_reader.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<TextView
android:id="@+id/textViewChapter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"/>
</ScrollView>
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class TocActivity : AppCompatActivity() {
// Array of chapters (TOC)
private val chapters = arrayOf(
"I. Introduction to Cyber Security",
"II. Cybercrime and Cyber Law",
"III. Introduction to Social Networks",
"IV. Digital Devices Security Tools and Technologies"
)
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
setContentView([Link].activity_toc)
// Find ListView
val listView: ListView = findViewById([Link])
// Attach chapters to ListView using a simple adapter
val adapter = ArrayAdapter(this, [Link].simple_list_item_1, chapters)
[Link] = adapter
// Handle item click → open ReaderActivity
[Link] { _, _, position, _ ->
val intent = Intent(this, ReaderActivity::[Link])
[Link]("chapterTitle", chapters[position])
startActivity(intent)
}
}
}
activity_toc.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Table of Contents"
android:textSize="20sp"
android:paddingBottom="12dp" />
<ListView
android:id="@+id/listViewSections"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
🚀 Roadmap to Develop Cybersecurity Book App
🔹 1. Define App Purpose & Audience
Goal: Provide students, learners, and professionals easy access to structured cybersecurity content.
Audience: Beginners to intermediate learners.
Core Features:
o Table of contents navigation 📑
o Search within topics 🔍
o Bookmarks & notes 📌
o Dark mode 🌙
o Offline access 📴
🔹 2. Choose Tech Stack
Language: Kotlin (modern, Google recommended)
UI Framework: Jetpack Compose (or XML if you prefer classic layouts)
Architecture: MVVM (Model-View-ViewModel) for scalability
Storage:
o Use Room Database or JSON assets to store book chapters
o SharedPreferences for bookmarks & settings
🔹 3. Design App Structure
a) Screens
1. Splash Screen – app logo + book title
2. Home Screen – shows main sections (I, II, III, IV)
3. Table of Contents Screen – expandable list of chapters
4. Chapter Reader Screen – display text content with scroll, zoom, and search
5. Search Screen – search terms across chapters
6. Bookmarks & Notes Screen
7. Settings Screen – dark mode, font size, reset data
b) Navigation
Use Navigation Component for easy navigation between screens.
TOC → Subsections → Chapter → Reader Screen.
🔹 4. Content Management
Store your book content in:
o assets JSON/XML files (lightweight, easy to load offline)
o Example:
{
"section": "I Introduction to Cyber Security",
"chapters": [
{
"title": "Defining Cyberspace",
"page": 4,
"content": "Cyberspace refers to..."
},
{
"title": "Architecture of Cyberspace",
"page": 4,
"content": "The architecture of cyberspace consists of..."
}
]
}
This allows dynamic rendering without hardcoding.
🔹 5. UI/UX Features
Expandable TOC list (Accordion style)
Reader-friendly UI: adjustable font, themes
Highlighting & bookmarking (save last-read position)
Case Study Section: formatted nicely with examples
Search bar: full-text search inside chapters
🔹 6. Security Features (since it’s a Cybersecurity book ⚡)
Protect content from easy copy-paste (optional).
Provide Quiz/MCQ module later for learning engagement.
Offline mode (no data leak via internet).
🔹 7. Development Phases
Phase 1 (MVP – 3 weeks)
Setup project, splash screen, navigation
Implement Table of Contents + Reader screen
Load chapters from JSON
Phase 2 (Enhancements – 3 weeks)
Add bookmarks, notes, and search
Add dark mode + font size customization
Optimize for offline access
Phase 3 (Advanced – optional)
Add quizzes / practice tests
Integrate voice reading (Text-to-Speech)
Cloud sync (Firebase) for multi-device
🔹 8. Deployment
Test thoroughly on emulators + your real phone (Infinix).
Generate Signed APK or App Bundle.
Publish on Google Play Store (if public) or distribute APK privately.
🔹 9. Tools Needed
Android Studio 2025.1.3.7 (already installed 🎉)
Gradle (comes with Studio)
JSON editor (for managing book content)
GitHub (optional for version control)
✅ This roadmap will give you a professional book reader app, but tailored for cybersecurity education.
👉 Next step: I can design a sample folder structure + UI wireframe for your project.
Would you like me to show the project structure in Android Studio (folders + files) so you can start coding right away?