|
I found these videos on Google’s Android website that are useful to beginners looking to get started with the Android platform. Part 1/3: Android Architecture Part 2/3: Android application lifecycle Part 3/3: Building an Android application A company that builds an Android application: |
| Navigation: Go to top of page | Go to The Blog Index | Related Categories: Mobile/Wireless, Tips and Tricks | Related Tags: Android Comments: Be the first to write a comment |
| « Apple WWDC – MobileMe and iPhone background tasks | More on Java WebKit and Filthy Rich Client presentations » |
- Mobile/Wireless
- Tips and Tricks
New Tutorial – Working with BlackBerry list fields
This tutorial will show you how to create non-trivial lists using ListField. I will create a sample program that allows you to create, remove, update, delete the contents of a list (that’s backed by a Vector). The list field contains rows of selectable list items. It allows you to display a list of items, and load this list of objects from an array or vector. When using a ListField you have to provide an implementation of the ListFieldCallback interface to perform drawing tasks. This callback constitutes the view and model (using MVC terminology). The controller is the ListField class.
New Tutorial - Creating a BlackBerry HTTP Connection
This tutorial will show you the various ways to create an HTTP networking connection from your BlackBerry device to an HTTP server (web service, servlet, etc). The complicated part about doing this on a BlackBerry is deciding which transport you would like to use, and which transport you can use.
New Tutorial – BlackBerry field borders and backgrounds
This tutorial will show you how to create field (component) backgrounds and borders (decoration). Each field can have a border and a background property. You can use the border to space out fields in your UI, and you can use them to add whitespace. The background allows you to set the background color property of your field and make it fit the look for your app.
New Tutorial - Creating a BlackBerry custom field
This tutorial will show you how to create a very simple custom field (component) using the RIM API. If you're familiar with Swing, then this code will not be a surprise to you. There are some similarities between AWT/Swing and RIM UI API.
New Tutorial - Using the BlackBerry gauge field to display progress
This tutorial will show you how the use the gauge field to show progress in your apps. This is useful when your app is performing long running tasks that need to report feedback to the user. The gauge field is a horizontal component that can be used to display status or progress. It displays a percentage from 0 to 100 and you can set a label before it to display any progress/status messages. You can even overlay the label inside of the gauge field, so that it won't be displayed before it, but inside of it (on top of the progress bar that’s drawn).
New Tutorial - Asking for BlackBerry application permissions upfront
This tutorial will show you how to ask a user (of your BlackBerry app) for permissions that are required in order for your app to function properly. There are many APIs in the RIM API that will cause a prompt to be displayed in the BlackBerry UI that will require a user to provide explicit permission to access certain API functionality or access to certain hardware features or data on the device. Instead of interrupting the UI, it’s possible to ask the user for all of these permissions at the very beginning. By the way, if the user does not grant permissions when this popup appears, then an exception will be thrown which you have to deal with.
New Tutorial – Working with BlackBerry screens
In this tutorial, I will show you how to quickly manage screens using the RIM UI API. The BlackBerry OS maintains a stack of screens, and your app can be pushed and popped from this stack. These are normal screen display operations. You can even hide your screen from the display, and it will show the BlackBerry home screen. You can close the screen as well.
New Tutorial - Working with BlackBerry Layout Managers
This tutorial will simply walk you through the various layout managers available to you using RIM’s UI API (not MIDP). RIM’s layout managers are akin to Swing layout managers, and allow you to arrange lots of fields (aka components in Swing), on the screen. You can create your own layout managers, just like in Swing, but this tutorial will show you how to use the built in ones. If none of the layout managers shown here work for you, then you can composite layout managers to get the desired look for your app, before creating your own.
New How-To – Set Security & Application Permissions For BlackBerry Apps
If you are a BlackBerry developer, you are familiar with BlackBerry code signing keys. If you are consumer you may not know that in order for a company to make BlackBerry apps, it must apply for “code signing keys ” from RIM. RIM requires certification that companies are legitimate, legal, and properly registered before they will give out code signing keys to them, and developers must put these keys into the apps they make in order for them to work. That is just one level of security that RIM employs to ensure good quality, and safe apps for the consumer. When you install an app on your BlackBerry, you are probably familiar with permissions, and the permissions pop-ups you get when you run an app for the first time. If you have BES you have been asked to “grant an app trusted application status”. I am going to go into more details about permissions and the multiple levels of security from device-level to server-level security that every consumer should be aware of.
New Tutorial – Creating your first GUI BlackBerry App
This tutorial will simply walk you through creating your first GUI app using RIM’s UI API (not MIDP). Only a skeleton will be created, that you can later expand.
New How-to - Setup Exchange & BES on your BlackBerry
I highly recommend that any serious BlackBerry user and anyone with a busy life gets Exchange for their BlackBerry. If you truly want to experience the seamless integration that a BlackBerry can offer you, you must have BES and must have a hosted Exchange provider. Many people don’t have this because it is complicated to set up, and they don’t know where to start. This is why I didn’t have it for a long time. I spent many hours researching how to get it setup, and I have condensed all that into an easy how-to guide so that all of you can enjoy the awesomeness that is Exchange on BlackBerry (minus any frustration). It isn’t cheap, I will be honest, but neither is the BlackBerry Bold or it’s data plan, but it is one of the single best investments you can make in your digital lifestyle.
New How-To - Install, Evaluate, and Delete BlackBerry Apps
This article is about installing, evaluating, and deleting BlackBerry Apps. It is about a process for evaluating apps and deciding if they are good, well written apps, or bad apps that will brick your BlackBerry and make you have to wipe it. If you have ever installed a “bad” app, you know how it can wreak havoc on your BlackBerry and make it completely unstable. I will go over how to remove bad apps and wipe all traces of them from your BlackBerry, but most importantly, I will go over how to prevent this from happening in the first place. There are many more bad apps than good ones, and there are very few talented BlackBerry developers that write good quality software. BlackBerry development is complex, and lots of things have to be taken into account when writing apps - things like: CPU consumption, bandwidth usage, power consumption, caching, multithreading, compression, UI responsiveness, intuitive & easy-to-use UIs, tight integration with BlackBerry platform, etc.These are all things that the development team at ScreamingToaster take into account when developing apps such as Wicked Blogging App, which is a blogging app with social features, and MyListy, which is a list application.
I love RIM – its people, its products, and where its headed. There's a lot to be fixed, but it's getting better; key people at RIM acknowledge all these gaps and are addressing them. This is why I love RIM! And I stay committed to creating BlackBerry apps and supporting every new feature of the BlackBerry platform. Read on to find out more...
RIM just released a new JDE version, you can download it here. Here’s a review of an early release of OS 5.0 on an actual Bold. 5.0 is going to be an awesome OS! In writing software for OS 4.6 for some time now, I’ve run into lots of limitations in media capture that are being addressed by 5.0! Video capture is coming in 5.0!
New Review – BlackBerry 8900 Javelin in-depth review
For sheer computing power and speed, the Bold can’t be beat. However, it’s big and heavy and bulky when compared to the Javelin. The Javelin is a much more balanced device which sacrifices a lot of the Bold’s functionality for greater battery life, smaller form factor. However, I don’t feel that anything is “missing” from the Javelin. It’s a great device. If I travelled a lot, I would get the Javelin :) . I really love both devices, and they are optimized for slightly different environments. To make a laptop analogy, the Javelin is an ultraportable, while the Bold is a mobile workstation.
New Review – BlackBerry OS 5.0.0.93
This review covers the new functionality of OS 5.0.0.93, which is not an official release from RIM, but a pre-release copy of the OS. Lots of great changes: Conference Bridge Line support, WebKit browser (maybe), faster and better graphics, revamped UI, transition animations for picture scrolling, Outlook email message flag support, and much more!
1 million Android smartphones sold in the US
T-Mobile has announced that it’s just sold the 1 millionth G1 smartphone in the US! :) I like Android, and want it to succeed, so it’s good to see positive numbers. However, there’s a long way to go still, with stiff competition coming from LiMo this year, and a dearth of Android powered devices in the market. In about 7 months, T-Mobile was able to sell about 1M G1 units, which is not bad, but not that great either. It still remains to be seen if Android is going to be a major player or not. We shall see.
Amazon has released a really cool mobile app for BlackBerry. You can download it here. It allows you to see what’s in your shopping cart, as well as buy things on the go. One cool feature is that you can take a picture of a product, that can then be sent to Amazon to see if they have it in stock. If they do, you get an email notification later that allows you to buy the product from them!
Android vs. LiMo: What’s the difference?
I’ve been developing software for BlackBerry for the last year or so and have been keeping an eye on Android to see if it will go anywhere. Currently, Android has enjoyed limited success in a very specific demographic, which represents a small fraction of the marketshare that RIM and Apple have. So while the T-Mobile launch of the G1 has been successful for the modest goals that were set, I don’t think it represents a big accomplishment. However, all I’ve read on tech blogs and news outlets is how there are going to be around 10 new handsets for Android this year. This has been the buzz for more than 1/2 a year now... well, it turns out that slowly these rumors have stopped saying Android handsets, and saying Linux handsets... so I figured Android is basically Linux with a JVM and so they were talking about Android. Well, I was wrong. Most of the new handsets that have been announced using Linux Mobile, which is NOT Android.
New Review - Using Skype as a replacement for a landline
I've been running my own business for a while and have been paying a lot of money per month for a land line. I have a few employees and have cell phones for all of us, and don’t have unlimited voice plans, we have shared minutes, and unlimited data plans for each of us. I don’t like to use mobile phones as the primary phone communication method, simply because of unreliable and choppy service, and even when service is good, sound quality is lacking, when compared to a landline. Having crappy phone lines gives businesses a cheap feel in my opinion, which is why I ended up spending a lot of money keeping a land line. I used to pay over $50 per month for a land line for the business, and the mobile phones end up costing about $60/70 per person (with unlimited data plan). So I was looking for a better and cheaper solution to having a land line.
New Tutorial - Using JSON for mobile object exchange
I've been working with various object encoding schemes to get information transferred over the network between services and mobile apps running on Android and BlackBerry. On Android, I figured I would try using Java object serialization, and that works some of the time, and not for anything complex. I wish the object serialization and deserialization mechanism in GWT would be ported over to all these mobile environments, but I digress. This tutorial outlines the use of JSON for this purpose.
BlackBerry Mobile Blogging App for Drivelikeagirl.com
Download v1 of the BlackBerry App for Drivelikeagirl.com community. Must have BB OS 4.6 device or higher.
Mobile Blogging for BlackBerry video demo! :)
Here's a 5 minute demo of the Wordpress Editor aka "Wicked Editor" :).
BlackBerry Application Storefront
RIM is launching it's app store in March 09. They are currently accepting submissions online. I'm planning on submitting all my apps for sale on the storefront, will you be doing the same?
Objective C introduction for Java developers, and creating iPhone apps with Java
This is a great video that shows Dr. Arno Puder giving a one hour presentation at Google. The highlights are a great introduction to the Objective C language for Java developers. The syntax is very strange, and very Smalltalk-like. Very interesting language... no runtime garbage collection, it uses reference counting.
New Tutorial - Getting code signing keys from RIM, then using them
If you use certain BlackBerry APIs, you have to get code signing keys and sign your .COD file with them, before you will be able to install and run these applications on a BlackBerry device. This tutorial will walk you through the process of getting the keys, and installing them to your JDE, and then deploying your application to a real device OTA (over the air).
New Review - BlackBerry Bold and OS 4.6.x in-depth review
I've been waiting for the BlackBerry Bold for a long time now, and it was launched in the US, exclusively by ATT on Nov 4 2008. Well, has it been worth the wait? Short answer - YES. I've been using the device since 4th quite heavily, making calls, using the 3G network for data, using the media player, syncing with Outlook, using BES and BIS, and even writing software for it. In this review, I will discuss the ins and outs of the Bold, and how well it works and doesn't work in specific scenarios.
Blackberry Bold release date in the US - November 4 2008
BB Bold US launch date delayed YET AGAIN - Nov 4th 2008. Also, get a custom paint job for your Bold.
New Tutorial - BlackBerry Development Tools Eclipse JDE Plugin
There are different tools that you can use for BB development - Eclipse Plugin and JDE. In this tutorial I will show you how to use the Eclipse Plugin as your IDE for BlackBerry development. Directions are provided on how to install and configure the Eclipse Plugin, then get started with a Hello World project, then deploy the project to the simulator and run it.
New Tutorial - BlackBerry Development Tools - JDE (and IDEA)
There are different tools that you can use for BlackBerry development - Eclipse Plugin and JDE. In this tutorial I will show you how to use the JDE in conjunction with IDEA as the primary IDE for BlackBerry development. Directions are provided on how to install and configure the JDE, then get started with a Hello World project, then deploy the project to the simulator and run it. The JDE is an IDE that BlackBerry created, and it’s really really old. Modern IDEs like IDEA, Eclipse, and NetBeans really put it shame. It’s good to see that BlackBerry is working on an Eclipse based IDE, and hopefully the JDE will be retired soon. I couldn’t stand to use the JDE by itself, which is why I do all my editing, compiling, refactoring in IDEA, and just use JDE to build my COD file and run it in the simulator, and occasionally use the debugger in the JDE. It’s really old looking and clunky, and just a pain to work with, when compared to IDEA. You can use Eclipse or NetBeans instead of IDEA if that’s your preference.
Blackberry Storm coming soon to Verizon Wireless
RIM is launching a touchscreen device, that’s an MP3 player (with stereo BT), 3.2MP camera, and video camera, with 8GB of storage! It’s called the Storm, and it's available exclusively on Verizon Wireless; launch date of November 16th 2008. It will have an accelerometer, just like the iPhone. It has a touchscreen, like the iPhone with 1 major difference – it will have tactile feedback. Just like the Jaeger-LeCoultre AMVOX2 (Aston Martin watch), you have to push the entire screen in for it to register a ‘click’, and it provides tactile feedback to let you know when the 'click' has happened. So you can move the cursor around by touching the screen, but for 'clicks', you have to press the entire glass surface in, and it ‘clicks’ :). Also, it will have copy/paste, but no WiFi.
Blackberry Developer Conference
First Blackberry Developer Conference. 2 days. Training for developers new to the platform, and information on future roadmap of the Blackberry platform.
Blackberry roadmap details, Storm presentation leaked
BGR leaked some documents on new products that RIM is launching and planning to launch this year and the next. There's lot of great information in these documents. I've cleaned up the documents and presentations on BGR's site and turned it into PDF documents, which are easier to read that what they have there.
New Tutorial - Getting started with Blackberry SDK and tools
This tutorial has helpful pointers for developers who are just getting started with Blackberry development. This includes information on tools, IDEs, tutorials, videos, etc.
HTC G1 available on T-Mobile from Oct 22 2008. Lots of details, pictures, and videos...
Wireless Roaming Standard - 802.11r
New 802.11r standard to allow quick hand off from one one access point to another.
Android phone - HTC Dream spy shots
Spy shots of HTC Dream coming soon to T-Mobile.
Lots of Android news - new SDK drop, and new handset coming next month! HTC G1
In summary. Android has a hostile SDK that requires special expertise to handle and leverage (sure to keep lots of developers away). There are no handsets out there yet, so lots of ISVs won’t touch this platform. Very few ISVs or developers to compete against.
New Tutorial - Android Application Provisioning Strategies
There aren't any good solutions out right now. App provisioning and management are left out of the M5 SDK, and we have to wait until a future release to see this in place. Once it's in place, these other strategies outlined here may or may not be viable. However, if you can preload an APK file into a device, then the solutions outlined here might work for you.
New Tutorial - Android WebView (WebKit)
This article shows you the limitations and capabilities of the WebView component. You will see how to download files from the network and use them in HTML, as well as assets loaded in the APK file.
New Tutorial - Android Service creation and consumption
This tutorial will show you how to create a simple service, that does not use IPC (inter process communication). Services are great for running long running tasks and business logic, outside an Activity, which is tied to the user interface. For example, if you have a background task that has to download data periodically, then you should put that task in a Service. You can explicitly start a service and stop it as well. With IPC you can connect to a running service and call methods on it, however, in this example, I won't be using any IPC; instead all data transfer will happen via a shared object and a listener.
New Tutorial - Android Animation Framework
This tutorial is an introduction to the built in animation frameworks that are part of the Android UI library. Without writing any animation/drawing code, you can do 2 types of animations - layout transitions that affect ViewGroups, and sequences inside a View. You can also do frame by frame animation, but this tutorial will not cover that. The basics covered here affect layout transitions, and animation of a View itself, using tweening animation, which includes each of the following effects (or any combination) - Alpha, Rotate, Scale, and Translate.
New Tutorial - Android ListView and custom adapter
This tutorial will show you how to use ListView to display selectable lists of non trivial data, using complex cell renderers. The ListView is a selectable list. You can attach a variety of data models to it and load different display layouts (cell renderers). You can create your own model and cell renderer. This model-view combo is called an Adapter. In this tutorial, I will show you how to extend create your own Adapter from scratch, and create your own cell renderers from scratch as well.
New Tutorial - Android LinearLayout
This tutorial shows you how to use the LinearLayout container (using Java code, not XML markup), which is the simplest layout mechanism available on Android. If you're familiar with Swing's BoxLayout then you will have a good idea of what this container has to offer. Linear layouts are really simple… you can add components horizontally or vertically to a ‘bag’ or ‘box’.
New tutorial - Creating and using Android UI Themes
This tutorial will show you how to use Android's theme-ing capabilities. You can set background color, image, etc. on widgets, dialogs, and activities.
New Tutorial - Android TableLayout
This tutorial will show you how to use the TableLayout container, which is like an HTML table. The UI layout code is done in Java, not XML. A class (LayoutUtils) is provided to make it easier to attach layout params to View objects.
New Tutorial - Android Option and Context menu
This tutorial will show you how to create options menu (hooks into the MENU button) and context menu (press and hold a component).
New Tutorial - Android XML View Inflation
This tutorial will show you how to instantiate or inflate a View from XML; this is useful for components that don't provide a Java API to tweak with certain style attributes. The Button class is used as an example; you can only get certain styles to show up via XML that aren't available via the Java API.
New Tutorial - Android Activity and sub-Activity
This tutorial will show you how to create a sub-Activity from a calling-Activity, and process the results produced by the sub-Activity, if you want to do so. Also, the various ways of launching a sub-Activity are covered, along with the Android Activity history stack. A subclass of Activity is also provided that makes it trivial to launch sub-Activities and respond to results from them.
New How-To – Set Security & Application Permissions For BlackBerry Apps
If you are a BlackBerry developer, you are familiar with BlackBerry code signing keys. If you are consumer you may not know that in order for a company to make BlackBerry apps, it must apply for “code signing keys ” from RIM. RIM requires certification that companies are legitimate, legal, and properly registered before they will give out code signing keys to them, and developers must put these keys into the apps they make in order for them to work. That is just one level of security that RIM employs to ensure good quality, and safe apps for the consumer. When you install an app on your BlackBerry, you are probably familiar with permissions, and the permissions pop-ups you get when you run an app for the first time. If you have BES you have been asked to “grant an app trusted application status”. I am going to go into more details about permissions and the multiple levels of security from device-level to server-level security that every consumer should be aware of.
New How-to - Setup Exchange & BES on your BlackBerry
I highly recommend that any serious BlackBerry user and anyone with a busy life gets Exchange for their BlackBerry. If you truly want to experience the seamless integration that a BlackBerry can offer you, you must have BES and must have a hosted Exchange provider. Many people don’t have this because it is complicated to set up, and they don’t know where to start. This is why I didn’t have it for a long time. I spent many hours researching how to get it setup, and I have condensed all that into an easy how-to guide so that all of you can enjoy the awesomeness that is Exchange on BlackBerry (minus any frustration). It isn’t cheap, I will be honest, but neither is the BlackBerry Bold or it’s data plan, but it is one of the single best investments you can make in your digital lifestyle.
New How-To - Install, Evaluate, and Delete BlackBerry Apps
This article is about installing, evaluating, and deleting BlackBerry Apps. It is about a process for evaluating apps and deciding if they are good, well written apps, or bad apps that will brick your BlackBerry and make you have to wipe it. If you have ever installed a “bad” app, you know how it can wreak havoc on your BlackBerry and make it completely unstable. I will go over how to remove bad apps and wipe all traces of them from your BlackBerry, but most importantly, I will go over how to prevent this from happening in the first place. There are many more bad apps than good ones, and there are very few talented BlackBerry developers that write good quality software. BlackBerry development is complex, and lots of things have to be taken into account when writing apps - things like: CPU consumption, bandwidth usage, power consumption, caching, multithreading, compression, UI responsiveness, intuitive & easy-to-use UIs, tight integration with BlackBerry platform, etc.These are all things that the development team at ScreamingToaster take into account when developing apps such as Wicked Blogging App, which is a blogging app with social features, and MyListy, which is a list application.
Native font rasterization limitations in Java 6 Update 10
2 issues with native font rasterization on Java 6 Update 10.
OneNote is awesome - sharing documents with yourself and others
OneNote is great for sharing documents across a local network. It keeps them in sync for you, and it allows you to share them "live" with people on the local network (and even WANs).
Make IE7 more usable with IE7Pro
Make IE7 more usable with IE7Pro
Pointui - make Windows Mobile a little more like the iPhone
Makes Windows Mobile more usable and less fugly with Pointui
ffdshow - Never hunt for a video codec again
Sick and tired of missing codecs? Never hunt for a video codec again.



