zoukankan      html  css  js  c++  java
  • 安卓初学指南

    在项目的第二阶段遇到挺多坑,所以整理了一下经验,如果你想尝试安卓开发,希望能帮到你。在此之前可以先看我之前写的 初见安卓开发,了解一下我们目前的情况

    预先准备

    1. 需要熟悉 Java 基础语法
    2. 安装开发环境( JDK、AndroidStudio (简称 AS )、虚拟机等),安装环境比较繁琐,而且需要下载很多东西(默认都是安装到 C盘,总共可能会占用 20G 左右的空间)。安装可能会劝退一部分朋友,这里推荐两个教程跟着做就没问题了

    安装AS之前一般会先安装 Java 开发工具包(JDK),可以参考这篇博客【Android Studio安装部署系列】JDK开发环境搭建,比较值得一说的是,现在下载 JDK 要到 Oracle 官网,而且还需要注册账号,有点麻烦。然后开始安装 AS,参考这个视频教程 1# Android Studio开发环境 (Attect) Android开发教程

    1. Android Studio 设置代码提示和代码自动补全快捷键
    2. Android Studio 真机测试/开发者模式

    初学比较常用的快捷键:

    • 智能建议:Alt 回车
    • 代码整理(格式化代码): Ctrl Alt L
    • 注释:Ctrl /
    • 块注释:Ctrl Shift /

    开始学习

    如果没有任何开发经验,比较推荐看视频Android开发教程( 2019最新版,使用 JetPack ),这个教程使用的是 JetPack库,前 40 集使用 Java,从 41 集开始换为了 Kotlin。个人觉得这作者讲的深入浅出,而且教程中也传递了很多规范化的思想,很适合初学者。要注意作者早期视频使用的是内测版本的 ViewModel库,而现在默认自带稳定版,所以不需要手动添加 ViewModel 依赖,视频中使用的 ViewModel 构造方法已过时,应该使用下面这个:

    MyViewModel = myViewModel = new ViewModelProvider(this).get(MyViewModel.class);
    

    初学最好按着教程一步一步来,变量名也最好跟着教程来,这样出错了跟着视频,排错起来也比较容易。一定要跟着敲代码,边敲边理解整个逻辑,刚开始可能比较懵,但是到后面,对整个体系有了一定了解,就会豁然开朗,这个时候可以看看官方文档,这样会加深对安卓开发或是JetPack的理解


    觉得学的差不多了,就可以开始在GitHub上找一些感兴趣的安卓项目(或者是找一些最佳实践),克隆下来,看看别人是怎么写的,模仿这写一写,这个过程会遇到很多问题,解决这些问题,就会收获很大的提升

    遇到的问题

    1. 如果开始使用数据库或者网络相关操作就会遇到不能在主线程(UI线程)上运行这些耗时操作的问题,这个时候一般解决方案就是 new Thread,但是这样的话在 new 出来的线程里操作UI控件会报错:
    Only the original thread that created a view hierarchy can touch its views.
    

    这个时候就需要学习一下 Android 多线程和异步任务,Kotlin的话可以用协程
    2. 涉及网络请求推荐看这个系列,从 Java原生API 到 OkHttp 再到 Retrofit :Android开发基础-网络编程
    3. 如果界面比较复杂,使用系统自带的控件可能无法直接实现我们的需求,这个时候需要写一些自定义控件,推荐这个系列Android开发自定义控件基础课程
    4. 页面跳转会使用到 Jetpack 中的Navigation组件:Jetpack 之 Navigation

    组件库

    安卓有很多成熟的第三方组件库,合理使用可以简化开发,加速开发速度
    在使用这些组件库时需要考虑安全性、稳定性等问题
    推荐这个项目,可以帮助你找到适合的组件库 AndroidLibs

  • 相关阅读:
    系统机制 。。(p118p128)
    POJ3371Flesch Reading Ease
    POJ2187Beauty Contest
    POJ3096Surprising Strings
    POJ3393Lucky and Good Months by Gregorian Calendar
    POJ3007Organize Your Train part II
    POJ1027The Same Game
    POJ1696Space Ant
    POJ1584A Round Peg in a Ground Hole
    POJ1472Instant Complexity
  • 原文地址:https://www.cnblogs.com/aaronlinv/p/13604530.html
Copyright © 2011-2022 走看看