SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
Software Engineering Large Practical

Working with databases in Android

                  Stephen Gilmore

     School of Informatics, University of Edinburgh


               October 17th, 2012




             Stephen Gilmore   Software Engineering Large Practical
A database example




   In this lecture we will look at an example Android application
   which creates a database of TODO notes, with reminders of things
   which need to be done, and descriptions of these.

   The application is due to Lars Vogel (http://www.vogella.com).




                        Stephen Gilmore   Software Engineering Large Practical
Lars Vogel example: TODOs




                 Stephen Gilmore   Software Engineering Large Practical
A database example




                     Stephen Gilmore   Software Engineering Large Practical
TodoDatabaseAdapter




                 Stephen Gilmore   Software Engineering Large Practical
TodoDatabaseHelper (onCreate())




                 Stephen Gilmore   Software Engineering Large Practical
TodoDatabaseHelper (onUpgrade())




                 Stephen Gilmore   Software Engineering Large Practical
TodoDatabaseAdapter (open(), close())




                 Stephen Gilmore   Software Engineering Large Practical
The create, update, and delete methods




                   Stephen Gilmore   Software Engineering Large Practical
The insert() method




                Stephen Gilmore   Software Engineering Large Practical
The update() method




                Stephen Gilmore   Software Engineering Large Practical
The delete() method




                Stephen Gilmore   Software Engineering Large Practical
Fetch data




             Stephen Gilmore   Software Engineering Large Practical
Create content values




                   Stephen Gilmore   Software Engineering Large Practical
Resources




            Stephen Gilmore   Software Engineering Large Practical
Running the application




   When we run the application we are able to create a TODO note,
   and set its category to Urgent or Reminder.




                       Stephen Gilmore   Software Engineering Large Practical
Running the TODOs application




                  Stephen Gilmore   Software Engineering Large Practical
Editing a TODO item




                 Stephen Gilmore   Software Engineering Large Practical
Setting category to “Urgent”




                   Stephen Gilmore   Software Engineering Large Practical
TODOs application code




  We look at the application code to see how the Java code interacts
  with the XML layout and see how the database state is managed.




                       Stephen Gilmore   Software Engineering Large Practical
TodoDetails (imports)




.14.20.png




                      Stephen Gilmore   Software Engineering Large Practical
TodoDetails (onCreate)




.14.31.png




                      Stephen Gilmore   Software Engineering Large Practical
Graphical layout of todo edit.xml




.32.52.png


                     Stephen Gilmore   Software Engineering Large Practical
Text of todo edit.xml




.32.48.png


                    Stephen Gilmore   Software Engineering Large Practical
Outline of todo edit.xml




.32.48.png


                     Stephen Gilmore   Software Engineering Large Practical
TodoDetails (populateFields)




.14.38.png




                      Stephen Gilmore   Software Engineering Large Practical
Save state, onPause, onResume




.14.48.png




                     Stephen Gilmore   Software Engineering Large Practical
Save state




.14.56.png




                Stephen Gilmore   Software Engineering Large Practical
TodosOverview (onCreate)




.15.04.png




                     Stephen Gilmore   Software Engineering Large Practical
Options menu, item selected




.15.10.png




                      Stephen Gilmore   Software Engineering Large Practical
Options item selected




.15.22.png




                       Stephen Gilmore   Software Engineering Large Practical
Accessing the insert menu




.16.16.png

                      Stephen Gilmore   Software Engineering Large Practical
Inspecting the database




   During development we might have bugs in our code which cause
   problems with the database. In this case we would like to be able
   to see the content of the database and check that it is as we
   expect. We can use the Dalvik Debug Monitor Server (DDMS) to
   do this and we can also inspect the database using other tools for
   processing SQLlite databases.




                         Stephen Gilmore   Software Engineering Large Practical
Dalvik Debug Monitor Server (DDMS)




.21.38.png




                     Stephen Gilmore   Software Engineering Large Practical
File explorer in DDMS




                   Stephen Gilmore   Software Engineering Large Practical
/data/data/de.vogella.android.todos/...




                    Stephen Gilmore   Software Engineering Large Practical
Pulling a file from the device




                    Stephen Gilmore   Software Engineering Large Practical
Pulling a file from the device




                    Stephen Gilmore   Software Engineering Large Practical
Get the device file




                     Stephen Gilmore   Software Engineering Large Practical
Inspecting the file with sqlite3




                   Stephen Gilmore   Software Engineering Large Practical
Inspecting the file with sqlite3 on DiCE




                   Stephen Gilmore   Software Engineering Large Practical
Other tools for inspecting the database

   Numerous browsers exist for SQLite databases.
       The CellObject SQLite & XML Browser is an Eclipse
       plug-in tool built on top of Dalvik Debug Monitor Server
       (DDMS), intended for Android application developers. It is
       available from http://cellobject.net/
       SQLite Manager is an add-on for Firefox which allows users
       to browse SQLite databases using the Firefox browser. It is
       available from https://addons.mozilla.org/en-US/
       firefox/addon/sqlite-manager/
       SQLite Database Browser allows users to create, design and
       edit database files compatible with SQLite using a familiar
       spreadsheet-like interface. It is available from
       http://sqlitebrowser.sourceforge.net/


                        Stephen Gilmore   Software Engineering Large Practical
Using LogCat




  As usual, the effect of Java exceptions and other problems will
  appear in the LogCat view.




                       Stephen Gilmore   Software Engineering Large Practical
Debugs and errors displayed in LogCat




.22.45.png




                      Stephen Gilmore   Software Engineering Large Practical
Can filter messages displayed in LogCat




.34.51.png




                      Stephen Gilmore   Software Engineering Large Practical
Can use view menu to export messages




.40.30.png




                     Stephen Gilmore   Software Engineering Large Practical

Weitere ähnliche Inhalte

Andere mochten auch

UseCase is a DIALOG---NOT a PROCESS
UseCase is a DIALOG---NOT a PROCESSUseCase is a DIALOG---NOT a PROCESS
UseCase is a DIALOG---NOT a PROCESS
Putcha Narasimham
 
Activity diagram railway reservation system
Activity diagram railway reservation systemActivity diagram railway reservation system
Activity diagram railway reservation system
muthumeenakshim
 
Payroll and attendance system
Payroll and attendance system Payroll and attendance system
Payroll and attendance system
Moses Nkrumah
 
Usecase diagram railway reservation system
Usecase diagram railway reservation systemUsecase diagram railway reservation system
Usecase diagram railway reservation system
muthumeenakshim
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentation
connectshilpa
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
shruths2890
 

Andere mochten auch (9)

Steelcon 2015 Reverse-Engineering Obfuscated Android Applications
Steelcon 2015 Reverse-Engineering Obfuscated Android ApplicationsSteelcon 2015 Reverse-Engineering Obfuscated Android Applications
Steelcon 2015 Reverse-Engineering Obfuscated Android Applications
 
Toll app - Android project
Toll app - Android projectToll app - Android project
Toll app - Android project
 
UseCase is a DIALOG---NOT a PROCESS
UseCase is a DIALOG---NOT a PROCESSUseCase is a DIALOG---NOT a PROCESS
UseCase is a DIALOG---NOT a PROCESS
 
Activity diagram railway reservation system
Activity diagram railway reservation systemActivity diagram railway reservation system
Activity diagram railway reservation system
 
Payroll and attendance system
Payroll and attendance system Payroll and attendance system
Payroll and attendance system
 
Usecase diagram railway reservation system
Usecase diagram railway reservation systemUsecase diagram railway reservation system
Usecase diagram railway reservation system
 
Ziilion E245 final presentation
Ziilion E245 final presentationZiilion E245 final presentation
Ziilion E245 final presentation
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentation
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 

Ähnlich wie Working with databases in Android

James Williams_IT110_IP1.doc.docxIT110-1404A-02 Introduction.docx
James Williams_IT110_IP1.doc.docxIT110-1404A-02 Introduction.docxJames Williams_IT110_IP1.doc.docxIT110-1404A-02 Introduction.docx
James Williams_IT110_IP1.doc.docxIT110-1404A-02 Introduction.docx
priestmanmable
 
Easy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & MercurialEasy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & Mercurial
Widoyo PH
 
Android presentation
Android presentationAndroid presentation
Android presentation
Imam Raza
 

Ähnlich wie Working with databases in Android (20)

Feedback on Part 1 of the Software Engineering Large Practical
Feedback on Part 1 of the Software Engineering Large PracticalFeedback on Part 1 of the Software Engineering Large Practical
Feedback on Part 1 of the Software Engineering Large Practical
 
Ab initio training Ab-initio Architecture
Ab initio training Ab-initio ArchitectureAb initio training Ab-initio Architecture
Ab initio training Ab-initio Architecture
 
James Williams_IT110_IP1.doc.docxIT110-1404A-02 Introduction.docx
James Williams_IT110_IP1.doc.docxIT110-1404A-02 Introduction.docxJames Williams_IT110_IP1.doc.docxIT110-1404A-02 Introduction.docx
James Williams_IT110_IP1.doc.docxIT110-1404A-02 Introduction.docx
 
Intro to Android Programming
Intro to Android ProgrammingIntro to Android Programming
Intro to Android Programming
 
Extending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsExtending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with Plugins
 
Django by rj
Django by rjDjango by rj
Django by rj
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
Dost.jar and fo.jar
Dost.jar and fo.jarDost.jar and fo.jar
Dost.jar and fo.jar
 
Container Security Scanning by Timo Pagel
Container Security Scanning by Timo PagelContainer Security Scanning by Timo Pagel
Container Security Scanning by Timo Pagel
 
Container Security Scanning by Timo Pagel
Container Security Scanning by Timo PagelContainer Security Scanning by Timo Pagel
Container Security Scanning by Timo Pagel
 
Easy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & MercurialEasy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & Mercurial
 
Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4
 
Common Java problems when developing with Android
Common Java problems when developing with AndroidCommon Java problems when developing with Android
Common Java problems when developing with Android
 
Industrial IoT bootcamp
Industrial IoT bootcampIndustrial IoT bootcamp
Industrial IoT bootcamp
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Getting started with Django 1.8
Getting started with Django 1.8Getting started with Django 1.8
Getting started with Django 1.8
 
What's new in android 2018 (dev fest)
What's new in android 2018 (dev fest)What's new in android 2018 (dev fest)
What's new in android 2018 (dev fest)
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Refactoring Wunderlist. UA Mobile 2016.
Refactoring Wunderlist. UA Mobile 2016.Refactoring Wunderlist. UA Mobile 2016.
Refactoring Wunderlist. UA Mobile 2016.
 

Mehr von Stephen Gilmore

More Stochastic Simulation Examples
More Stochastic Simulation ExamplesMore Stochastic Simulation Examples
More Stochastic Simulation Examples
Stephen Gilmore
 
Fixing errors in Android Java applications
Fixing errors in Android Java applicationsFixing errors in Android Java applications
Fixing errors in Android Java applications
Stephen Gilmore
 
Continuing Android development
Continuing Android developmentContinuing Android development
Continuing Android development
Stephen Gilmore
 
Project management for the individual practical
Project management for the individual practicalProject management for the individual practical
Project management for the individual practical
Stephen Gilmore
 
Beginning Android development
Beginning Android developmentBeginning Android development
Beginning Android development
Stephen Gilmore
 
CS/SE Individual practical - DDMS and AVD
CS/SE Individual practical - DDMS and AVDCS/SE Individual practical - DDMS and AVD
CS/SE Individual practical - DDMS and AVD
Stephen Gilmore
 

Mehr von Stephen Gilmore (16)

Feedback on Part 1 of the CSLP
Feedback on Part 1 of the CSLPFeedback on Part 1 of the CSLP
Feedback on Part 1 of the CSLP
 
More Stochastic Simulation Examples
More Stochastic Simulation ExamplesMore Stochastic Simulation Examples
More Stochastic Simulation Examples
 
Quick quiz on Objective-C
Quick quiz on Objective-CQuick quiz on Objective-C
Quick quiz on Objective-C
 
Getting started with Xcode
Getting started with XcodeGetting started with Xcode
Getting started with Xcode
 
Crash Course in Objective-C
Crash Course in Objective-CCrash Course in Objective-C
Crash Course in Objective-C
 
The Stochastic Simulation Algorithm
The Stochastic Simulation AlgorithmThe Stochastic Simulation Algorithm
The Stochastic Simulation Algorithm
 
Computer Science Large Practical coursework
Computer Science Large Practical courseworkComputer Science Large Practical coursework
Computer Science Large Practical coursework
 
Software Engineering Large Practical coursework
Software Engineering Large Practical courseworkSoftware Engineering Large Practical coursework
Software Engineering Large Practical coursework
 
Introduction to the CSLP and the SELP
Introduction to the CSLP and the SELPIntroduction to the CSLP and the SELP
Introduction to the CSLP and the SELP
 
Fixing errors in Android Java applications
Fixing errors in Android Java applicationsFixing errors in Android Java applications
Fixing errors in Android Java applications
 
Feedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual PracticalFeedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual Practical
 
Creating and working with databases in Android
Creating and working with databases in AndroidCreating and working with databases in Android
Creating and working with databases in Android
 
Continuing Android development
Continuing Android developmentContinuing Android development
Continuing Android development
 
Project management for the individual practical
Project management for the individual practicalProject management for the individual practical
Project management for the individual practical
 
Beginning Android development
Beginning Android developmentBeginning Android development
Beginning Android development
 
CS/SE Individual practical - DDMS and AVD
CS/SE Individual practical - DDMS and AVDCS/SE Individual practical - DDMS and AVD
CS/SE Individual practical - DDMS and AVD
 

Kürzlich hochgeladen

Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 

Kürzlich hochgeladen (20)

ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 

Working with databases in Android

  • 1. Software Engineering Large Practical Working with databases in Android Stephen Gilmore School of Informatics, University of Edinburgh October 17th, 2012 Stephen Gilmore Software Engineering Large Practical
  • 2. A database example In this lecture we will look at an example Android application which creates a database of TODO notes, with reminders of things which need to be done, and descriptions of these. The application is due to Lars Vogel (http://www.vogella.com). Stephen Gilmore Software Engineering Large Practical
  • 3. Lars Vogel example: TODOs Stephen Gilmore Software Engineering Large Practical
  • 4. A database example Stephen Gilmore Software Engineering Large Practical
  • 5. TodoDatabaseAdapter Stephen Gilmore Software Engineering Large Practical
  • 6. TodoDatabaseHelper (onCreate()) Stephen Gilmore Software Engineering Large Practical
  • 7. TodoDatabaseHelper (onUpgrade()) Stephen Gilmore Software Engineering Large Practical
  • 8. TodoDatabaseAdapter (open(), close()) Stephen Gilmore Software Engineering Large Practical
  • 9. The create, update, and delete methods Stephen Gilmore Software Engineering Large Practical
  • 10. The insert() method Stephen Gilmore Software Engineering Large Practical
  • 11. The update() method Stephen Gilmore Software Engineering Large Practical
  • 12. The delete() method Stephen Gilmore Software Engineering Large Practical
  • 13. Fetch data Stephen Gilmore Software Engineering Large Practical
  • 14. Create content values Stephen Gilmore Software Engineering Large Practical
  • 15. Resources Stephen Gilmore Software Engineering Large Practical
  • 16. Running the application When we run the application we are able to create a TODO note, and set its category to Urgent or Reminder. Stephen Gilmore Software Engineering Large Practical
  • 17. Running the TODOs application Stephen Gilmore Software Engineering Large Practical
  • 18. Editing a TODO item Stephen Gilmore Software Engineering Large Practical
  • 19. Setting category to “Urgent” Stephen Gilmore Software Engineering Large Practical
  • 20. TODOs application code We look at the application code to see how the Java code interacts with the XML layout and see how the database state is managed. Stephen Gilmore Software Engineering Large Practical
  • 21. TodoDetails (imports) .14.20.png Stephen Gilmore Software Engineering Large Practical
  • 22. TodoDetails (onCreate) .14.31.png Stephen Gilmore Software Engineering Large Practical
  • 23. Graphical layout of todo edit.xml .32.52.png Stephen Gilmore Software Engineering Large Practical
  • 24. Text of todo edit.xml .32.48.png Stephen Gilmore Software Engineering Large Practical
  • 25. Outline of todo edit.xml .32.48.png Stephen Gilmore Software Engineering Large Practical
  • 26. TodoDetails (populateFields) .14.38.png Stephen Gilmore Software Engineering Large Practical
  • 27. Save state, onPause, onResume .14.48.png Stephen Gilmore Software Engineering Large Practical
  • 28. Save state .14.56.png Stephen Gilmore Software Engineering Large Practical
  • 29. TodosOverview (onCreate) .15.04.png Stephen Gilmore Software Engineering Large Practical
  • 30. Options menu, item selected .15.10.png Stephen Gilmore Software Engineering Large Practical
  • 31. Options item selected .15.22.png Stephen Gilmore Software Engineering Large Practical
  • 32. Accessing the insert menu .16.16.png Stephen Gilmore Software Engineering Large Practical
  • 33. Inspecting the database During development we might have bugs in our code which cause problems with the database. In this case we would like to be able to see the content of the database and check that it is as we expect. We can use the Dalvik Debug Monitor Server (DDMS) to do this and we can also inspect the database using other tools for processing SQLlite databases. Stephen Gilmore Software Engineering Large Practical
  • 34. Dalvik Debug Monitor Server (DDMS) .21.38.png Stephen Gilmore Software Engineering Large Practical
  • 35. File explorer in DDMS Stephen Gilmore Software Engineering Large Practical
  • 36. /data/data/de.vogella.android.todos/... Stephen Gilmore Software Engineering Large Practical
  • 37. Pulling a file from the device Stephen Gilmore Software Engineering Large Practical
  • 38. Pulling a file from the device Stephen Gilmore Software Engineering Large Practical
  • 39. Get the device file Stephen Gilmore Software Engineering Large Practical
  • 40. Inspecting the file with sqlite3 Stephen Gilmore Software Engineering Large Practical
  • 41. Inspecting the file with sqlite3 on DiCE Stephen Gilmore Software Engineering Large Practical
  • 42. Other tools for inspecting the database Numerous browsers exist for SQLite databases. The CellObject SQLite & XML Browser is an Eclipse plug-in tool built on top of Dalvik Debug Monitor Server (DDMS), intended for Android application developers. It is available from http://cellobject.net/ SQLite Manager is an add-on for Firefox which allows users to browse SQLite databases using the Firefox browser. It is available from https://addons.mozilla.org/en-US/ firefox/addon/sqlite-manager/ SQLite Database Browser allows users to create, design and edit database files compatible with SQLite using a familiar spreadsheet-like interface. It is available from http://sqlitebrowser.sourceforge.net/ Stephen Gilmore Software Engineering Large Practical
  • 43. Using LogCat As usual, the effect of Java exceptions and other problems will appear in the LogCat view. Stephen Gilmore Software Engineering Large Practical
  • 44. Debugs and errors displayed in LogCat .22.45.png Stephen Gilmore Software Engineering Large Practical
  • 45. Can filter messages displayed in LogCat .34.51.png Stephen Gilmore Software Engineering Large Practical
  • 46. Can use view menu to export messages .40.30.png Stephen Gilmore Software Engineering Large Practical