zoukankan      html  css  js  c++  java
  • Android Java 框架基础[知识点汇总]

    学习android的过程中,把整个框架的基础结构牢记很重要,特此摘录了一些这个框架的一些基础知识,在使用的过程中按照这个框架学习,事半功倍。

    开发过程中参考JDK的文档和android的sdk文档可以清楚遇到的很多问题,遇到问题是现在这两个文档中一般都能找到原因(安装sdk的文档参考http://www.cnblogs.com/2018/archive/2011/02/17/1957356.html

    分层结构Android Layers

    Ø Prominent code libraries, including:

    – Browser technology from WebKit, the same open source engine powering Mac’s Safari and the iPhone’s Mobile Safari browser. WebKit has become the de facto standard for most mobile platforms.

    – Database support via SQLite, an easy-to-use SQL database.

    – Advanced graphics support, including 2D, 3D, animation from Scalable Games Language (SGL), and OpenGL ES.

    – Audio and video media support from PacketVideo’sOpenCORE, and Google’s own Stagefright media framework.

    – Secure Sockets Layer (SSL) capabilities from the Apache project.

    Ø An array of managers that provide service

    – Activities and views – Telephony

    – Windows – Resources

    – Location-based services

    Ø The Android runtime, which provides:

    – Core Java packages for a nearly full-featured Java programming environment. Note that this isn’t a Java ME environment.

    – The Dalvik VM employs services of the Linux-based kernel to provide an environment to host Android applications.

    Ø A Linux kernel

    provides a foundational hardware abstraction layer, as well as core services such as process, memory, and filesystem management. The kernel is where hardware-specific drivers are implemented—capabilities such as Wi-Fi and Bluetooth are here. The Android stack is designed to be flexible, with many optional components that largely rely on the availability of specific hardware on a given device. These components include features such as touch screens, cameras, GPS receivers, and accelerometers.

    API Level

    API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform.

    Platform Version

    API Level

    Android 2.3

    9

    Android 2.2

    8

    Android 2.1

    7

    Android 2.0.1

    6

    Android 2.0

    5

    Android 1.6

    4

    Android 1.5

    3

    Android 1.1

    2

    Android 1.0

    1

    Intent IntentFilters

    Intents and IntentFilters, Android’s innovative navigation and triggering mechanisms.

     An Intent is a declaration of need. It’s made up of a number of pieces of information that describe the desired action or service. We’re going to examine the requested action and, generically, the data that accompanies the requested action.

     An IntentFilter is a declaration of capability and interest in offering assistance to those in need. It can be generic or specific with respect to which Intents it offers to service.

    The action attribute of an Intent is typically a verb,The data component of an Intent is expressed in the form of a URI

    The IntentFilter defines the relationship between the Intent and the application. IntentFilters can be specific to the data portion of the Intent, the action portion, or both. IntentFilters also contain a field known as a category. The category helps classify the action.

    IntentFilters are often defined in an application’s AndroidManifest.xml file with the <intent-filter> tag.

    Activity

    An application might have a UI, but it doesn’t have to have one. If it has a UI, it’ll have at least one Activity.

    Service

    If an application is to have a long lifecycle, it’s often best to put it into a Service.

    BroadcastReceiver

    If an application wants to receive and respond to a global event, such as a ringing phone or an incoming text message, it must register as a BroadcastReceiver.

    ContentProvider

    If an application manages data and needs to expose that data to other applications running in the Android environment, you should consider a ContentProvider.

    AndroidManifest.xml

    A fundamental fact of Android development is that an Android application contains at least one Activity, Service, BroadcastReceiver, or ContentProvider. Some of these elements advertise the Intents they’re interested in processing via the IntentFilter mechanism. All these pieces of information need to be tied together for an Android application to execute. The glue mechanism for this task of defining relationships is the AndroidManifest.xml file.

    <service>Servicemight also include the <intent-filter>

    <receiver>BroadcastReceivermight have an explicit <intent-filter> tag

    <uses-permission>

    <application

    Core Android packages

     java.lang—Core Java language classes

     java.io—Input/output capabilities

     java.net—Network connections

     java.text—Text-handling utilities

     java.math—Math and number-manipulation classes

     javax.net—Network classes

     javax.security—Security-related classes

     javax.xml—DOM-based XML classes

     org.apache.*—HTTP-related classes

     org.xml—SAX-based XML classes

    android.app—Android application model access

    android.bluetooth—Android’s Bluetooth functionality

    android.content—Accessing and publishing data in Android

    android.net—Contains the Uri class, used for accessing content

    android.gesture—Create, recognize, load, and save gestures

    android.graphics—Graphics primitives

    android.location—Location-based services (such as GPS)

    android.opengl—OpenGL classes

    android.os—System-level access to the Android environment

    android.provider—ContentProvider-related classes

    android.telephony—Telephony capability access, including support for both Code Division Multiple Access (CDMA) and Global System for Mobile communication (GSM) devices

    android.text—Text layout

    android.util—Collection of utilities for logging and text manipulation, including XML

    android.view—UI elements

    android.webkit—Browser functionality

    android.widget—More UI elements

    Application Fundamentals

    SDK的文档目录file:///。。。/android-sdk-windows/docs/guide/topics/fundamentals.html 有详细的说明

    Activity lifecycle

    As an activity transitions from state to state, it is notified of the change by calls to the following protected methods:

    voidonCreate(Bundle savedInstanceState)
    void onStart()
    void onRestart()
    void onResume()
    void onPause()
    void onStop()
    void onDestroy()

    由Android SDK/NDK默认管理的目录和文件:

    AndroidManifest.xml

    软件的android关键配置文件

    涉及安全、启动的Activty等

    default.properties

    API Level的设置等

    proguard.cfg

    代码混淆使用

    界面资源和访问代码

    res gen 两个字目录下的文件

    res下有如下类别

     res/anim:用XML表示的基于帧的动画

     res/drawable:不同规格的图标、图片等,drawable-hdpidrawable-ldpidrawable-mdpi三个子目录

     res/layout:视图对象的XML表示

     res/values:strings, colors, styles, dimensions, arrays的XML表示

     res/xml:User-defined XML files that are compiled into a binary representation

     res/raw:Arbitrary and uncompiled files that can be added

    gen res中加入的资源在gen中生成访问代码R.java

    assets

    数据等文件

    android.content.res.AssetManager asset = Application.getAssets()这个类辅助访问

    src

    JAVA代码

    NDK

    Jniobj libs目录

    Jni: 放C/C++代码

    Obj/libs:是c/c++的编译obj文件和so库

    在这些默认文件和目录的基础上可以加入自己的需要管理的目录或文件

  • 相关阅读:
    【tips】Clion添加Qt gui绘制快捷方式
    conda配置安装pytorch tensorflow-gpu
    用当前最新版vs2019编译opencv最新版4.3.0遇到的问题---
    cuda报错: nvcc fatal : Host compiler targets unsupported OS
    C++中结构体与类的区别(struct与class的区别)
    cmake
    Windows 下配置Boost MPI
    VC----MFC对象的创建总结
    VC++、MFC最好的开源项目
    机械设计人员怎么学习电控?
  • 原文地址:https://www.cnblogs.com/2018/p/1982443.html
Copyright © 2011-2022 走看看