android开发 订阅
android开发是指android平台上应用的制作,Android早期由“Android之父”之称的Andy Rubin创办,Google于2005年并购了成立仅22个月的高科技企业Android,展开了短信、手机检索、定位等业务,基于Linux的通用平台进入了开发。 展开全文
android开发是指android平台上应用的制作,Android早期由“Android之父”之称的Andy Rubin创办,Google于2005年并购了成立仅22个月的高科技企业Android,展开了短信、手机检索、定位等业务,基于Linux的通用平台进入了开发。
信息
技术支持
Linux
创办人
Andy Rubin
定    义
android平台上应用的制作
环    境
android平台
中文名
android开发
应    用
短信、手机检索、定位等业务
外文名
Android development
android开发Android介绍
Android是一种基于Linux的自由及开放源代码的操作系统,Android 分为四个层,从高层到低层分别是应用程 序层、应用程序框架层、系统运行库层和 Linux 内核层。 [1]  谷歌公司推出了开源的Android 系统,现在应用非常广泛,开发环境不会受到各种条条框框的限制,开发者任意修改开放的源代码来实现与开发各种实用的手机App软件,具有高级图形显示、界面友好等特点。 [2]  Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序—— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的 30 多家技术和无线应用的领军企业组成。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,我们希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。我们认为此举必将推进更好、更快的创新,为移动用户提供不可预知的应用和服务。Android有四大基本组件:Activity、Service、Broadcast Receivet、Content Provider。其中Activity是四大组件中最基本的一个,但基础并不等同于简单、不重要。恰恰相反,Activity作为基础组件,学好Activity就是我们开发者学好Android的前提。 [3]  Android作为谷歌企业战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于Android的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。(1)系统开源。Android 由于最底层使用Linux 内核,使用的是GPL许可证, 意味着相关的代码是必须开源的。而 Google以Apache开源许可证的授权方 式,发布Android的源代码,供其他手机厂商直接使用现有操作系统,并允许各厂商按照自己的目的进行个性化定制。 [1]  (2)跨平台特性。Android 由Java语言编写,继承了Java跨平台的特点。任何Android应用几乎无需做任何处理就能运行于所有的Android设备。这意味着各运营商可自由使用多形式的硬件设备,不拘泥于手机、平板等传统移动设备,电视和各种智能家居均可使用 Android 系统。 [1]  (3)丰富的应用。Android系统的开源性吸引了众多开发者为其平台开发各式各样的应用软件,广泛的应用来源让它的使用者较为方便的获取自己想要的应用,坚实的消费者基础让开发者有动力开发更多更好的应用软件。 [1] 
收起全文
精华内容
参与话题
问答
  • 史上最全的Android开发学习教程集锦【初学者】

    万次阅读 多人点赞 2018-07-04 10:09:52
    根据Google的报告,截止2017年5月为止,Android活跃用户已超过20亿,并还在持续增长中。Android系统在几个主要的市场上已超过...这也是为什么越来越多的设计师投身于Android开发设计。本篇文章从不同角度给Android开...

    根据Google的报告,截止2017年5月为止,Android活跃用户已超过20亿,并还在持续增长中。Android系统在几个主要的市场上已超过了iOS系统,特别是在美国,欧洲和日本,然而苹果确实在中国市场找到了一席之地。未来的市场到底谁是“霸主”我们还无从得知,但Android现在的趋势已经超过iOS。这也是为什么越来越多的设计师投身于Android开发设计。本篇文章从不同角度给Android开发提供丰富的教程资源:初级Android开发教程,YouTube视频教程,丰富的Android开发资源以及工具使用等。

    初级Android开发教程:

    https://developer.android.com/training/basics/firstapp/creating-project

     当然,我们还是要从Google给的Android教程开始学起。“开发你的第一个Android应用程序”这个教程一开始就是为初学者准备的,如果你没有一点编程知识,那么学习起来会很困难,但如果你有一些编程背景,那很容易。

    在教程的背后有几个“最佳实践”,这个可以说是非常重要的内容,这是你必须阅读的部分。

     

    https://www.raywenderlich.com/120177/beginning-android-development-tutorial-installing-android-studio

    这个Android教程没有任何附件的条件,只要你有一颗想学习的心和Mac。对的,Mac, 当然你也可以在PC端上开发Android应用程序,但这个教程是基于Mac开发人员的。从这个教程中你将学习到:

    如何设置Android开发过程中使用的所有工具

    如何下载并安装Android studio

    如何在不同设备和模拟器中测试你的应用程序

    创建简单的“hello world”Android应用程序,并可以打印到你的设备以及模拟器

    如何将示例项目导入Android studio

     

    https://www.tutorialspoint.com/android/index.htm

    Android编程是基于Java语言的,如果你对Java编程有基本了解,那么学习起来会相对轻松些。这个教程会教你基本的Android编程,并带你了解一些与Android应用程序相关的高级概念。本篇教程完全是为初学者准备的,当你了解完这篇教程后,你将发现自己已达到了Android编程中等水平的专业知识,从而就可以进入下个阶段。值得一提的是,这个网站上涵盖了几乎所有的Android开发的知识,包括:Android的用户界面,Android高阶概念,Android应用程序样例以及各种Android资源。

     

    https://www.raywenderlich.com/185299/building-android-library-tutorial

    Android库在结构上与Android应用程序模块相同。 它可以包括构建应用程序所需的一切,包括源代码,资源文件和Android清单。在本教程中,你将学习到构建Android库的所有内容,从创建到发布以供其他人使用。教程内容包括:

    如何创建Android库

    如何发布你的Android库

    如何使用你的Android库

    Android库的最佳实践

     

    YouTube视频教程:

    https://www.youtube.com/playlist?list=PLS1QulWo1RIbb1cYyzZpLFCKvdYV_yJ-E 

    这个教程是Android开发系列教程,涵盖56个视频教程。从基础的介绍和安装配置Java JDK到安装Android studio以及开发应用程序,你可以了解到你想了解的一切关于Android开发的知识。

    https://www.youtube.com/playlist?list=PLshdtb5UWjSrOJfpFOE-u55s3SnY2EO9v 

    本教程总共有69个视频,从基础的开发知识到如何创建一个Android应用程序,你想知道的Android所有知识,都涵盖在这77个视频里。在学习完本系列教程,你可以创建自己的Android应用程序,并可以在Play store中发布你的应用程序。这个系列教程是2018年最新的。

    https://www.youtube.com/watch?v=EOfCEhWq8sg

    本教程是由在线学习网站Treehouse提供的。顺便说一句,这个网站的学习资源很丰富,有时间可以去看看。目前, Android开发都是有Android studio这个工具完成的,它有助于组织我们的项目,并提供一种用户友好的方式来创建我们找寻的东西。在本视频中,我们将学习到如何安装Android studio,然后制作应用程序,如果你没有一点编程知识,也没关系,跟着视频学习,你将了解更多Android应用程序。

     

    Android开发资源:

    https://www.udemy.com/java-tutorial/

    本课程是为初学者准备的,如何学习Java编程语言,没有编程背景也不影响,并且是免费的。

    https://www.youtube.com/playlist?list=PL9DF6E4B45C36D411

    Java编程学习的系列YouTube视频教程,涵盖47个视频。

    https://www.youtube.com/watch?v=WPvGqX-TXP0&feature=youtu.be

    这个教程能够在30分钟内教你Java的核心知识。

    https://academy.realm.io/posts/eric-maxwell-mvc-mvp-and-mvvm-on-android/

    学习如何为复杂的Android应用程序选择合适的架构,实现更好的开发、测试、调试和维护。

    https://www.w3schools.com/xml/

    如果还对XML不熟悉的,现在是你学习它的最佳时机,因为你需要大量的使用它来设计Android布局,这个还比较简单,你不需要花费太多时间。

    https://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340

    如果你需要通过Android应用程序进行API调用,那么了解HTTP和REST非常重要。

    https://www.mockplus.com/blog/post/android-app-design

    Android开发同样需要学习APP 设计,和设计师能够更好的沟通。

    https://www.mockplus.cn/blog/post/947

    这篇文章给我们提供了最全的材料设计 UI kit。

    https://blog.google/products/android/

    如果你想获得Android最新消息,那么不如直接从Google获取。

     

    https://android-developers.googleblog.com/

    如果你是Android的开发人员,那么这个博客可以获得Android所有的最新时讯,并提供最新的一些开发应用程序技巧以及丰富的培训资源。

    http://www.androidguys.com/

    这个博客为Android用户提供关于Android的产品、使用技巧以及最新的时讯。如果你想了解某个Android的操作系统以及设备,那么这个博客你绝对值得收藏。

    https://www.androidauthority.com/how-to-use-material-design-in-your-android-apps-809937/

    本文教你如何使用材料设计让你的Android应用程序更加美观吸引人。

    Android 开发工具:

    Android Studio

    所有Android应用程序离不开Android studio,它是Google推出的Android开发环境,开发者可以在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。Android Studio还提供了更多功能,可在构建Android应用程序时提高你的工作效率,例如:C ++和NDK支持。

    Mockplus

    Mockplus是一款Android原型设计工具。快速原型设计是设计师与移动app软件需求方沟通的最好工具,我的理解就是在软件开发初期,先对所要开发的软件有一个大致的整体设计,毕竟现在的移动端多种多样,原型的重要性是降低开发成本,此阶段应该被充分利用,以避免后期因为不符合需求而改写大量代码。如果没有一个好的设计,很难做出一个比较优秀的软件,快速原型更有利于用户与开发人员的交互,使设计细致入微。


    Android Device Monitor

    Android Device Monitor是一个独立的调试监控服务工具,可为多个Android应用调试和分析工具提供UI。

    APKAnalyser

    这是一个静态、虚拟分析工具,你可以全面地概览应用的架构。可以用它来检查API参考文档,反编译字节码。APKAnalyser是一个完整的开源工具链,它支持修改应用的二进制代码,你可以重新打包、安装、运行以及验证logcat的结果。


    总结

    假如开始没有任何的开发经验的话,千万不要着急,不要想着在短时间内就把一个语言学习好,因为你之前没有任何的学习经验,在这个过程中需要有耐心地学习完JAVA的基础知识,然后才开始踏上Android开发之旅。有开发经验的,可以在Android上迅速上手,但是同样的是不可忽略Android的一些基础知识,只有把基础掌握好了,才能在后期取得大的进步。

    展开全文
  • Android开发入门基础

    万次阅读 多人点赞 2017-09-18 16:16:08
    Android是基于Linux的修改版本的移动操作系统。 大多数Android代码是在开源Apache许可证下发布的。本文将简单介绍Android开发入门知识。

    Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。本篇博客将简述Android编程入门的基础知识。主要讲述开发环境,以及一些基础知识。后续我们将逐渐讲述如何开发具体的程序信息。

    原文地址:http://www.datalearner.com/blog/1051505392690077

    一、环境准备

    1.1、JDK安装
    1.2、Android Studio安装

    二、创建一个Android App

    暂略

    三、Android开发中的一些基本概念

    Android应用程序由一些零散的有联系的组件组成,通过一个工程manifest绑定在一起。在manifest中,描述了每一个组件以及组件的作用,其中有6个组件,它们是Android应用程序的基石。Android有四大组件(也有说六大组件的,外加Intent和Notification),分别是Activity,Service,Content Provider和BroadcastReceiver。这四大组件一起组成了完整的Android程序。我们将分别简要介绍。

    3.1、Activity

    Activity中文是活动的意思,它在Android里面是指一个完整的占了一个屏幕的页面(上下滑动的内容也算这个界面内的内容,所以它的概念可以理解成类似网站的一个网页一样)。Activity允许显示一些控件、视图,并可以监听处理用户的事件,做出响应等。Activity之间通过Intent通信(调用、跳转等动作)。
    一个Activity实际上是一个XML文件,它可以被Android系统以可视化的界面展现。而每一个Activity都与一个Java后台程序相联系,这个Java程序可以控制这个页面的启动、展示以及数据等信息。页面上展示的内容可以通过Activity本身的xml文件配置,也可以由相联系的Java文件来控制。Activity对应哪个Java程序是通过ID进行连接的,后面会说明。

    3.2、Service

    Service是服务的意思。它是Android程序中“不可见”的部分,但是它负责更新数据源、触发通知等。它是一种没有界面的长生命周期的适合监控或者在后台运行的程序。最佳的例子是多媒体播放器。如百度百科的例子,多媒体播放器程序可能含有一个或多个Activity,用户通过这些 Activity选择并播放音乐。然而,音乐回放并不需要一个Activity来处理,因为用户可能会希望音乐一直播放下去,即使退出了播放器去执行其它程序。为了让音乐一直播放,多媒体播放器Activity可能会启动一个Service在后台播放音乐。Android系统会使音乐回放Service一直运行,即使在启动这个Service的Activity退出之后。
    Android服务有两种:一是本地服务,另一种是远程服务。前者只能由托管服务的应用程序访问,后者是指由设备上其他应用程序进行远程访问的服务。

    3.3、Content Provider

    Content Provider是指内容提供器。App运行的时候需要很多外部数据作为支撑,这些数据一般由内容提供器存储、共享。比如,我们可以配置自己的Content Provider来存取其他应用程序,或者是通过其他应用程序给出的Content Provider来获取他们的数据。系统本身也提供了一些Content Provider,如联系人信息等。
    这些数据可以存储在文件系统、SQLite数据库或者其他一些媒介里。

    3.4、BroadcastReceiver

    你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

    除了这四个组件外,Intent也是一种非常重要的组件,它是各种组件之间通信的桥梁,可以执行很多相关的任务,我们在Android开发入门基础知识——Intent详解中有详细介绍。而Notification是通知组件,主要是和推送用户信息有关。

    四、Android App项目中的文件(夹)简介

    如下图所示,Android项目中的主要文件及文件夹包括几个。


    图1 Android项目文件(夹)目录

    4.1、AndroidManifest.xml文件

    该文件是在mainfests文件夹下面,叫做清单文件,它描述了整个项目的信息,包括项目名称、SDK版本等等。假设我们项目的清单文件如下:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.localgo.localgo">
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".DisplayMessageActivity"></activity>
            <activity android:name=".ProfileActivity"></activity>
        </application>
    
    </manifest>

    例如,在这里,第3行是包的名称。从第6行开始,以android开头的行描述本项目程序的信息,比如第6行到第11行是描述一些图标,主题信息,里面引用了后面的资源文件夹中的values文件夹下面的资源信息。以activity开头的行则描述本程序涉及到哪些界面(翻译为活动,一个Activity活动对应一个屏幕的UI界面)。例如第12行描述了本项目的MainActivity页面。这个活动下面设置了意图过滤(intent-filter,为啥叫这个我也不清楚)的信息,它描述了该页面的一些信息,比如这个android.intent.action.MAIN表明这个活动是本程序的入口页面。你在应用程序中的每个活动必须在AndroidManifest.xml 文件中声明。

    4.2、java文件夹

    这个不用多说了,主要是存放java源程序的地方。注意我们这里有一些以Activity结尾的程序文件,每一个文件其实对应了一个Activity的页面。也就是和下面资源文件夹(res)中的layout里面的内容绑定的。具体操作我们后面会说。

    4.3、res文件夹(提供资源)

    我们应该始终外部化应用资源,例如图像和代码中的字符串,这样有利于您单独维护这些资源。 此外,还应该为特定设备配置提供备用资源,方法是将它们分组到专门命名的资源目录中。 在运行时,Android 会根据当前配置使用适当的资源。例如,我们可能需要根据屏幕尺寸提供不同的 UI 布局,或者根据语言设置提供不同的字符串。

    外部化应用资源后,即可使用在项目 R 类中生成的资源 ID 访问这些资源。有关如何在应用中使用资源,我们将在访问资源中讨论。

    而资源一般都是在这个res文件夹下面,包括图片、布局文件、菜单等等。我们将分别介绍。

    4.3.1、drawable资源

    drawable英语是可拉伸的意思,在这里我们可以理解为存放位图的文件夹,因此称之为位图资源。也就是存放jpg、png等图片资源的文件夹了。如下图所示(注意:这里的drawable没有区分不同分辨率的图片。一般情况需要根据高中低三种不同分辨率放置三种不同清晰度的图片,便于系统调用,同时也有可能需要存放不同尺寸的图片),这里有两种drawable资源,一种是我们常见的图像资源,如ec.jpg、hfut.jpg等。另一种是xml类型的drawable资源。前者叫Image Asset,后者叫Vector Asset。前面是图像资源,拥有固定大小和尺寸,因此放大和缩小都有问题。一般而言,这种资源要存放多个不同尺寸的版本供调用。而后者是响亮资源,它其实是一系列命令,告诉你应该如何画图。因此这种资源可以适应不同尺寸或者分辨率的情况。因为系统可以根据这些命令来画图。


    图 2

    比如下面这个是ic_card_giftcard_black_24dp.xml文件的内容,它其实描述的是一个黑色的公文包。代码中出了常见的尺寸等信息,那个pathData就是描述形状的代码。Android Studio本身已经自带了一些,右键单击drawable文件夹,选择New-Vector Assett就能看到了。其他的可以去网上搜索,正常情况下,大神们的图已经够我们使用了。

    <vector xmlns:android="http://schemas.android.com/apk/res/android"
            android:width="24dp"
            android:height="24dp"
            android:viewportWidth="24.0"
            android:viewportHeight="24.0">
        <path
            android:fillColor="#FF000000"
            android:pathData="M20,6h-2.18c0.11,-0.31 0.18,-0.65 0.18,-1 0,-1.66 -1.34,-3 -3,-3 -1.05,0 -1.96,0.54 -2.5,1.35l-0.5,0.67 -0.5,-0.68C10.96,2.54 10.05,2 9,2 7.34,2 6,3.34 6,5c0,0.35 0.07,0.69 0.18,1L4,6c-1.11,0 -1.99,0.89 -1.99,2L2,19c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,8c0,-1.11 -0.89,-2 -2,-2zM15,4c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM9,4c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM20,19L4,19v-2h16v2zM20,14L4,14L4,8h5.08L7,10.83 8.62,12 11,8.76l1,-1.36 1,1.36L15.38,12 17,10.83 14.92,8L20,8v6z"/>
    </vector>

    4.3.2、layout资源

    layout文件夹存放的是布局资源。布局也就是指Android里面的活动和视图了。在Android中,占用一个屏幕的UI界面称之为Activity(活动),页面中的按钮、标签、文本字段等称之为View(视图)。一个活动通常包含一个或者多个视图(也就是一个页面里面有按钮啊,文本啊之类的东西)。这里的布局文件都是XML文件,因为Android中视图都是从XML文件加载的。里面描述了位置、大小等等视图信息。布局资源下每个文件都将根据其文件名(不包含扩展名)生成一个唯一的常量,这些常量也就是其ID,可以通过某些手段与java源文件绑定,或者被其他页面调用。
    layout的文件都是xml文件,在每一个xml文件中,我们可以定义一些TextView、ImageView,以及其他的等等。

    4.3.3、values资源

    values资源是Android中存放数组、颜色、尺寸、字符串和样式的文件夹。通常有如下文件:

    /res/values/strings.xml
    /res/values/colors.xml
    /res/values/dimens.xml
    /res/values/attrs.xml
    /res/values/styles.xml

    其实就是统一存放所有的变量的地方,比如主题颜色、app名称、Logo的样式等。在values资源下统一定义可以使得我们在各个地方都调用同样的资源,在修改的时候也只要更改一处即可。
    在values这些资源定义也很简单,主要以定义string为例,如下,尖括号定义资源类型,name表示资源名称,里面表示内容:

    <string name="app_name">乐购</string>
    <string name="edit_message">请输入您想查询的地点</string>
    4.3.4、minmap

    minmap是Android软件存放程序启动图标的文件夹。一般地它只存放这个启动图标(就是桌面图标)。

    五、Android中的资源访问(R类/R.java)

    在上一节中我们说了Android开发,应当始终外部化资源,并将这些资源存放在res文件夹中。这样有利于我们单独维护这些资源。这一节我们将描述资源的访问方式。在Android开发中,所有的外部资源都通过其资源的ID来访问,而所有的资源ID都在项目中R类中定义。而R.java这个类是由aapt工具自动生成的,用户本身不用修改添加。只要在资源中申明了ID,那么R类会自动将该资源添加到其中。

    编译应用时,aapt 会生成 R 类,其中包含您的 res/ 目录中所有资源的资源 ID。 每个资源类型都有对应的 R 子类(例如,R.drawable 对应于所有可绘制对象资源),而该类型的每个资源都有对应的静态整型数(例如,R.drawable.icon)。这个整型数就是可用来检索资源的资源ID。

    定义资源ID主要包括两个部分,一个是资源类型如string、drawable和layout等。另一个是资源名称,不包括其扩展名(当然也可以是xml中android:name属性中的值)。

    访问这些资源有两种方式,一种是在Java程序中,一种是在XML文件中。

    //Java程序中访问资源,如下面的程序设置内容显示为某个activity,可以使用R.layout.activity名称的方式。其中layout是资源类型,后面的是资源名称
    setContentView(R.layout.activity_display_message);
    #这种方式是在XML文件中访问资源,使用@开头表示什么类型,然后价格斜杠后面写上资源名称
    @string/hello

    参考1:https://developer.android.com/training/index.html
    参考2:https://www.w3cschool.cn/android/android-hki320om.html
    参考3:http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html

    展开全文
  • android开发从入门到项目

    千人学习 2019-12-10 17:49:08
    1、课程采用Android Studio【以后简称as】开发,需要有java基础的同学才能看 需要设备电脑推荐 win10 + 手机推荐小米8 2、课程内容围绕着以下五点来讲 四大组件(服务、广播、...
  • 看我是如何快速学习android开发的(一)

    万次阅读 多人点赞 2018-07-30 16:25:50
    因为项目需要,8月中旬开始决定做安卓的程序,所以马上就开始学习安卓方面的开发知识,把最近的学习实践经历和大家分享分享。不要一开始就下载一大堆资料,视频,然后就不知道做什么了,要给自己定
    原文地址为:看我是如何快速学习android开发的(一)

            因为项目需要,8月中旬开始决定做安卓的程序,所以马上就开始学习安卓方面的开发知识,把最近的学习实践经历和大家分享分享。不要一开始就下载一大堆资料,视频,然后就不知道做什么了,要给自己定个目标,我要做什么?我怎么达到目标? 

    我不懂java,但是懂C#和C++,所以我没主张去单独学习java语言,如果你是个最最初的新手,没啥语言基础,那你必须先看看java语言,不要很详细看,因为学习Android中,你也是在学习java。 

            1. 明确目标

    没有目标的学习,会感觉到后面没什么成果,在1年前,我也打算学习android开发的,但是目的就是学习,到网上去下载很多学习的视频,然后把开发环境搭建起来,能把Helloworld运行起来,能打些log,Activity之间也能互相切换了,但是后面也就不了了之了,因为不知道学了要干什么。依葫芦画瓢的做了几个例子,因为里面的问题都是已经解决的,所以也没能深入的系统学习。

     这次因为产品的需要,要做Android版本,要做的东西一开始就已经设计好了,见摇摇2选1安卓版本,刚开始也不知道里面有些什么技术难度,但是要做的目标已经明确了,而且也没有现成的,碰到问题就查资料,慢慢地解决,这样有的放矢,学习的效果非常好。既有现成的技术可以使用,又有些技术,需要查比较多的资料,这样记忆就比较深刻,所掌握的知识也比较系统。

    接下来的一系列文章,我会把在开发摇摇2选1中遇到的问题,给大家详细讲讲,程序虽然小,但是五脏俱全,做Demo和做产品的要求完全不是一个级别,如果Android大牛感觉知识讲的比较浅,那可以绕道,毕竟我是从一个完全的新手开始的。

     

            2. 了解安卓开发中比较困难的地方

    学习一个新平台,就要知道此平台开发要面临的困难有哪些,不要做到最后,这些问题没有考虑,那就比较糟糕了。在网上搜索了下,安卓开发困难总结如何

    1)安卓系统版本比较多,各版本之间的兼容性是个问题,此为系统碎片。

    2)安卓设备千变万化,设备难以统一,每个产品都成为独立,分散的Android碎片。

    3)分辨率五花八门。一个产品,可能需要多个界面排版,人工消耗比较大。

     

    看到这张图,有没有头疼的感觉? 

    总结成一句话:Android的碎片化真是要来开发者的命。 

     

            3. 搭建开发环境

    "巧妇难为无米之炊",开发环境肯定是第一件要做的事情,这类的文章已经很多了,我也不多说了,多说也就比较无聊了。感谢吴秦,也是博客园里的一员,他写的很详细了,见这里

     

            4. 查看网友总结的一些经验。

                 不是什么都查看,开发中遇到什么问题,就去查看什么问题,这样你查到的知识,马上就能深入的实践,这样知识就巩固了。

         1)首先当然要看Android的开发文档,里面其实大部分的知识都有了,还有就是SDK自带的Samples。

         2)博客园里搜索“Android开发”,会出来一大把,很多网友都是很系统的讲解了。

         3)eoe android社区,里面有很多网友上传了现成的demo代码,里面很多都是模仿现在流行的产品的界面开发,很是不错。

     

            5. 掌握调试方法

    个人一直认为,调试技巧是开发中最重要的技能,如果调试技能比较差,不知道如何查找问题,那不会是个好的程序员,其技能也不会高到哪里去。 

      Android做下来,感觉调试这块做的很不错了,这要感谢Eclipse IDE做的比较不错,但是Android的界面排版部分,真的不敢恭维,Eclipse时间用长了,占用内存真是大。有哪位高手能否告诉我下,你们界面排版是用什么的?

    Android里,如果程序出了问题,有些是一下跟踪不到的,这时就要用到Log类了,Log类使用很简单,就不多说了。
      自己一个很有感触的经验,如果你真的打算做Android开发,那就买一个设备,这样能大大提高开发效率,模拟器有时用起来真是麻烦,而且开发的设备不要很好的,只要设备分辨率是主流的,传感器的支持最好全点就够了,国产的手机里,华为的还不错,或者到淘宝上去买个二手的,投资不大。真的买了投资,可能也会增加你学习Android的决心。

           

    6. 程序框架

    经过10多年的经历,认识到程序的框架对开发产品真的是起到举足轻重的作用。一个好的产品,如果有个好的程序框架,那真是事半功倍,可能开始所做的工作会比较多,很难看到令人激动的成果,但是相信我,绝对值得。一开始,我也是比较注重程序界面开发,很快就开发出界面来,而且着实比较激动,因为有东西出来了,但是后面的事情,真是令人发狂,想从头再来,太迟了,离计划的时间比较近了,时间不允许,只有硬着头皮往上打补丁,硬着交付第一个版本,第二个版本或者后面的版本,迟早是要重来的。所以在后面带领团队开发的时候,在开发前,都是要讨论程序框架,留出很大部分时间进行程序框架开发,及在开发中不断的改进。

    刚接触Android,不知道用什么程序框架,所以查了很多资料,一开始看到一个程序框架,感觉很不错,所以一开始就使用了下面这个程序框架。

    开始这个框架用的蛮爽,简单介绍一下,主UI线程如果要做一个比较长时间的任务,创建一个任务,发送到任务队列中去,后台的Service不断的从任务队列中去取任务,然后交给线程处理,线程处理完后,通过消息(Message)发送到Handler里处理,然后Handler的handleMessage函数里回调到UI主线程中去。

    此框架的缺点是比较麻烦。

    1)首先这里有个Observer模式,每个Activity都要实现一个接口,然后注册到后台服务中去,这样后台服务才能把处理的结果回调到主线程中。

    2) 每个事件都要组成一个任务,发送到任务队列。

    3)后台线程先要取任务,然后处理,然后通过消息切换到主线程,然后又回到到相应的Activity中,中间有个3次判断当前是什么任务。

    4)不能并非,任务只能一个接一个,虽然这个一般不会造成瓶颈。

    因为摇摇2选1应用比较简单,所以后来感觉只要使用线程和Handler,通过消息就能处理,然后就查资料,发现已经有比较多的文章描述了这种方法,只是没提出这是一个框架,但是对摇摇2选1,我感觉已经足够了。下面就是主代码,分布在每个Activity中:

    private void TaskThread() 

    {

    Thread taskThread = new Thread()

    {

    @Override public void run()

    {

    //做耗时的任务 

     Message msg = Message.obtain();

    msg.what = 1;

    uiCallback.sendMessage(msg);

    }

    };

    taskThread .start();

    }

    private Handler uiCallback = new Handler()

    {

    @Override public void handleMessage(Message msg)

    {

    if(msg.what == 1)

    {

    //在主线程中处理结果 

    }

    }

    };

      够用就好,至少我现在用着很爽。

     

    7. 程序国际化

    互联网让地球成为一个村,所以一开始也需要了解一下程序是如何做国际化版本的。不要一开始字符串满天飞,整个程序中都存在hard code,这样做,迟早是要吃亏的。

     

    8.产品升级机制

    一个方便的产品升级机制,对产品的成长很重要,android是一个开放平台,在这点上比iOS做的好的多,产品升级很方便。 

     

    此文章的目的就是对想学Android开发的人一个指引,因为我也就是这么走过来的,加上自己在软件开发上的一些经验,让新手少走弯路。有计划,有目标的学习,这是最好的方法。


    转载请注明本文地址:看我是如何快速学习android开发的(一)
    展开全文
  • Android开发,从“HelloWorld”开始

    万次阅读 多人点赞 2018-02-23 21:09:58
    全文约1500字,阅读大约需要5分钟现在我们开始一个“HelloWorld”项目,从此刻开始我们的Android开发之旅。*以下操作基于Android Studio v3.0.1版本*Android Studio以下简称AS一.第一步当然是先运行AS了,如此炫酷...

     

    全文约1500字,阅读大约需要5分钟

    现在我们开始一个“HelloWorld”项目,从此刻开始我们的Android开发之旅。

    *以下操作基于Android Studio v3.0.1版本

    *Android Studio以下简称AS

    一.第一步当然是先运行AS了,如此炫酷的编译器

    二.开始新建项目

    点击“Start a new Android Studio project”

     

    三.填写项目信息

     

     

    1.Application name(应用名称)

    此名称将在手机桌面上显示

    2.Company domain(公司域名)

    如果在企业开发,则填入相应的公司域名,相对于个人来说,就比较随意了,把自己的名字当做公司名称填入就OK了。

    3.Project location(项目位置)

    选择项目的存储文位置

    4.Package name(包名)

    上面的项目都好理解,但是包名是什么意思呢?

    在Android系统中,系统就是根据“包名”来区分不同的应用的,相当于一个应用的身份证号码,和身份证一样,这个名称要具有唯一性。

    AS会根据“Application name”和“Company domain”自动帮我们生成一个“Package name”。如果想自定义,可以点右侧的“Edit”修改。

    5.Include C++ support 和Include Kotlin support

    如果你的项目用到C++或者Kotlin语言,则需要勾选对应选项。

    四.选择开发环境和最低兼容的SDK

     

     

    1.开发环境

    我们可以看到有:

    “Phone and Tablet”(手机与平板电脑)

    “Wear”(穿戴设备)

    “TV”(智能电视)

    “Android Auto”(车载系统)

    “Things”(物联网开发)

    开发环境当然选择“Phone and Tablet”了。

    2.最低兼容的API版本

    其中每一种开发环境,都可以选择最低支持到的API版本,这个选择是根据每个Android OS版本的市场活动份额来决定的,我个人习惯选择“API:22”。

    五.添加活动和选择活动模板

     

     

    1.Add No Activity(不添加活动)

    选择此选项后,则系统不会帮我们自动创建一个Activity。

    在此要知道“Activity”的概念是我们在应用中看到的页面,也就是说,我们看到的每一个页面都是一个“Activity”,我们进行的所有的操作都建立在“Activity”的基础之上。

    2.选择一个模板

    这里我们一般选择“Empty Activity”(空的活动)。

    六.创建一个新的空活动

    1.Activity Name(活动名字)

    采用每个单词首字母大写形式命名。

    2.Generate Layout File(自动创建对应Activity的Layout文件)

    这里要明白“Layout”的概念,每一个“Activity”都对应着一个“Layout”的布局文件。简单地说,我们平常所点击的按钮,使用的文本框等都是在“Layout”的xml文件中添加的,这个按钮的操作逻辑的代码则是在“Activity”的Java文件中编写的。

    “Layout”和“Activity”的关系可以抽象的看做是“骨架”和“灵魂”的关系。

    这里我们勾选,让AS自动帮我们的活动创建一个布局文件。

    3.Layout Name(布局文件名字)

    只能使用小写英文字母,一般采用默认即可。

    4.Backwards Compatiblity(程序的向后兼容性)

    这个选项我们现在不做过多解释,默认勾选即可。

    七.AS开始构建该项目的信息

     

    八.大功告成

    到现在为止我们并没有自己动手写一行代码,然而强大只能的AS已经默默自动帮我们创建好了一行“Hello World”,我们不需要任何改动,现在运行项目到模拟器或者真机就会在窗口中看到一行“Hello World”。

    一旦你习惯了某一种生活之后,就很难回去了。

    堕落或是上进

     

     

    展开全文
  • Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...
  • Android开发-Service(服务)

    千次阅读 2019-03-22 11:14:01
    Android四大组件: 1. 服务的概念 1.1 概念 1.2 适用场景 1.3 继承结构图 2. 服务的生命周期 2.1 定义 Service拥有自己的生命周期,不会被捆绑,即便Activity销毁之后,Service也不会销毁。 2.2 启动类型...
  • 2019最新《Android开发全套学习教程》

    千次阅读 2019-05-18 17:26:26
    从零开发Android视频点播APP》 11课 2017 带领新手快速开发Android App完整版 BAT大咖助力 全面升级Android面试 全程MVP手把手 打造IM即时通讯Android APP(完结) 全新升级 Kotlin系统入门与进阶 Android互动Z播APP...
  • Android studio开发-第一个入门例子(十分详细)

    万次阅读 多人点赞 2018-11-16 23:10:31
    举个栗子 实现功能:可以通过页面输入改变要显示的字符,然后通过按钮可以实现显示字符的放大功能。最终如下: 一共四个控件:一个text输入,一个text显示,一个输入修改确认按钮,一个放大按钮 ...
  • Android开发技术兴起以来,越来越多的年轻人开始投身于Android领域。我们通过网络了解到,在入门Android开发领域时,往往不得其法而浪费大量精力和时间,所以我们为Android开发小白总结了一些要点: 1、基础打...
  • Android开发入门经典实例

    万次阅读 多人点赞 2016-09-25 14:57:22
    androidandroid-studio 0 2  From:...开发实例概述 今天带大家做一个简单的Android App,这个App会显示创新工程实践老师们的照片和信息,不妨先看一看效果: 虽然这个App非常简单,但是涉
  • Android开发精典案例60个【源码】

    千次下载 热门讨论 2013-01-12 15:57:06
    60个Android开发精典案例,好东西 - 给大家分享60个Android开发的精典案例,包含任务监听、设备适配,游戏框架搭建,特效实现,多点触控,网络协议,游戏关卡设置等内容。特别是做游戏开发的朋友值得研究。喜欢就拿...
  • Android开发教程笔记完全版 pdf

    千次下载 热门讨论 2011-11-01 16:02:32
    Android开发教程笔记完全版 pdf.我看了一下,自己感觉可以.
  • Android开发笔记(序)写在前面的目录

    万次阅读 多人点赞 2015-11-24 14:36:06
    知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯;另一方面希望通过分享自己的经验教训,与网友互相切磋,...还有就是有的知识点是java的,只是Android开发也会经常遇上,所以蛮记下来。个人的经验...
  • Android开发该学习哪些东西?

    万次阅读 多人点赞 2017-06-15 14:58:55
    本人也是众多Android开发道路上行走的一员,听了不少大神的知乎live,自己也看了不少书,也和不少前辈交流过,所以在这里分享一下Android开发应该学习的书籍以及知识,当然,也包括一些方法,希望对更多想进入这个...
  • 安卓开发必学书籍(30本合集)

    千次下载 热门讨论 2013-05-03 20:13:42
    中文系列\Android开发指南中文版.rar 中文系列\Android教程.rar 中文系列\Android系统原理与开发要点详解.rar 中文系列\Android编程指南+程序员入门(中文版).7z 中文系列\Sqlite3使用教程.7z 中文系列\...
  • Android开发学习

    千次阅读 多人点赞 2018-05-17 21:18:54
    Android开发学习 Android开发学习 什么是Android开发Android开发用到的工具有哪些? Android开发用到的知识有哪些? Android开发学习路线 Android开发学习资源 什么是Android开发?     Android...
  • [14本经典Android开发教程]-3-Android SDK 中文开发文档 什么是 Android? Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta版的 Android SDK 提供了在Android 平台上...
  • Android开发必备工具

    千次阅读 多人点赞 2020-03-29 17:59:06
    工欲善其事,必先利其器,在...Android程序员的吃饭工具,可以说现在绝大部分的安卓项目都是跑在Android Studio上面的。Android Studio 是基于 IntelliJ IDEA 且适用于开发 Android 应用的官方集成开发环境 (IDE...
  • Android开发常用开源框架

    万次阅读 多人点赞 2018-08-22 11:37:41
    Android开发常用开源框架2 Android开发常用开源框架3 GitHub上最火的Android开源项目,所有开源项目都有详细资料和配套视频 2017年伊始,你需要尝试的25个Android第三方库 Android开发常用第三...
  • 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入...
  • 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入...
  • Android开发最佳学习路线图

    千次阅读 2018-07-06 13:29:15
  • 老罗android视频教程-老罗的android视频-老罗android开发视频教程-老罗安卓开发视频教程   目录如下:  (一)android入门介绍  《老罗Android开发视频教程》第一集:android学习路线图介绍.avi  《老罗...
  • Android开发之拍照功能实现(附源码)

    千次下载 热门讨论 2011-12-03 10:12:09
    Android开发之拍照功能实现(附源码)
  • Android 开发推荐书籍

    千次阅读 2019-06-27 10:39:54
    《Head first Java》作者: Kathy Sierra / Bert Bates简介:《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础...
  • Android开发入门60个小案例+源代码

    千次下载 热门讨论 2013-08-24 06:41:38
    适合初学者,大量简单小例子,完整源代码。
  • unity开发android游戏(一)搭建Unity安卓开发环境

    万次阅读 多人点赞 2014-03-23 16:14:38
    1,下载安装Java的JDK:...2,下载安装Android Studio:Google已经逐步转向Android studio了,我也比较推荐用这种来开发。ps. 2014年刚写这篇文章的时候,用的...
  • Intellj idea 2017 搭建android开发环境

    万次阅读 2018-03-20 13:58:12
    最近项目需要,简单写一个android的应用,本人也是从零开始,搭建开发环境才是开发的基础,研究了几分钟,不是很难,接下来我将简单介绍下开发环境的搭建过程。 首先,下载Inellj idea 2017,百度首页搜索,当前...
  • C/C++在Android开发中的应用

    万次阅读 2017-03-09 09:45:07
    Android是基于Linux内核的一个手机操作系统,谷歌提供了开发包(Android SDK),程序员可以通过开发开发Android App(应用程序)。Android SDK提供Java语言接口,因此Android应用是使用Java开发的。

空空如也

1 2 3 4 5 ... 20
收藏数 887,566
精华内容 355,026
关键字:

android开发