博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 开发学习笔记 00 - Getting Started
阅读量:2134 次
发布时间:2019-04-30

本文共 1688 字,大约阅读时间需要 5 分钟。

Resoureces.

参考。

在Java源文件中使用R对象。在xml文件中是用@引用。

Activities

参考。

The flow chart of activity life cycle

以上所有函数都可以重写。

在Activity的onCreate()函数中,使用setContentView()函数来指定一个layout。

两个关键类:

import android.app.Activity;

import android.util.Log;

写调试日志:

Log.d(string0, string1);

Service

一个service可以对应一个class,从android.app包的Service类派生。

需要overide Service类的某些方法来实现具体的功能。

在manifest文件中需要添加必要的<service>标签。

使用startService()和stopService函数来启动和终止service。

Broadcast Receivers

events 和 intents。

Create a broadcast receiver,从BroadcastReceiver类派生,override onReceive方法。

register a broadcast receiver,在AndroidManifest.xml添加一个receiver标签。

目前参考的API22,所有的Broadcast intents的列表位于

/home/yaoyu/Android/Sdk/platforms/android-22/data/broadcast_actions.txt

Content provider

一个content provider从 ContentProvider类派生而来。

访问一个content provider时使用URI。URI的构成如下:

content://<authority>/<data_type>/<id>

例如

content://contacts/people/5

需要Override的方法包括:onCreate(), query(), inset(), delete(), update(), 和getType()

URI和content provider的使用还是不太明白,有待以后详细学习。

Fragment

可以理解为子activity的概念,可以复用,一个activity可以使用多个fragment。

创建fragment时从Fragment类派生,并且在activity的layout中添加一个<fragment>元素。

fragment使得activity分成了不同部分,这些部分有自己的layout,event和life cycle。这种实现方案有利于程序的activity根据物理设备的变化发生相应的调整。

下图是fragment的life cycle,很多member function都是可以override的。这幅图同样出自。

Intents and Filters

intent可以理解为一个事件后者操作(action),一个filter可以理解为对不同action,category和data的响应。一个intent若要pass一个filter,那么这个intent的category和data type要以一定形式符合filter的描述。

filter不可以没有action。

创建一个Intent时,需要指定一个action,并且给出这个action的数据。intent-filter定义在activity中,需要在manifest文件中描述。每增加一个intent-filter,android系统似乎都会记录,当有合适的intent出现并且有多个filter符合条件时,android系统会询问用户使用那个activity执行。这些activity可能是一个app提供的,也可是不同的app提供的。

你可能感兴趣的文章
【LEETCODE】155-Min Stack
查看>>
【LEETCODE】20-Valid Parentheses
查看>>
【LEETCODE】290-Word Pattern
查看>>
【LEETCODE】36-Valid Sudoku
查看>>
【LEETCODE】205-Isomorphic Strings
查看>>
【LEETCODE】204-Count Primes
查看>>
【LEETCODE】228-Summary Ranges
查看>>
【LEETCODE】27-Remove Element
查看>>
【LEETCODE】66-Plus One
查看>>
【LEETCODE】26-Remove Duplicates from Sorted Array
查看>>
【LEETCODE】118-Pascal's Triangle
查看>>
【LEETCODE】119-Pascal's Triangle II
查看>>
【LEETCODE】88-Merge Sorted Array
查看>>
【LEETCODE】19-Remove Nth Node From End of List
查看>>
【LEETCODE】125-Valid Palindrome
查看>>
【LEETCODE】28-Implement strStr()
查看>>
【LEETCODE】6-ZigZag Conversion
查看>>
【LEETCODE】8-String to Integer (atoi)
查看>>
【LEETCODE】14-Longest Common Prefix
查看>>
【LEETCODE】38-Count and Say
查看>>