developer.android.comのTrainingを消化しようか [ 随時更新 ]
病に押され気味だったり、周囲のゴタゴタだったりで、心身共に弱り切っていたことで棚上げになっていたandroidのプログラミング技術の習得を再開、仕切り直しをすべくネタを用意してみました。
Getting Started | Android Developers
http://developer.android.com/training/index.html
公式サイトにあるTrainingを最初から順々に、途中持ち合わせた知識で小物を作りつつ、最後まで消化していきます。
このトレーニングは、基本を網羅するGetting Started(序章)と、Building App with~に分類される応用開発がMultimedia , Graphics & Animation , Connectivity & the Cloud , User Info & Location の4種類。Best Practices for~に分類される有用性や最適化に関する物がUser Experience & UI , User Input , Performance , Security & Privacy の4種類。最後にUsing Google Play to Distribute & Monetizeという管理と収益化に関する項目で構成されています。
以下はインデックスを兼ねた備忘録。随時加筆の方向で
History
2013.08.09 取り急ぎインデックスの作成
Getting Started
- Building Your First App
- Creating an Android Project
- Running Your Application
Creating an Android Project ~ Running Your Application | Planetleaf.com Lab. - Building a Simple User Interface
Building a Simple User Interface | Planetleaf.com Lab. - Starting Another Activity
Starting Another Activity | Planetleaf.com Lab.
- Adding the Action Bar
- Setting Up the Action Bar
- Adding Action Buttons
- Styling the Action Bar
- Overlaying the Action Bar
- Managing the Activity Lifecycle
- Starting an Activity
- Pausing and Resuming an Activity
- Stopping and Restarting an Activity
- Recreating an Activity
- Supporting Different Devices
- Supporting Different Languages
- Supporting Different Screens
- Supporting Different Platform Versions
- Building a Dynamic UI with Fragments
- Creating a Fragment
- Building a Flexible UI
- Communicating with Other Fragments
- Saving Data
- Saving Key-Value Sets
- Saving Files
- Saving Data in SQL Databases
- Interacting with Other Apps
- Sending the User to Another App
- Getting a Result from the Activity
- Allowing Other Apps to Start Your Activity
- Sharing Content
- Sending Content to Other Apps
- Receiving Content from Other Apps
- Adding an Easy Share Action
Building Apps with Multimedia
- Managing Audio Playback
- Controlling Your App’s Volume and Playback
- Managing Audio Focus
- Dealing with Audio Output Hardware
- Capturing Photos
- Taking Photos Simply
- Recording Videos Simply
- Controlling the Camera
Building Apps with Graphics & Animation
- Displaying Bitmaps Efficiently
- Loading Large Bitmaps Efficiently
- Processing Bitmaps Off the UI Thread
- Caching Bitmaps
- Managing Bitmap Memory
- Displaying Bitmaps in Your UI
- Displaying Graphics with OpenGL ES
- Building an OpenGL ES Environment
- Defining Shapes
- Drawing Shapes
- Applying Projection and Camera Views
- Adding Motion
- Responding to Touch Events
- Adding Animations
- Crossfading Two Views
- Using ViewPager for Screen Slide
- Displaying Card Flip Animations
- Zooming a View
- Animating Layout Changes
Building Apps with Connectivity & the Cloud
- Connecting Devices Wirelessly
- Using Network Service Discovery
- Connecting with Wi-Fi Direct
- Using Wi-Fi Direct for Service Discovery
- Performing Network Operations
- Connecting to the Network
- Managing Network Usage
- Parsing XML Data
- Transferring Data Without Draining the Battery
- Optimizing Downloads for Efficient Network Access
- Minimizing the Effect of Regular Updates
- Redundant Downloads are Redundant
- Modifying Patterns Based on the Connectivity Type
- Syncing to the Cloud
- Using the Backup API
- Making the Most of Google Cloud Messaging
- Resolving Cloud Save Conflicts
- Transferring Data Using Sync Adapters
- Creating a Stub Authenticator
- Creating a Stub Content Provider
- Creating a Sync Adapter
- Running a Sync Adapter
Building Apps with User Info & Location
- Accessing Contacts Data
- Retrieving a List of Contacts
- Retrieving Details for a Contact
- Modifying Contacts Using Intents
- Displaying the Quick Contact Badge
- Remembering Users
- Remembering Your User
- Authenticating to OAuth2 Services
- Creating a Custom Account Type
- Making Your App Location-Aware
- Retrieving the Current Location
- Receiving Location Updates
- Displaying a Location Address
- Creating and Monitoring Geofences
- Recognizing the User’s Current Activity
Best Practices for User Experience & UI
- Designing Effective Navigation
- Planning Screens and Their Relationships
- Planning for Multiple Touchscreen Sizes
- Providing Descendant and Lateral Navigation
- Providing Ancestral and Temporal Navigation
- Putting it All Together: Wireframing the Example App
- Implementing Effective Navigation
- Creating Swipe Views with Tabs
- Creating a Navigation Drawer
- Providing Up Navigation
- Providing Proper Back Navigation
- Implementing Descendant Navigation
- Notifying the User
- Building a Notification
- Preserving Navigation when Starting an Activity
- Updating Notifications
- Using Big View Styles
- Displaying Progress in a Notification
- Adding Search Functionality
- Setting up the Search Interface
- Storing and Searching for Data
- Remaining Backward Compatible
- Designing for Multiple Screens
- Supporting Different Screen Sizes
- Supporting Different Screen Densities
- Implementing Adaptive UI Flows
- Designing for TV
- Optimizing Layouts for TV
- Optimizing Navigation for TV
- Handling Features Not Supported on TV
- Creating Custom Views
- Creating a Custom View Class
- Implementing Custom Drawing
- Making the View Interactive
- Optimizing the View
- Creating Backward-Compatible UIs
- Abstracting the New APIs
- Proxying to the New APIs
- Creating an Implementation with Older APIs
- Using the Version-Aware Component
- Implementing Accessibility
- Developing Accessible Applications
- Developing Accessibility Services
Best Practices for User Input
- Using Touch Gestures
- Detecting Common Gestures
- Tracking Movement
- Animating a Scroll Gesture
- Handling Multi-Touch Gestures
- Dragging and Scaling
- Managing Touch Events in a ViewGroup
- Handling Keyboard Input
- Specifying the Input Method Type
- Handling Input Method Visibility
- Supporting Keyboard Navigation
- Handling Keyboard Actions
Best Practices for Performance
- Performance Tips
- Improving Layout Performance
- Optimizing Layout Hierarchies
- Re-using Layouts with <include/>
- Loading Views On Demand
- Making ListView Scrolling Smooth
- Running in a Background Service
- Creating a Background Service
- Sending Work Requests to the Background Service
- Reporting Work Status
- Loading Data in the Background
- Running a Query with a CursorLoader
- Handling the Results
- Optimizing Battery Life
- Monitoring the Battery Level and Charging State
- Determining and Monitoring the Docking State and Type
- Determining and Monitoring the Connectivity Status
- Manipulating Broadcast Receivers On Demand
- Sending Operations to Multiple Threads
- Specifying the Code to Run on a Thread
- Creating a Manager for Multiple Threads
- Running Code on a Thread Pool Thread
- Communicating with the UI Thread
- Keeping Your App Responsive
- JNI Tips
- SMP Primer for Android
Best Practices for Security & Privacy
- Security Tips
- Security with HTTPS and SSL
- Developing for Enterprise
- Enhancing Security with Device Management Polic
Using Google Play to Distribute & Monetize
- Selling In-app Products
- Preparing Your App
- Establishing Products for Sale
- Purchasing Products
- Testing Your App
- Maintaining Multiple APKs
- Creating Multiple APKs for Different API Levels
- Creating Multiple APKs for Different Screen Sizes
- Creating Multiple APKs for Different GL Textures
- Creating Multiple APKs with 2+ Dimensions
- Monetizing Your App
end
ディスカッション
コメント一覧
まだ、コメントがありません