Posted
on March 14, 2010, 11:38 am,
by Keith,
under
News.
It has been a long time in the making and now the first alpha of Critters is available on the Android Market!
Final Features:
- Multiple Pets
- E-mail Medical Records
- Locate Veterinarians
- Owner Details
- Pet Details
- Pet Insurance
- Veterinarians
- Vaccinations
- Medications
- Medical Conditions
- Weight History
- Feeding Schedules
E-mailing of medical records with an attached photo is still quirky. If a record and photo is sent with GMail, everything works as expected. If the native e-mail application is used, the MIME type for the attached photo is not set correctly. This creates a slightly tweaked message. It still works; however, the encoded attachment data is visible at the end of the e-mail body.
To learn more about Critters and see a few screenshots, visit the project’s home page here.
Posted
on February 21, 2010, 11:05 am,
by Keith,
under
News.
After upgrading one of my desktops from Ubuntu Jaunty 9.04 to Karmic 9.10, I was left with a system that wouldn’t boot. Dynamic Kernel Module Support (DKMS) was not rebuilding the existing NVIDIA and Virtual Box modules that were in place before the upgrade. A scan through the system logs led to the conclusion that the kernel headers were not installed as part of the kernel image upgrade.
The solution seemed obvious–install the missing kernel headers and manually rebuild the modules. I went into recovery mode, installed the kernel headers, rebuilt the NVIDIA and Virtual Box modules and rebooted. The system came back up and all was well. This all changed when the next set of updates were applied to the system. I was right back where I started with a non-bootable system.
A little investigation on the web and I found the problem. The linux-headers-generic package was missing. I opened a terminal and executed the following:
sudo apt-get install linux-headers-generic
Now every time a kernel update comes down, the kernel headers are automatically updated and the kernel modules get rebuilt as expected. One question remains, why was the generic headers package removed during the upgrade?
Posted
on January 24, 2010, 12:36 pm,
by Keith,
under
Development.
Recently I needed to add a date picker dialog to a form I was designing. It was pretty straight forward, an EditText with an adjacent button to trigger a DatePickerDialog to quickly select a date.
The following is an example from my project. I create a managed date picker dialog that is set to the date in the EditText. If the EditText is empty or has an invalid date string, the date picker dialog is set to today’s date.
Code snippet from my activity:
...
@Override
protected Dialog onCreateDialog(int id) {
Log.d(TAG, "onCreateDialog() -> id = " + id);
if (id == ID_DIALOG_DATE_PICKER) {
return new DatePickerDialog(this, searchDateSetListener, 0, 0, 0);
}
return super.onCreateDialog(id);
}
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
Log.d(TAG, "onPrepareDialog() -> id = " + id);
if (id == ID_DIALOG_DATE_PICKER) {
DatePickerDialog dlg = (DatePickerDialog) dialog;
// Get today's date
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Get the search filter
String filter = editSearchFrom.getText().toString().trim();
// Update the date picker dialog
try {
Date date = dateFormat.parse(filter);
c.setTime(date);
dlg.updateDate(
c.get(Calendar.YEAR),
c.get(Calendar.MONTH),
c.get(Calendar.DAY_OF_MONTH));
} catch (ParseException e) {
dlg.updateDate(year, month, day);
}
}
}
...
Read the rest of this entry »
Critters has been updated and includes the following new functionality and enhancements:
- New – Pet list with thumbnail photos
- New – Pet list filtering
- New – Veterinarian search via Google Maps application
- New – Save custom veterinarian search terms
- New – User stories added to unit tests
- Enhancement – Owner list thumbnail photos
- Enhancement – Owner list filtering
To learn more about Critters and see a few screenshots, visit the project’s home page here. The source snapshot has been updated and is available for download.
The first source code drop for Critters is available for download.
The application is feature complete for the management of pet owners. Unit and functional tests have been completed and included in this release. Don’t laugh too hard while you are reviewing the source. This is the first project I have done in Android and it is still a learning process. If you have any suggestions or pointers, please feel free to let me know.
Posted
on October 23, 2009, 4:55 pm,
by Keith,
under
News.
It has been hard to find the time, but I finally made a bit of progress on Critters. Pet owner management is almost complete and includes the following functionality:
- Create, edit and delete owners
- Attach a photo of an owner to their personal record
- Place a call from the owner’s contact list
- Send an e-mail from the owner’s contact list
To learn more about Critters and see a few screenshots, visit the project’s home page here.
Posted
on September 27, 2009, 4:55 pm,
by Keith,
under
Development.
This month I was researching ways to implement data access for my Android project. I found an interesting tutorial posted by Java Padawan available here. The author presents what is a “sort-of” ActiveRecord data model for Android. I really liked the idea and implemented my own version for use in my project. Today’s article covers most of what was presented in the author’s original tutorial plus a few other items that I felt were missing. Read the rest of this entry »
Posted
on August 30, 2009, 11:51 am,
by Keith,
under
Development.
Today’s article will cover a quick and dirty approach to form validation for Android applications. My application has an activity that displays a form to the user for entering personal information. This information is then stored in a SQLite database. I needed a way to validate the data in the form’s widgets before saving that data in the application’s database. The Android framework provides some support for entering valid data into a form. This support includes hints and input filters. Hints are a handy way to help a user enter information when a widget’s text is empty. Read the rest of this entry »
Posted
on July 11, 2009, 2:01 pm,
by Keith,
under
Development.
While working on my first Android project, I ran into an interesting problem; how to add an icon to the window title of my application’s about dialog. My search for a solution only led to others asking this same question without any answers. Here is my solution to the problem in the hope that it may save you some time engineering your own. Read the rest of this entry »
Posted
on June 14, 2009, 1:59 pm,
by Keith,
under
News.
It was over two years ago that I embarked on creating an open source electronic medical record. Today I have decided to discontinue work on openEPRS. This rise of other open source projects such as Medsphere put openEPRS at a competitive disadvantage. The complexity and scope of building an EMR is beyond the capabilities of a single developer. That is not to say definitively that it is impossible. However, by the time a single person could complete such a project, it would be obsolete.
In retrospect, the project was not a complete failure. openEPRS was a great opportunity for learning Ruby on Rails which helped me become a better developer. Now, on to the next challenge!